From 3729951b5276dff7ff81504011f7ddcd9c384c5d Mon Sep 17 00:00:00 2001 From: rfc2822 Date: Sat, 5 Oct 2013 02:12:57 +0200 Subject: [PATCH] Calendar improvements * recurring events * classification * status * attendees * ical4j 1.0.4 -> 1.0.5 * remove biweekly (replaced by ical4j) --- .gitignore | 1 - libs/biweekly-0.3.1-javadoc.jar | Bin 2584621 -> 0 bytes .../META-INF/MANIFEST.MF | 6 - .../allclasses-frame.html | 464 -- .../allclasses-noframe.html | 464 -- .../Biweekly.ParserChainJsonReader.html | 351 - .../Biweekly.ParserChainJsonString.html | 337 - .../Biweekly.ParserChainTextReader.html | 374 - .../Biweekly.ParserChainTextString.html | 366 - .../Biweekly.ParserChainXmlDocument.html | 337 - .../Biweekly.ParserChainXmlReader.html | 349 - .../Biweekly.ParserChainXmlString.html | 343 - .../biweekly/Biweekly.WriterChainJson.html | 389 -- .../biweekly/Biweekly.WriterChainText.html | 431 -- .../biweekly/Biweekly.WriterChainXml.html | 444 -- .../biweekly/Biweekly.html | 957 --- .../biweekly/ICalDataType.html | 595 -- .../biweekly/ICalException.html | 265 - .../biweekly/ICalendar.html | 1141 --- .../ValidationWarnings.WarningsGroup.html | 404 -- .../biweekly/ValidationWarnings.html | 465 -- .../Biweekly.ParserChainJsonReader.html | 221 - .../Biweekly.ParserChainJsonString.html | 205 - .../Biweekly.ParserChainTextReader.html | 229 - .../Biweekly.ParserChainTextString.html | 213 - .../Biweekly.ParserChainXmlDocument.html | 205 - .../Biweekly.ParserChainXmlReader.html | 223 - .../Biweekly.ParserChainXmlString.html | 205 - .../class-use/Biweekly.WriterChainJson.html | 197 - .../class-use/Biweekly.WriterChainText.html | 199 - .../class-use/Biweekly.WriterChainXml.html | 222 - .../biweekly/class-use/Biweekly.html | 145 - .../biweekly/class-use/ICalDataType.html | 1265 ---- .../biweekly/class-use/ICalException.html | 254 - .../biweekly/class-use/ICalendar.html | 489 -- .../ValidationWarnings.WarningsGroup.html | 250 - .../class-use/ValidationWarnings.html | 182 - .../component/DaylightSavingsTime.html | 287 - .../biweekly/component/ICalComponent.html | 1072 --- .../biweekly/component/Observance.html | 789 --- .../biweekly/component/RawComponent.html | 289 - .../biweekly/component/StandardTime.html | 287 - .../biweekly/component/VAlarm.html | 994 --- .../biweekly/component/VEvent.html | 2430 ------- .../biweekly/component/VFreeBusy.html | 1087 --- .../biweekly/component/VJournal.html | 1924 ------ .../biweekly/component/VTimezone.html | 618 -- .../biweekly/component/VTodo.html | 2486 ------- .../class-use/DaylightSavingsTime.html | 226 - .../component/class-use/ICalComponent.html | 1115 --- .../component/class-use/Observance.html | 191 - .../component/class-use/RawComponent.html | 251 - .../component/class-use/StandardTime.html | 226 - .../biweekly/component/class-use/VAlarm.html | 298 - .../biweekly/component/class-use/VEvent.html | 226 - .../component/class-use/VFreeBusy.html | 242 - .../component/class-use/VJournal.html | 226 - .../component/class-use/VTimezone.html | 271 - .../biweekly/component/class-use/VTodo.html | 226 - .../component/doc-files/shBrushJava.js | 57 - .../biweekly/component/doc-files/shCore.js | 17 - .../DaylightSavingsTimeMarshaller.html | 292 - .../marshaller/ICalComponentMarshaller.html | 443 -- .../marshaller/ICalendarMarshaller.html | 292 - .../marshaller/RawComponentMarshaller.html | 296 - .../marshaller/StandardTimeMarshaller.html | 292 - .../marshaller/VAlarmMarshaller.html | 292 - .../marshaller/VEventMarshaller.html | 292 - .../marshaller/VFreeBusyMarshaller.html | 319 - .../marshaller/VJournalMarshaller.html | 292 - .../marshaller/VTimezoneMarshaller.html | 292 - .../component/marshaller/VTodoMarshaller.html | 292 - .../DaylightSavingsTimeMarshaller.html | 145 - .../class-use/ICalComponentMarshaller.html | 515 -- .../class-use/ICalendarMarshaller.html | 182 - .../class-use/RawComponentMarshaller.html | 145 - .../class-use/StandardTimeMarshaller.html | 145 - .../class-use/VAlarmMarshaller.html | 145 - .../class-use/VEventMarshaller.html | 145 - .../class-use/VFreeBusyMarshaller.html | 145 - .../class-use/VJournalMarshaller.html | 145 - .../class-use/VTimezoneMarshaller.html | 145 - .../marshaller/class-use/VTodoMarshaller.html | 145 - .../marshaller/doc-files/shBrushJava.js | 57 - .../component/marshaller/doc-files/shCore.js | 17 - .../component/marshaller/package-frame.html | 53 - .../component/marshaller/package-summary.html | 198 - .../component/marshaller/package-tree.html | 156 - .../component/marshaller/package-use.html | 272 - .../biweekly/component/package-frame.html | 53 - .../biweekly/component/package-summary.html | 207 - .../biweekly/component/package-tree.html | 158 - .../biweekly/component/package-use.html | 443 -- .../biweekly/doc-files/shBrushJava.js | 57 - .../biweekly/doc-files/shCore.js | 17 - .../biweekly/io/CannotParseException.html | 271 - .../biweekly/io/ICalMarshallerRegistrar.html | 539 -- .../biweekly/io/SkipMeException.html | 271 - .../io/class-use/CannotParseException.html | 192 - .../io/class-use/ICalMarshallerRegistrar.html | 319 - .../io/class-use/SkipMeException.html | 145 - .../biweekly/io/doc-files/shBrushJava.js | 57 - .../biweekly/io/doc-files/shCore.js | 17 - .../biweekly/io/json/JCalParseException.html | 310 - .../JCalRawReader.JCalDataStreamListener.html | 252 - .../biweekly/io/json/JCalRawReader.html | 374 - .../biweekly/io/json/JCalRawWriter.html | 486 -- .../biweekly/io/json/JCalReader.html | 518 -- .../biweekly/io/json/JCalValue.html | 515 -- .../biweekly/io/json/JCalWriter.html | 622 -- .../biweekly/io/json/JsonValue.html | 436 -- .../io/json/class-use/JCalParseException.html | 145 - .../JCalRawReader.JCalDataStreamListener.html | 181 - .../io/json/class-use/JCalRawReader.html | 145 - .../io/json/class-use/JCalRawWriter.html | 145 - .../io/json/class-use/JCalReader.html | 145 - .../biweekly/io/json/class-use/JCalValue.html | 661 -- .../io/json/class-use/JCalWriter.html | 145 - .../biweekly/io/json/class-use/JsonValue.html | 237 - .../biweekly/io/json/doc-files/shBrushJava.js | 57 - .../biweekly/io/json/doc-files/shCore.js | 17 - .../biweekly/io/json/package-frame.html | 65 - .../biweekly/io/json/package-summary.html | 210 - .../biweekly/io/json/package-tree.html | 172 - .../biweekly/io/json/package-use.html | 202 - .../biweekly/io/package-frame.html | 46 - .../biweekly/io/package-summary.html | 181 - .../biweekly/io/package-tree.html | 163 - .../biweekly/io/package-use.html | 233 - .../biweekly/io/text/FoldedLineReader.html | 404 -- .../biweekly/io/text/FoldedLineWriter.html | 563 -- .../biweekly/io/text/FoldingScheme.html | 336 - .../ICalRawReader.ICalDataStreamListener.html | 329 - .../ICalRawReader.StopReadingException.html | 253 - .../biweekly/io/text/ICalRawReader.html | 496 -- ...wWriter.ParameterValueChangedListener.html | 231 - .../biweekly/io/text/ICalRawWriter.html | 702 -- .../biweekly/io/text/ICalReader.html | 571 -- .../biweekly/io/text/ICalWriter.html | 765 --- .../io/text/class-use/FoldedLineReader.html | 145 - .../io/text/class-use/FoldedLineWriter.html | 145 - .../io/text/class-use/FoldingScheme.html | 276 - .../ICalRawReader.ICalDataStreamListener.html | 181 - .../ICalRawReader.StopReadingException.html | 145 - .../io/text/class-use/ICalRawReader.html | 145 - ...wWriter.ParameterValueChangedListener.html | 199 - .../io/text/class-use/ICalRawWriter.html | 145 - .../io/text/class-use/ICalReader.html | 145 - .../io/text/class-use/ICalWriter.html | 145 - .../biweekly/io/text/doc-files/shBrushJava.js | 57 - .../biweekly/io/text/doc-files/shCore.js | 17 - .../biweekly/io/text/package-frame.html | 69 - .../biweekly/io/text/package-summary.html | 218 - .../biweekly/io/text/package-tree.html | 180 - .../biweekly/io/text/package-use.html | 184 - .../biweekly/io/xml/XCalDocument.html | 876 --- .../biweekly/io/xml/XCalElement.html | 540 -- .../biweekly/io/xml/XCalNamespaceContext.html | 378 - .../io/xml/class-use/XCalDocument.html | 145 - .../io/xml/class-use/XCalElement.html | 588 -- .../xml/class-use/XCalNamespaceContext.html | 145 - .../biweekly/io/xml/doc-files/shBrushJava.js | 57 - .../biweekly/io/xml/doc-files/shCore.js | 17 - .../biweekly/io/xml/package-frame.html | 37 - .../biweekly/io/xml/package-summary.html | 167 - .../biweekly/io/xml/package-tree.html | 155 - .../biweekly/io/xml/package-use.html | 190 - .../biweekly/package-frame.html | 72 - .../biweekly/package-summary.html | 232 - .../biweekly/package-tree.html | 164 - .../biweekly/package-use.html | 456 -- .../biweekly/parameter/CalendarUserType.html | 408 -- .../biweekly/parameter/Encoding.html | 354 - .../parameter/EnumParameterValue.html | 332 - .../biweekly/parameter/FreeBusyType.html | 390 -- .../parameter/ICalParameterCaseClasses.html | 327 - .../biweekly/parameter/ICalParameters.html | 1758 ----- .../parameter/ParticipationStatus.html | 444 -- .../biweekly/parameter/Range.html | 357 - .../biweekly/parameter/Related.html | 354 - .../biweekly/parameter/RelationshipType.html | 373 - .../biweekly/parameter/Role.html | 390 -- .../parameter/class-use/CalendarUserType.html | 328 - .../parameter/class-use/Encoding.html | 255 - .../class-use/EnumParameterValue.html | 256 - .../parameter/class-use/FreeBusyType.html | 363 - .../class-use/ICalParameterCaseClasses.html | 145 - .../parameter/class-use/ICalParameters.html | 1067 --- .../class-use/ParticipationStatus.html | 340 - .../biweekly/parameter/class-use/Range.html | 304 - .../biweekly/parameter/class-use/Related.html | 326 - .../parameter/class-use/RelationshipType.html | 308 - .../biweekly/parameter/class-use/Role.html | 318 - .../parameter/doc-files/shBrushJava.js | 57 - .../biweekly/parameter/doc-files/shCore.js | 17 - .../biweekly/parameter/package-frame.html | 53 - .../biweekly/parameter/package-summary.html | 202 - .../biweekly/parameter/package-tree.html | 161 - .../biweekly/parameter/package-use.html | 367 - .../biweekly/property/Action.html | 480 -- .../biweekly/property/Attachment.html | 510 -- .../biweekly/property/Attendee.html | 868 --- .../biweekly/property/CalendarScale.html | 392 -- .../biweekly/property/Categories.html | 380 - .../biweekly/property/Classification.html | 479 -- .../biweekly/property/Comment.html | 410 -- .../biweekly/property/Completed.html | 296 - .../biweekly/property/Contact.html | 411 -- .../biweekly/property/Created.html | 296 - .../biweekly/property/DateDue.html | 326 - .../biweekly/property/DateEnd.html | 326 - .../property/DateOrDateTimeProperty.html | 660 -- .../biweekly/property/DateStart.html | 354 - .../biweekly/property/DateTimeProperty.html | 287 - .../biweekly/property/DateTimeStamp.html | 305 - .../biweekly/property/Description.html | 412 -- .../biweekly/property/DurationProperty.html | 304 - .../biweekly/property/EnumProperty.html | 373 - .../biweekly/property/ExceptionDates.html | 471 -- .../biweekly/property/ExceptionRule.html | 341 - .../biweekly/property/FreeBusy.html | 440 -- .../biweekly/property/Geo.html | 431 -- .../biweekly/property/ICalProperty.html | 516 -- .../biweekly/property/IntegerProperty.html | 287 - .../biweekly/property/LastModified.html | 297 - .../biweekly/property/ListProperty.html | 387 -- .../biweekly/property/Location.html | 410 -- .../biweekly/property/Method.html | 296 - .../biweekly/property/Organizer.html | 543 -- .../biweekly/property/PercentComplete.html | 338 - .../biweekly/property/Priority.html | 423 -- .../biweekly/property/ProductId.html | 330 - .../biweekly/property/RawProperty.html | 347 - .../biweekly/property/RecurrenceDates.html | 509 -- .../biweekly/property/RecurrenceId.html | 379 - .../biweekly/property/RecurrenceProperty.html | 327 - .../biweekly/property/RecurrenceRule.html | 337 - .../biweekly/property/RelatedTo.html | 350 - .../biweekly/property/Repeat.html | 303 - .../biweekly/property/RequestStatus.html | 525 -- .../biweekly/property/Resources.html | 437 -- .../biweekly/property/Sequence.html | 331 - .../biweekly/property/Status.html | 706 -- .../biweekly/property/Summary.html | 415 -- .../biweekly/property/TextProperty.html | 288 - .../biweekly/property/TimezoneId.html | 311 - .../biweekly/property/TimezoneName.html | 365 - .../biweekly/property/TimezoneOffsetFrom.html | 322 - .../biweekly/property/TimezoneOffsetTo.html | 323 - .../biweekly/property/TimezoneUrl.html | 302 - .../biweekly/property/Transparency.html | 444 -- .../biweekly/property/Trigger.html | 469 -- .../biweekly/property/Uid.html | 329 - .../biweekly/property/Url.html | 295 - .../biweekly/property/UtcOffsetProperty.html | 444 -- .../biweekly/property/ValuedProperty.html | 381 - .../biweekly/property/Version.html | 484 -- .../biweekly/property/Xml.html | 339 - .../biweekly/property/class-use/Action.html | 286 - .../property/class-use/Attachment.html | 357 - .../biweekly/property/class-use/Attendee.html | 353 - .../property/class-use/CalendarScale.html | 255 - .../property/class-use/Categories.html | 315 - .../property/class-use/Classification.html | 327 - .../biweekly/property/class-use/Comment.html | 338 - .../property/class-use/Completed.html | 234 - .../biweekly/property/class-use/Contact.html | 314 - .../biweekly/property/class-use/Created.html | 282 - .../biweekly/property/class-use/DateDue.html | 235 - .../biweekly/property/class-use/DateEnd.html | 259 - .../class-use/DateOrDateTimeProperty.html | 240 - .../property/class-use/DateStart.html | 333 - .../property/class-use/DateTimeProperty.html | 243 - .../property/class-use/DateTimeStamp.html | 342 - .../property/class-use/Description.html | 317 - .../property/class-use/DurationProperty.html | 339 - .../property/class-use/EnumProperty.html | 219 - .../property/class-use/ExceptionDates.html | 344 - .../property/class-use/ExceptionRule.html | 299 - .../biweekly/property/class-use/FreeBusy.html | 315 - .../biweekly/property/class-use/Geo.html | 299 - .../property/class-use/ICalProperty.html | 1280 ---- .../property/class-use/IntegerProperty.html | 239 - .../property/class-use/LastModified.html | 306 - .../property/class-use/ListProperty.html | 238 - .../biweekly/property/class-use/Location.html | 258 - .../biweekly/property/class-use/Method.html | 237 - .../property/class-use/Organizer.html | 335 - .../property/class-use/PercentComplete.html | 234 - .../biweekly/property/class-use/Priority.html | 258 - .../property/class-use/ProductId.html | 263 - .../property/class-use/RawProperty.html | 311 - .../property/class-use/RecurrenceDates.html | 347 - .../property/class-use/RecurrenceId.html | 292 - .../class-use/RecurrenceProperty.html | 220 - .../property/class-use/RecurrenceRule.html | 306 - .../property/class-use/RelatedTo.html | 290 - .../biweekly/property/class-use/Repeat.html | 237 - .../property/class-use/RequestStatus.html | 331 - .../property/class-use/Resources.html | 283 - .../biweekly/property/class-use/Sequence.html | 282 - .../biweekly/property/class-use/Status.html | 346 - .../biweekly/property/class-use/Summary.html | 309 - .../property/class-use/TextProperty.html | 398 -- .../property/class-use/TimezoneId.html | 234 - .../property/class-use/TimezoneName.html | 242 - .../class-use/TimezoneOffsetFrom.html | 235 - .../property/class-use/TimezoneOffsetTo.html | 235 - .../property/class-use/TimezoneUrl.html | 237 - .../property/class-use/Transparency.html | 273 - .../biweekly/property/class-use/Trigger.html | 354 - .../biweekly/property/class-use/Uid.html | 335 - .../biweekly/property/class-use/Url.html | 318 - .../property/class-use/UtcOffsetProperty.html | 221 - .../property/class-use/ValuedProperty.html | 516 -- .../biweekly/property/class-use/Version.html | 315 - .../biweekly/property/class-use/Xml.html | 238 - .../property/doc-files/shBrushJava.js | 57 - .../biweekly/property/doc-files/shCore.js | 17 - .../property/marshaller/ActionMarshaller.html | 321 - .../marshaller/AttachmentMarshaller.html | 638 -- .../marshaller/AttendeeMarshaller.html | 321 - .../marshaller/CalendarScaleMarshaller.html | 321 - .../marshaller/CategoriesMarshaller.html | 333 - .../marshaller/ClassificationMarshaller.html | 321 - .../marshaller/CommentMarshaller.html | 321 - .../marshaller/CompletedMarshaller.html | 321 - .../marshaller/ContactMarshaller.html | 321 - .../marshaller/CreatedMarshaller.html | 321 - .../marshaller/DateDueMarshaller.html | 323 - .../marshaller/DateEndMarshaller.html | 323 - .../DateOrDateTimePropertyMarshaller.html | 630 -- .../marshaller/DateStartMarshaller.html | 323 - .../DateTimePropertyMarshaller.html | 594 -- .../marshaller/DateTimeStampMarshaller.html | 321 - .../marshaller/DescriptionMarshaller.html | 321 - .../DurationPropertyMarshaller.html | 568 -- .../marshaller/ExceptionDatesMarshaller.html | 621 -- .../marshaller/ExceptionRuleMarshaller.html | 325 - .../marshaller/FreeBusyMarshaller.html | 568 -- .../property/marshaller/GeoMarshaller.html | 568 -- .../ICalPropertyMarshaller.DateParser.html | 351 - .../ICalPropertyMarshaller.DateWriter.html | 415 -- .../ICalPropertyMarshaller.ListCallback.html | 221 - .../ICalPropertyMarshaller.Result.html | 297 - ...ertyMarshaller.SemiStructuredIterator.html | 291 - .../ICalPropertyMarshaller.Splitter.html | 336 - ...PropertyMarshaller.StructuredIterator.html | 313 - .../marshaller/ICalPropertyMarshaller.html | 1544 ----- .../marshaller/IntegerPropertyMarshaller.html | 594 -- .../marshaller/LastModifiedMarshaller.html | 321 - .../marshaller/ListPropertyMarshaller.html | 660 -- .../marshaller/LocationMarshaller.html | 321 - .../property/marshaller/MethodMarshaller.html | 321 - .../marshaller/OrganizerMarshaller.html | 321 - .../marshaller/PercentCompleteMarshaller.html | 321 - .../marshaller/PriorityMarshaller.html | 321 - .../marshaller/ProductIdMarshaller.html | 321 - .../marshaller/RawPropertyMarshaller.html | 437 -- .../marshaller/RecurrenceDatesMarshaller.html | 602 -- .../marshaller/RecurrenceIdMarshaller.html | 323 - .../RecurrencePropertyMarshaller.html | 597 -- .../marshaller/RecurrenceRuleMarshaller.html | 325 - .../marshaller/RelatedToMarshaller.html | 321 - .../property/marshaller/RepeatMarshaller.html | 321 - .../marshaller/RequestStatusMarshaller.html | 568 -- .../marshaller/ResourcesMarshaller.html | 333 - .../marshaller/SequenceMarshaller.html | 321 - .../property/marshaller/StatusMarshaller.html | 321 - .../marshaller/SummaryMarshaller.html | 321 - .../TextListPropertyMarshaller.html | 358 - .../marshaller/TextPropertyMarshaller.html | 612 -- .../marshaller/TimezoneIdMarshaller.html | 321 - .../marshaller/TimezoneNameMarshaller.html | 321 - .../TimezoneOffsetFromMarshaller.html | 321 - .../TimezoneOffsetToMarshaller.html | 321 - .../marshaller/TimezoneUrlMarshaller.html | 321 - .../marshaller/TransparencyMarshaller.html | 321 - .../marshaller/TriggerMarshaller.html | 602 -- .../property/marshaller/UidMarshaller.html | 321 - .../property/marshaller/UrlMarshaller.html | 321 - .../UtcOffsetPropertyMarshaller.html | 594 -- .../marshaller/VersionMarshaller.html | 568 -- .../property/marshaller/XmlMarshaller.html | 568 -- .../class-use/ActionMarshaller.html | 145 - .../class-use/AttachmentMarshaller.html | 145 - .../class-use/AttendeeMarshaller.html | 145 - .../class-use/CalendarScaleMarshaller.html | 145 - .../class-use/CategoriesMarshaller.html | 145 - .../class-use/ClassificationMarshaller.html | 145 - .../class-use/CommentMarshaller.html | 145 - .../class-use/CompletedMarshaller.html | 145 - .../class-use/ContactMarshaller.html | 145 - .../class-use/CreatedMarshaller.html | 145 - .../class-use/DateDueMarshaller.html | 145 - .../class-use/DateEndMarshaller.html | 145 - .../DateOrDateTimePropertyMarshaller.html | 205 - .../class-use/DateStartMarshaller.html | 145 - .../class-use/DateTimePropertyMarshaller.html | 205 - .../class-use/DateTimeStampMarshaller.html | 145 - .../class-use/DescriptionMarshaller.html | 145 - .../class-use/DurationPropertyMarshaller.html | 145 - .../class-use/ExceptionDatesMarshaller.html | 145 - .../class-use/ExceptionRuleMarshaller.html | 145 - .../class-use/FreeBusyMarshaller.html | 145 - .../marshaller/class-use/GeoMarshaller.html | 145 - .../ICalPropertyMarshaller.DateParser.html | 208 - .../ICalPropertyMarshaller.DateWriter.html | 232 - .../ICalPropertyMarshaller.ListCallback.html | 189 - .../ICalPropertyMarshaller.Result.html | 202 - ...ertyMarshaller.SemiStructuredIterator.html | 190 - .../ICalPropertyMarshaller.Splitter.html | 206 - ...PropertyMarshaller.StructuredIterator.html | 189 - .../class-use/ICalPropertyMarshaller.html | 899 --- .../class-use/IntegerPropertyMarshaller.html | 205 - .../class-use/LastModifiedMarshaller.html | 145 - .../class-use/ListPropertyMarshaller.html | 205 - .../class-use/LocationMarshaller.html | 145 - .../class-use/MethodMarshaller.html | 145 - .../class-use/OrganizerMarshaller.html | 145 - .../class-use/PercentCompleteMarshaller.html | 145 - .../class-use/PriorityMarshaller.html | 145 - .../class-use/ProductIdMarshaller.html | 145 - .../class-use/RawPropertyMarshaller.html | 145 - .../class-use/RecurrenceDatesMarshaller.html | 145 - .../class-use/RecurrenceIdMarshaller.html | 145 - .../RecurrencePropertyMarshaller.html | 189 - .../class-use/RecurrenceRuleMarshaller.html | 145 - .../class-use/RelatedToMarshaller.html | 145 - .../class-use/RepeatMarshaller.html | 145 - .../class-use/RequestStatusMarshaller.html | 145 - .../class-use/ResourcesMarshaller.html | 145 - .../class-use/SequenceMarshaller.html | 145 - .../class-use/StatusMarshaller.html | 145 - .../class-use/SummaryMarshaller.html | 145 - .../class-use/TextListPropertyMarshaller.html | 189 - .../class-use/TextPropertyMarshaller.html | 333 - .../class-use/TimezoneIdMarshaller.html | 145 - .../class-use/TimezoneNameMarshaller.html | 145 - .../TimezoneOffsetFromMarshaller.html | 145 - .../class-use/TimezoneOffsetToMarshaller.html | 145 - .../class-use/TimezoneUrlMarshaller.html | 145 - .../class-use/TransparencyMarshaller.html | 145 - .../class-use/TriggerMarshaller.html | 145 - .../marshaller/class-use/UidMarshaller.html | 145 - .../marshaller/class-use/UrlMarshaller.html | 145 - .../UtcOffsetPropertyMarshaller.html | 189 - .../class-use/VersionMarshaller.html | 145 - .../marshaller/class-use/XmlMarshaller.html | 145 - .../marshaller/doc-files/shBrushJava.js | 57 - .../property/marshaller/doc-files/shCore.js | 17 - .../property/marshaller/package-frame.html | 170 - .../property/marshaller/package-summary.html | 426 -- .../property/marshaller/package-tree.html | 177 - .../property/marshaller/package-use.html | 358 - .../biweekly/property/package-frame.html | 149 - .../biweekly/property/package-summary.html | 462 -- .../biweekly/property/package-tree.html | 174 - .../biweekly/property/package-use.html | 1213 ---- .../biweekly/util/Base64.html | 254 - .../biweekly/util/CaseClasses.html | 443 -- .../biweekly/util/DateTimeComponents.html | 606 -- .../biweekly/util/Duration.Builder.html | 415 -- .../biweekly/util/Duration.html | 607 -- .../biweekly/util/ICalDateFormatter.html | 382 -- .../biweekly/util/ICalFloatFormatter.html | 324 - .../biweekly/util/IOUtils.html | 456 -- .../biweekly/util/ISOFormat.html | 530 -- .../biweekly/util/ListMultimap.html | 805 --- .../biweekly/util/Period.html | 397 -- .../biweekly/util/Recurrence.Builder.html | 673 -- .../biweekly/util/Recurrence.DayOfWeek.html | 458 -- .../biweekly/util/Recurrence.Frequency.html | 414 -- .../biweekly/util/Recurrence.html | 679 -- .../util/StringUtils.JoinCallback.html | 223 - .../util/StringUtils.JoinMapCallback.html | 225 - .../biweekly/util/StringUtils.html | 437 -- .../biweekly/util/UtcOffset.html | 410 -- .../biweekly/util/XmlUtils.html | 488 -- .../biweekly/util/class-use/Base64.html | 145 - .../biweekly/util/class-use/CaseClasses.html | 182 - .../util/class-use/DateTimeComponents.html | 312 - .../util/class-use/Duration.Builder.html | 229 - .../biweekly/util/class-use/Duration.html | 376 - .../util/class-use/ICalDateFormatter.html | 145 - .../util/class-use/ICalFloatFormatter.html | 145 - .../biweekly/util/class-use/IOUtils.html | 145 - .../biweekly/util/class-use/ISOFormat.html | 217 - .../biweekly/util/class-use/ListMultimap.html | 343 - .../biweekly/util/class-use/Period.html | 230 - .../util/class-use/Recurrence.Builder.html | 312 - .../util/class-use/Recurrence.DayOfWeek.html | 255 - .../util/class-use/Recurrence.Frequency.html | 228 - .../biweekly/util/class-use/Recurrence.html | 359 - .../class-use/StringUtils.JoinCallback.html | 208 - .../StringUtils.JoinMapCallback.html | 190 - .../biweekly/util/class-use/StringUtils.html | 145 - .../biweekly/util/class-use/UtcOffset.html | 313 - .../biweekly/util/class-use/XmlUtils.html | 145 - .../biweekly/util/doc-files/shBrushJava.js | 57 - .../biweekly/util/doc-files/shCore.js | 17 - .../biweekly/util/package-frame.html | 89 - .../biweekly/util/package-summary.html | 261 - .../biweekly/util/package-tree.html | 177 - .../biweekly/util/package-use.html | 412 -- .../constant-values.html | 317 - .../deprecated-list.html | 147 - libs/biweekly-0.3.1-javadoc/help-doc.html | 224 - libs/biweekly-0.3.1-javadoc/index-all.html | 5696 --------------- .../overview-frame.html | 63 - .../overview-summary.html | 197 - .../biweekly-0.3.1-javadoc/overview-tree.html | 253 - libs/biweekly-0.3.1-javadoc/package-list | 11 - .../serialized-form.html | 276 - .../Biweekly.ParserChainJsonReader.html | 1542 ----- .../Biweekly.ParserChainJsonString.html | 1542 ----- .../Biweekly.ParserChainTextReader.html | 1542 ----- .../Biweekly.ParserChainTextString.html | 1542 ----- .../Biweekly.ParserChainXmlDocument.html | 1542 ----- .../Biweekly.ParserChainXmlReader.html | 1542 ----- .../Biweekly.ParserChainXmlString.html | 1542 ----- .../biweekly/Biweekly.WriterChainJson.html | 1542 ----- .../biweekly/Biweekly.WriterChainText.html | 1542 ----- .../biweekly/Biweekly.WriterChainXml.html | 1542 ----- .../src-html/biweekly/Biweekly.html | 1542 ----- .../src-html/biweekly/ICalDataType.html | 179 - .../src-html/biweekly/ICalException.html | 107 - .../src-html/biweekly/ICalendar.html | 523 -- .../ValidationWarnings.WarningsGroup.html | 359 - .../src-html/biweekly/ValidationWarnings.html | 359 - .../component/DaylightSavingsTime.html | 117 - .../biweekly/component/ICalComponent.html | 502 -- .../biweekly/component/Observance.html | 363 - .../biweekly/component/RawComponent.html | 108 - .../biweekly/component/StandardTime.html | 117 - .../src-html/biweekly/component/VAlarm.html | 552 -- .../src-html/biweekly/component/VEvent.html | 1247 ---- .../biweekly/component/VFreeBusy.html | 570 -- .../src-html/biweekly/component/VJournal.html | 973 --- .../biweekly/component/VTimezone.html | 277 - .../src-html/biweekly/component/VTodo.html | 1260 ---- .../DaylightSavingsTimeMarshaller.html | 108 - .../marshaller/ICalComponentMarshaller.html | 175 - .../marshaller/ICalendarMarshaller.html | 108 - .../marshaller/RawComponentMarshaller.html | 112 - .../marshaller/StandardTimeMarshaller.html | 108 - .../marshaller/VAlarmMarshaller.html | 108 - .../marshaller/VEventMarshaller.html | 108 - .../marshaller/VFreeBusyMarshaller.html | 175 - .../marshaller/VJournalMarshaller.html | 108 - .../marshaller/VTimezoneMarshaller.html | 108 - .../component/marshaller/VTodoMarshaller.html | 108 - .../biweekly/io/CannotParseException.html | 118 - .../biweekly/io/ICalMarshallerRegistrar.html | 468 -- .../src-html/biweekly/io/SkipMeException.html | 119 - .../biweekly/io/json/JCalParseException.html | 134 - .../JCalRawReader.JCalDataStreamListener.html | 370 - .../biweekly/io/json/JCalRawReader.html | 370 - .../biweekly/io/json/JCalRawWriter.html | 396 -- .../src-html/biweekly/io/json/JCalReader.html | 361 - .../src-html/biweekly/io/json/JCalValue.html | 419 -- .../src-html/biweekly/io/json/JCalWriter.html | 340 - .../src-html/biweekly/io/json/JsonValue.html | 232 - .../biweekly/io/text/FoldedLineReader.html | 205 - .../biweekly/io/text/FoldedLineWriter.html | 262 - .../biweekly/io/text/FoldingScheme.html | 142 - .../ICalRawReader.ICalDataStreamListener.html | 402 -- .../ICalRawReader.StopReadingException.html | 402 -- .../biweekly/io/text/ICalRawReader.html | 402 -- ...wWriter.ParameterValueChangedListener.html | 519 -- .../biweekly/io/text/ICalRawWriter.html | 519 -- .../src-html/biweekly/io/text/ICalReader.html | 448 -- .../src-html/biweekly/io/text/ICalWriter.html | 411 -- .../biweekly/io/xml/XCalDocument.html | 809 --- .../src-html/biweekly/io/xml/XCalElement.html | 289 - .../biweekly/io/xml/XCalNamespaceContext.html | 152 - .../biweekly/parameter/CalendarUserType.html | 143 - .../src-html/biweekly/parameter/Encoding.html | 141 - .../parameter/EnumParameterValue.html | 124 - .../biweekly/parameter/FreeBusyType.html | 142 - .../parameter/ICalParameterCaseClasses.html | 125 - .../biweekly/parameter/ICalParameters.html | 691 -- .../parameter/ParticipationStatus.html | 145 - .../src-html/biweekly/parameter/Range.html | 147 - .../src-html/biweekly/parameter/Related.html | 141 - .../biweekly/parameter/RelationshipType.html | 144 - .../src-html/biweekly/parameter/Role.html | 145 - .../src-html/biweekly/property/Action.html | 189 - .../biweekly/property/Attachment.html | 215 - .../src-html/biweekly/property/Attendee.html | 332 - .../biweekly/property/CalendarScale.html | 151 - .../biweekly/property/Categories.html | 145 - .../biweekly/property/Classification.html | 188 - .../src-html/biweekly/property/Comment.html | 137 - .../src-html/biweekly/property/Completed.html | 120 - .../src-html/biweekly/property/Contact.html | 145 - .../src-html/biweekly/property/Created.html | 120 - .../src-html/biweekly/property/DateDue.html | 140 - .../src-html/biweekly/property/DateEnd.html | 140 - .../property/DateOrDateTimeProperty.html | 224 - .../src-html/biweekly/property/DateStart.html | 160 - .../biweekly/property/DateTimeProperty.html | 108 - .../biweekly/property/DateTimeStamp.html | 129 - .../biweekly/property/Description.html | 140 - .../biweekly/property/DurationProperty.html | 132 - .../biweekly/property/EnumProperty.html | 145 - .../biweekly/property/ExceptionDates.html | 180 - .../biweekly/property/ExceptionRule.html | 134 - .../src-html/biweekly/property/FreeBusy.html | 201 - .../src-html/biweekly/property/Geo.html | 180 - .../biweekly/property/ICalProperty.html | 378 - .../biweekly/property/IntegerProperty.html | 106 - .../biweekly/property/LastModified.html | 121 - .../biweekly/property/ListProperty.html | 155 - .../src-html/biweekly/property/Location.html | 137 - .../src-html/biweekly/property/Method.html | 118 - .../src-html/biweekly/property/Organizer.html | 186 - .../biweekly/property/PercentComplete.html | 132 - .../src-html/biweekly/property/Priority.html | 171 - .../src-html/biweekly/property/ProductId.html | 131 - .../biweekly/property/RawProperty.html | 126 - .../biweekly/property/RecurrenceDates.html | 206 - .../biweekly/property/RecurrenceId.html | 159 - .../biweekly/property/RecurrenceProperty.html | 127 - .../biweekly/property/RecurrenceRule.html | 136 - .../src-html/biweekly/property/RelatedTo.html | 140 - .../src-html/biweekly/property/Repeat.html | 125 - .../biweekly/property/RequestStatus.html | 218 - .../src-html/biweekly/property/Resources.html | 157 - .../src-html/biweekly/property/Sequence.html | 134 - .../src-html/biweekly/property/Status.html | 277 - .../src-html/biweekly/property/Summary.html | 142 - .../biweekly/property/TextProperty.html | 107 - .../biweekly/property/TimezoneId.html | 135 - .../biweekly/property/TimezoneName.html | 137 - .../biweekly/property/TimezoneOffsetFrom.html | 136 - .../biweekly/property/TimezoneOffsetTo.html | 137 - .../biweekly/property/TimezoneUrl.html | 124 - .../biweekly/property/Transparency.html | 178 - .../src-html/biweekly/property/Trigger.html | 201 - .../src-html/biweekly/property/Uid.html | 131 - .../src-html/biweekly/property/Url.html | 117 - .../biweekly/property/UtcOffsetProperty.html | 143 - .../biweekly/property/ValuedProperty.html | 137 - .../src-html/biweekly/property/Version.html | 204 - .../src-html/biweekly/property/Xml.html | 149 - .../property/marshaller/ActionMarshaller.html | 109 - .../marshaller/AttachmentMarshaller.html | 214 - .../marshaller/AttendeeMarshaller.html | 110 - .../marshaller/CalendarScaleMarshaller.html | 109 - .../marshaller/CategoriesMarshaller.html | 111 - .../marshaller/ClassificationMarshaller.html | 109 - .../marshaller/CommentMarshaller.html | 109 - .../marshaller/CompletedMarshaller.html | 112 - .../marshaller/ContactMarshaller.html | 109 - .../marshaller/CreatedMarshaller.html | 111 - .../marshaller/DateDueMarshaller.html | 112 - .../marshaller/DateEndMarshaller.html | 112 - .../DateOrDateTimePropertyMarshaller.html | 222 - .../marshaller/DateStartMarshaller.html | 112 - .../DateTimePropertyMarshaller.html | 178 - .../marshaller/DateTimeStampMarshaller.html | 112 - .../marshaller/DescriptionMarshaller.html | 109 - .../DurationPropertyMarshaller.html | 179 - .../marshaller/ExceptionDatesMarshaller.html | 190 - .../marshaller/ExceptionRuleMarshaller.html | 110 - .../marshaller/FreeBusyMarshaller.html | 292 - .../property/marshaller/GeoMarshaller.html | 226 - .../ICalPropertyMarshaller.DateParser.html | 1330 ---- .../ICalPropertyMarshaller.DateWriter.html | 1330 ---- .../ICalPropertyMarshaller.ListCallback.html | 1330 ---- .../ICalPropertyMarshaller.Result.html | 1330 ---- ...ertyMarshaller.SemiStructuredIterator.html | 1330 ---- .../ICalPropertyMarshaller.Splitter.html | 1330 ---- ...PropertyMarshaller.StructuredIterator.html | 1330 ---- .../marshaller/ICalPropertyMarshaller.html | 1330 ---- .../marshaller/IntegerPropertyMarshaller.html | 175 - .../marshaller/LastModifiedMarshaller.html | 112 - .../marshaller/ListPropertyMarshaller.html | 180 - .../marshaller/LocationMarshaller.html | 109 - .../property/marshaller/MethodMarshaller.html | 109 - .../marshaller/OrganizerMarshaller.html | 110 - .../marshaller/PercentCompleteMarshaller.html | 109 - .../marshaller/PriorityMarshaller.html | 109 - .../marshaller/ProductIdMarshaller.html | 109 - .../marshaller/RawPropertyMarshaller.html | 155 - .../marshaller/RecurrenceDatesMarshaller.html | 379 - .../marshaller/RecurrenceIdMarshaller.html | 112 - .../RecurrencePropertyMarshaller.html | 524 -- .../marshaller/RecurrenceRuleMarshaller.html | 110 - .../marshaller/RelatedToMarshaller.html | 109 - .../property/marshaller/RepeatMarshaller.html | 109 - .../marshaller/RequestStatusMarshaller.html | 171 - .../marshaller/ResourcesMarshaller.html | 111 - .../marshaller/SequenceMarshaller.html | 109 - .../property/marshaller/StatusMarshaller.html | 109 - .../marshaller/SummaryMarshaller.html | 109 - .../TextListPropertyMarshaller.html | 119 - .../marshaller/TextPropertyMarshaller.html | 158 - .../marshaller/TimezoneIdMarshaller.html | 109 - .../marshaller/TimezoneNameMarshaller.html | 109 - .../TimezoneOffsetFromMarshaller.html | 110 - .../TimezoneOffsetToMarshaller.html | 110 - .../marshaller/TimezoneUrlMarshaller.html | 110 - .../marshaller/TransparencyMarshaller.html | 109 - .../marshaller/TriggerMarshaller.html | 227 - .../property/marshaller/UidMarshaller.html | 109 - .../property/marshaller/UrlMarshaller.html | 110 - .../UtcOffsetPropertyMarshaller.html | 180 - .../marshaller/VersionMarshaller.html | 163 - .../property/marshaller/XmlMarshaller.html | 191 - .../src-html/biweekly/util/Base64.html | 145 - .../src-html/biweekly/util/CaseClasses.html | 228 - .../biweekly/util/DateTimeComponents.html | 352 - .../biweekly/util/Duration.Builder.html | 536 -- .../src-html/biweekly/util/Duration.html | 536 -- .../biweekly/util/ICalDateFormatter.html | 242 - .../biweekly/util/ICalFloatFormatter.html | 127 - .../src-html/biweekly/util/IOUtils.html | 238 - .../src-html/biweekly/util/ISOFormat.html | 213 - .../src-html/biweekly/util/ListMultimap.html | 361 - .../src-html/biweekly/util/Period.html | 202 - .../biweekly/util/Recurrence.Builder.html | 724 -- .../biweekly/util/Recurrence.DayOfWeek.html | 724 -- .../biweekly/util/Recurrence.Frequency.html | 724 -- .../src-html/biweekly/util/Recurrence.html | 724 -- .../util/StringUtils.JoinCallback.html | 204 - .../util/StringUtils.JoinMapCallback.html | 204 - .../src-html/biweekly/util/StringUtils.html | 204 - .../src-html/biweekly/util/UtcOffset.html | 229 - .../src-html/biweekly/util/XmlUtils.html | 327 - .../syntaxhighlighter.css | 352 - libs/biweekly-0.3.1.jar | Bin 328180 -> 0 bytes .../docs/apidocs/allclasses-frame.html | 410 -- .../docs/apidocs/allclasses-noframe.html | 410 -- .../docs/apidocs/constant-values.html | 1285 ---- .../docs/apidocs/deprecated-list.html | 229 - libs/ical4j-1.0.4/docs/apidocs/help-doc.html | 224 - libs/ical4j-1.0.4/docs/apidocs/index-all.html | 5368 --------------- libs/ical4j-1.0.4/docs/apidocs/index.html | 40 - .../ical4j/data/AbstractOutputter.html | 384 -- .../fortuna/ical4j/data/CalendarBuilder.html | 534 -- .../ical4j/data/CalendarOutputter.html | 366 - .../fortuna/ical4j/data/CalendarParser.html | 261 - .../ical4j/data/CalendarParserFactory.html | 336 - .../ical4j/data/CalendarParserImpl.html | 313 - .../fortuna/ical4j/data/ContentHandler.html | 382 -- .../data/DefaultCalendarParserFactory.html | 301 - .../fortuna/ical4j/data/FoldingWriter.html | 454 -- .../fortuna/ical4j/data/HCalendarParser.html | 362 - .../ical4j/data/HCalendarParserFactory.html | 301 - .../fortuna/ical4j/data/ParserException.html | 324 - .../fortuna/ical4j/data/UnfoldingReader.html | 442 -- .../data/class-use/AbstractOutputter.html | 182 - .../data/class-use/CalendarBuilder.html | 145 - .../data/class-use/CalendarOutputter.html | 145 - .../ical4j/data/class-use/CalendarParser.html | 255 - .../data/class-use/CalendarParserFactory.html | 208 - .../data/class-use/CalendarParserImpl.html | 145 - .../ical4j/data/class-use/ContentHandler.html | 227 - .../DefaultCalendarParserFactory.html | 145 - .../ical4j/data/class-use/FoldingWriter.html | 145 - .../data/class-use/HCalendarParser.html | 145 - .../class-use/HCalendarParserFactory.html | 145 - .../data/class-use/ParserException.html | 288 - .../data/class-use/UnfoldingReader.html | 181 - .../fortuna/ical4j/data/package-frame.html | 75 - .../fortuna/ical4j/data/package-summary.html | 260 - .../net/fortuna/ical4j/data/package-tree.html | 182 - .../net/fortuna/ical4j/data/package-use.html | 231 - .../ical4j/filter/AbstractDateRule.html | 292 - .../fortuna/ical4j/filter/ComponentRule.html | 300 - .../ical4j/filter/DateInRangeRule.html | 280 - .../net/fortuna/ical4j/filter/Filter.html | 420 -- .../ical4j/filter/HasPropertyRule.html | 311 - .../net/fortuna/ical4j/filter/PeriodRule.html | 288 - .../net/fortuna/ical4j/filter/Rule.html | 225 - .../filter/class-use/AbstractDateRule.html | 181 - .../filter/class-use/ComponentRule.html | 197 - .../filter/class-use/DateInRangeRule.html | 145 - .../ical4j/filter/class-use/Filter.html | 145 - .../filter/class-use/HasPropertyRule.html | 145 - .../ical4j/filter/class-use/PeriodRule.html | 145 - .../fortuna/ical4j/filter/class-use/Rule.html | 279 - .../fortuna/ical4j/filter/package-frame.html | 54 - .../ical4j/filter/package-summary.html | 227 - .../fortuna/ical4j/filter/package-tree.html | 165 - .../fortuna/ical4j/filter/package-use.html | 191 - .../ical4j/model/AbstractContentFactory.html | 338 - .../net/fortuna/ical4j/model/AddressList.html | 413 -- .../net/fortuna/ical4j/model/Calendar.html | 822 --- .../model/CalendarDateFormatFactory.html | 235 - .../ical4j/model/CalendarException.html | 262 - .../net/fortuna/ical4j/model/Component.html | 851 --- .../ical4j/model/ComponentFactory.html | 322 - .../fortuna/ical4j/model/ComponentList.html | 500 -- .../model/ConstraintViolationException.html | 269 - .../net/fortuna/ical4j/model/Content.html | 299 - .../net/fortuna/ical4j/model/Date.html | 433 -- .../net/fortuna/ical4j/model/DateList.html | 1132 --- .../net/fortuna/ical4j/model/DateRange.html | 537 -- .../net/fortuna/ical4j/model/DateTime.html | 700 -- .../model/DefaultTimeZoneRegistryFactory.html | 299 - .../apidocs/net/fortuna/ical4j/model/Dur.html | 675 -- .../net/fortuna/ical4j/model/Escapable.html | 185 - .../ical4j/model/IndexedComponentList.html | 303 - .../ical4j/model/IndexedPropertyList.html | 303 - .../net/fortuna/ical4j/model/Iso8601.html | 386 -- .../ical4j/model/LocationTypeList.html | 410 -- .../net/fortuna/ical4j/model/NumberList.html | 465 -- .../net/fortuna/ical4j/model/Parameter.html | 949 --- .../ical4j/model/ParameterFactory.html | 240 - .../ical4j/model/ParameterFactoryImpl.html | 318 - .../model/ParameterFactoryRegistry.html | 282 - .../fortuna/ical4j/model/ParameterList.html | 583 -- .../net/fortuna/ical4j/model/Period.html | 686 -- .../net/fortuna/ical4j/model/PeriodList.html | 947 --- .../net/fortuna/ical4j/model/Property.html | 1766 ----- .../fortuna/ical4j/model/PropertyFactory.html | 266 - .../ical4j/model/PropertyFactoryImpl.html | 349 - .../ical4j/model/PropertyFactoryRegistry.html | 282 - .../fortuna/ical4j/model/PropertyList.html | 500 -- .../net/fortuna/ical4j/model/Recur.html | 1135 --- .../net/fortuna/ical4j/model/TextList.html | 426 -- .../net/fortuna/ical4j/model/Time.html | 429 -- .../net/fortuna/ical4j/model/TimeZone.html | 461 -- .../ical4j/model/TimeZoneRegistry.html | 299 - .../ical4j/model/TimeZoneRegistryFactory.html | 334 - .../ical4j/model/TimeZoneRegistryImpl.html | 377 - .../net/fortuna/ical4j/model/UtcOffset.html | 362 - .../ical4j/model/ValidationException.html | 289 - .../net/fortuna/ical4j/model/Validator.html | 222 - .../net/fortuna/ical4j/model/WeekDay.html | 680 -- .../net/fortuna/ical4j/model/WeekDayList.html | 439 -- .../class-use/AbstractContentFactory.html | 205 - .../ical4j/model/class-use/AddressList.html | 223 - .../ical4j/model/class-use/Calendar.html | 441 -- .../class-use/CalendarDateFormatFactory.html | 145 - .../model/class-use/CalendarException.html | 145 - .../ical4j/model/class-use/Component.html | 594 -- .../model/class-use/ComponentFactory.html | 181 - .../ical4j/model/class-use/ComponentList.html | 393 -- .../ConstraintViolationException.html | 181 - .../ical4j/model/class-use/Content.html | 1207 ---- .../fortuna/ical4j/model/class-use/Date.html | 620 -- .../ical4j/model/class-use/DateList.html | 312 - .../ical4j/model/class-use/DateRange.html | 259 - .../ical4j/model/class-use/DateTime.html | 379 - .../DefaultTimeZoneRegistryFactory.html | 145 - .../fortuna/ical4j/model/class-use/Dur.html | 384 -- .../ical4j/model/class-use/Escapable.html | 420 -- .../model/class-use/IndexedComponentList.html | 145 - .../model/class-use/IndexedPropertyList.html | 145 - .../ical4j/model/class-use/Iso8601.html | 209 - .../model/class-use/LocationTypeList.html | 202 - .../ical4j/model/class-use/NumberList.html | 237 - .../ical4j/model/class-use/Parameter.html | 570 -- .../model/class-use/ParameterFactory.html | 221 - .../model/class-use/ParameterFactoryImpl.html | 197 - .../class-use/ParameterFactoryRegistry.html | 182 - .../ical4j/model/class-use/ParameterList.html | 1015 --- .../ical4j/model/class-use/Period.html | 275 - .../ical4j/model/class-use/PeriodList.html | 353 - .../ical4j/model/class-use/Property.html | 1183 ---- .../model/class-use/PropertyFactory.html | 320 - .../model/class-use/PropertyFactoryImpl.html | 197 - .../class-use/PropertyFactoryRegistry.html | 182 - .../ical4j/model/class-use/PropertyList.html | 470 -- .../fortuna/ical4j/model/class-use/Recur.html | 239 - .../ical4j/model/class-use/TextList.html | 223 - .../fortuna/ical4j/model/class-use/Time.html | 145 - .../ical4j/model/class-use/TimeZone.html | 472 -- .../model/class-use/TimeZoneRegistry.html | 268 - .../class-use/TimeZoneRegistryFactory.html | 201 - .../model/class-use/TimeZoneRegistryImpl.html | 145 - .../ical4j/model/class-use/UtcOffset.html | 247 - .../model/class-use/ValidationException.html | 1029 --- .../ical4j/model/class-use/Validator.html | 269 - .../ical4j/model/class-use/WeekDay.html | 319 - .../ical4j/model/class-use/WeekDayList.html | 181 - .../ical4j/model/component/Available.html | 360 - .../model/component/CalendarComponent.html | 581 -- .../ical4j/model/component/Daylight.html | 328 - .../ical4j/model/component/Observance.html | 472 -- .../ical4j/model/component/Standard.html | 328 - .../ical4j/model/component/VAlarm.html | 698 -- .../ical4j/model/component/VAvailability.html | 475 -- .../ical4j/model/component/VEvent.html | 1203 ---- .../ical4j/model/component/VFreeBusy.html | 750 -- .../ical4j/model/component/VJournal.html | 702 -- .../ical4j/model/component/VTimeZone.html | 677 -- .../fortuna/ical4j/model/component/VToDo.html | 1022 --- .../ical4j/model/component/VVenue.html | 432 -- .../ical4j/model/component/XComponent.html | 372 - .../model/component/class-use/Available.html | 145 - .../class-use/CalendarComponent.html | 265 - .../model/component/class-use/Daylight.html | 145 - .../model/component/class-use/Observance.html | 209 - .../model/component/class-use/Standard.html | 145 - .../model/component/class-use/VAlarm.html | 145 - .../component/class-use/VAvailability.html | 145 - .../model/component/class-use/VEvent.html | 181 - .../model/component/class-use/VFreeBusy.html | 181 - .../model/component/class-use/VJournal.html | 145 - .../model/component/class-use/VTimeZone.html | 195 - .../model/component/class-use/VToDo.html | 145 - .../model/component/class-use/VVenue.html | 145 - .../model/component/class-use/XComponent.html | 145 - .../ical4j/model/component/package-frame.html | 59 - .../model/component/package-summary.html | 257 - .../ical4j/model/component/package-tree.html | 161 - .../ical4j/model/component/package-use.html | 220 - .../fortuna/ical4j/model/package-frame.html | 141 - .../fortuna/ical4j/model/package-summary.html | 485 -- .../fortuna/ical4j/model/package-tree.html | 221 - .../net/fortuna/ical4j/model/package-use.html | 929 --- .../ical4j/model/parameter/Abbrev.html | 303 - .../ical4j/model/parameter/AltRep.html | 342 - .../fortuna/ical4j/model/parameter/Cn.html | 303 - .../ical4j/model/parameter/CuType.html | 412 -- .../ical4j/model/parameter/DelegatedFrom.html | 367 - .../ical4j/model/parameter/DelegatedTo.html | 367 - .../fortuna/ical4j/model/parameter/Dir.html | 342 - .../ical4j/model/parameter/Encoding.html | 452 -- .../ical4j/model/parameter/FbType.html | 392 -- .../ical4j/model/parameter/FmtType.html | 303 - .../ical4j/model/parameter/Language.html | 303 - .../ical4j/model/parameter/Member.html | 367 - .../ical4j/model/parameter/PartStat.html | 452 -- .../fortuna/ical4j/model/parameter/Range.html | 352 - .../ical4j/model/parameter/RelType.html | 372 - .../ical4j/model/parameter/Related.html | 352 - .../fortuna/ical4j/model/parameter/Role.html | 392 -- .../fortuna/ical4j/model/parameter/Rsvp.html | 413 -- .../ical4j/model/parameter/ScheduleAgent.html | 362 - .../model/parameter/ScheduleStatus.html | 299 - .../ical4j/model/parameter/SentBy.html | 342 - .../fortuna/ical4j/model/parameter/Type.html | 303 - .../fortuna/ical4j/model/parameter/TzId.html | 332 - .../fortuna/ical4j/model/parameter/Value.html | 592 -- .../ical4j/model/parameter/Vvenue.html | 303 - .../ical4j/model/parameter/XParameter.html | 305 - .../model/parameter/class-use/Abbrev.html | 145 - .../model/parameter/class-use/AltRep.html | 145 - .../ical4j/model/parameter/class-use/Cn.html | 145 - .../model/parameter/class-use/CuType.html | 213 - .../parameter/class-use/DelegatedFrom.html | 145 - .../parameter/class-use/DelegatedTo.html | 145 - .../ical4j/model/parameter/class-use/Dir.html | 145 - .../model/parameter/class-use/Encoding.html | 298 - .../model/parameter/class-use/FbType.html | 205 - .../model/parameter/class-use/FmtType.html | 145 - .../model/parameter/class-use/Language.html | 145 - .../model/parameter/class-use/Member.html | 145 - .../model/parameter/class-use/PartStat.html | 229 - .../model/parameter/class-use/Range.html | 189 - .../model/parameter/class-use/RelType.html | 197 - .../model/parameter/class-use/Related.html | 189 - .../model/parameter/class-use/Role.html | 205 - .../model/parameter/class-use/Rsvp.html | 189 - .../parameter/class-use/ScheduleAgent.html | 197 - .../parameter/class-use/ScheduleStatus.html | 145 - .../model/parameter/class-use/SentBy.html | 145 - .../model/parameter/class-use/Type.html | 145 - .../model/parameter/class-use/TzId.html | 145 - .../model/parameter/class-use/Value.html | 439 -- .../model/parameter/class-use/Vvenue.html | 145 - .../model/parameter/class-use/XParameter.html | 145 - .../ical4j/model/parameter/package-frame.html | 83 - .../model/parameter/package-summary.html | 321 - .../ical4j/model/parameter/package-tree.html | 160 - .../ical4j/model/parameter/package-use.html | 301 - .../fortuna/ical4j/model/property/Action.html | 479 -- .../fortuna/ical4j/model/property/Attach.html | 578 -- .../ical4j/model/property/Attendee.html | 504 -- .../ical4j/model/property/BusyType.html | 470 -- .../ical4j/model/property/CalScale.html | 419 -- .../ical4j/model/property/Categories.html | 486 -- .../fortuna/ical4j/model/property/Clazz.html | 505 -- .../ical4j/model/property/Comment.html | 390 -- .../ical4j/model/property/Completed.html | 390 -- .../ical4j/model/property/Contact.html | 390 -- .../ical4j/model/property/Country.html | 390 -- .../ical4j/model/property/Created.html | 394 -- .../model/property/DateListProperty.html | 515 -- .../ical4j/model/property/DateProperty.html | 592 -- .../ical4j/model/property/Description.html | 390 -- .../fortuna/ical4j/model/property/DtEnd.html | 519 -- .../ical4j/model/property/DtStamp.html | 402 -- .../ical4j/model/property/DtStart.html | 515 -- .../fortuna/ical4j/model/property/Due.html | 483 -- .../ical4j/model/property/Duration.html | 506 -- .../fortuna/ical4j/model/property/ExDate.html | 372 - .../fortuna/ical4j/model/property/ExRule.html | 453 -- .../model/property/ExtendedAddress.html | 390 -- .../ical4j/model/property/FreeBusy.html | 509 -- .../fortuna/ical4j/model/property/Geo.html | 589 -- .../ical4j/model/property/LastModified.html | 395 -- .../ical4j/model/property/Locality.html | 390 -- .../ical4j/model/property/Location.html | 441 -- .../ical4j/model/property/LocationType.html | 444 -- .../fortuna/ical4j/model/property/Method.html | 566 -- .../fortuna/ical4j/model/property/Name.html | 390 -- .../ical4j/model/property/Organizer.html | 551 -- .../model/property/PercentComplete.html | 447 -- .../ical4j/model/property/Postalcode.html | 390 -- .../ical4j/model/property/Priority.html | 611 -- .../fortuna/ical4j/model/property/ProdId.html | 390 -- .../fortuna/ical4j/model/property/RDate.html | 587 -- .../fortuna/ical4j/model/property/RRule.html | 453 -- .../ical4j/model/property/RecurrenceId.html | 516 -- .../fortuna/ical4j/model/property/Region.html | 390 -- .../ical4j/model/property/RelatedTo.html | 390 -- .../fortuna/ical4j/model/property/Repeat.html | 447 -- .../ical4j/model/property/RequestStatus.html | 622 -- .../ical4j/model/property/Resources.html | 428 -- .../ical4j/model/property/Sequence.html | 525 -- .../fortuna/ical4j/model/property/Status.html | 666 -- .../ical4j/model/property/StreetAddress.html | 390 -- .../ical4j/model/property/Summary.html | 436 -- .../fortuna/ical4j/model/property/Tel.html | 390 -- .../fortuna/ical4j/model/property/Transp.html | 485 -- .../ical4j/model/property/Trigger.html | 616 -- .../fortuna/ical4j/model/property/TzId.html | 473 -- .../fortuna/ical4j/model/property/TzName.html | 390 -- .../ical4j/model/property/TzOffsetFrom.html | 463 -- .../ical4j/model/property/TzOffsetTo.html | 463 -- .../fortuna/ical4j/model/property/TzUrl.html | 488 -- .../fortuna/ical4j/model/property/Uid.html | 457 -- .../fortuna/ical4j/model/property/Url.html | 488 -- .../ical4j/model/property/UtcProperty.html | 405 -- .../ical4j/model/property/Version.html | 522 -- .../ical4j/model/property/XProperty.html | 396 -- .../model/property/class-use/Action.html | 234 - .../model/property/class-use/Attach.html | 181 - .../model/property/class-use/Attendee.html | 145 - .../model/property/class-use/BusyType.html | 197 - .../model/property/class-use/CalScale.html | 210 - .../model/property/class-use/Categories.html | 145 - .../model/property/class-use/Clazz.html | 242 - .../model/property/class-use/Comment.html | 145 - .../model/property/class-use/Completed.html | 181 - .../model/property/class-use/Contact.html | 181 - .../model/property/class-use/Country.html | 145 - .../model/property/class-use/Created.html | 197 - .../property/class-use/DateListProperty.html | 197 - .../property/class-use/DateProperty.html | 293 - .../model/property/class-use/Description.html | 205 - .../model/property/class-use/DtEnd.html | 197 - .../model/property/class-use/DtStamp.html | 205 - .../model/property/class-use/DtStart.html | 213 - .../ical4j/model/property/class-use/Due.html | 181 - .../model/property/class-use/Duration.html | 205 - .../model/property/class-use/ExDate.html | 145 - .../model/property/class-use/ExRule.html | 145 - .../property/class-use/ExtendedAddress.html | 145 - .../model/property/class-use/FreeBusy.html | 145 - .../ical4j/model/property/class-use/Geo.html | 189 - .../property/class-use/LastModified.html | 205 - .../model/property/class-use/Locality.html | 145 - .../model/property/class-use/Location.html | 189 - .../property/class-use/LocationType.html | 145 - .../model/property/class-use/Method.html | 375 - .../ical4j/model/property/class-use/Name.html | 145 - .../model/property/class-use/Organizer.html | 205 - .../property/class-use/PercentComplete.html | 181 - .../model/property/class-use/Postalcode.html | 145 - .../model/property/class-use/Priority.html | 242 - .../model/property/class-use/ProdId.html | 181 - .../model/property/class-use/RDate.html | 145 - .../model/property/class-use/RRule.html | 145 - .../property/class-use/RecurrenceId.html | 197 - .../model/property/class-use/Region.html | 145 - .../model/property/class-use/RelatedTo.html | 145 - .../model/property/class-use/Repeat.html | 181 - .../property/class-use/RequestStatus.html | 145 - .../model/property/class-use/Resources.html | 145 - .../model/property/class-use/Sequence.html | 197 - .../model/property/class-use/Status.html | 298 - .../property/class-use/StreetAddress.html | 145 - .../model/property/class-use/Summary.html | 205 - .../ical4j/model/property/class-use/Tel.html | 145 - .../model/property/class-use/Transp.html | 218 - .../model/property/class-use/Trigger.html | 181 - .../ical4j/model/property/class-use/TzId.html | 181 - .../model/property/class-use/TzName.html | 145 - .../property/class-use/TzOffsetFrom.html | 181 - .../model/property/class-use/TzOffsetTo.html | 181 - .../model/property/class-use/TzUrl.html | 181 - .../ical4j/model/property/class-use/Uid.html | 242 - .../ical4j/model/property/class-use/Url.html | 205 - .../model/property/class-use/UtcProperty.html | 233 - .../model/property/class-use/Version.html | 210 - .../model/property/class-use/XProperty.html | 145 - .../ical4j/model/property/package-frame.html | 153 - .../model/property/package-summary.html | 657 -- .../ical4j/model/property/package-tree.html | 184 - .../ical4j/model/property/package-use.html | 694 -- .../ical4j/transform/PublishTransformer.html | 282 - .../fortuna/ical4j/transform/Transformer.html | 294 - .../class-use/PublishTransformer.html | 145 - .../transform/class-use/Transformer.html | 185 - .../ical4j/transform/package-frame.html | 35 - .../ical4j/transform/package-summary.html | 185 - .../ical4j/transform/package-tree.html | 156 - .../fortuna/ical4j/transform/package-use.html | 175 - .../net/fortuna/ical4j/util/Calendars.html | 388 -- .../ical4j/util/CompatibilityHints.html | 397 -- .../ical4j/util/ComponentValidator.html | 253 - .../net/fortuna/ical4j/util/Configurator.html | 234 - .../net/fortuna/ical4j/util/Constants.html | 240 - .../net/fortuna/ical4j/util/Dates.html | 660 -- .../fortuna/ical4j/util/DecoderFactory.html | 361 - .../ical4j/util/DefaultDecoderFactory.html | 332 - .../ical4j/util/DefaultEncoderFactory.html | 332 - .../fortuna/ical4j/util/EncoderFactory.html | 361 - .../net/fortuna/ical4j/util/HostInfo.html | 219 - .../ical4j/util/InetAddressHostInfo.html | 287 - .../net/fortuna/ical4j/util/Numbers.html | 237 - .../ical4j/util/ParameterValidator.html | 335 - .../ical4j/util/PropertyValidator.html | 336 - .../fortuna/ical4j/util/ResourceLoader.html | 284 - .../fortuna/ical4j/util/SimpleHostInfo.html | 268 - .../net/fortuna/ical4j/util/Strings.html | 474 -- .../net/fortuna/ical4j/util/TimeZones.html | 364 - .../net/fortuna/ical4j/util/UidGenerator.html | 289 - .../apidocs/net/fortuna/ical4j/util/Uris.html | 331 - .../ical4j/util/class-use/Calendars.html | 145 - .../util/class-use/CompatibilityHints.html | 145 - .../util/class-use/ComponentValidator.html | 145 - .../ical4j/util/class-use/Configurator.html | 145 - .../ical4j/util/class-use/Constants.html | 145 - .../fortuna/ical4j/util/class-use/Dates.html | 145 - .../ical4j/util/class-use/DecoderFactory.html | 197 - .../util/class-use/DefaultDecoderFactory.html | 145 - .../util/class-use/DefaultEncoderFactory.html | 145 - .../ical4j/util/class-use/EncoderFactory.html | 197 - .../ical4j/util/class-use/HostInfo.html | 204 - .../util/class-use/InetAddressHostInfo.html | 145 - .../ical4j/util/class-use/Numbers.html | 145 - .../util/class-use/ParameterValidator.html | 181 - .../util/class-use/PropertyValidator.html | 181 - .../ical4j/util/class-use/ResourceLoader.html | 145 - .../ical4j/util/class-use/SimpleHostInfo.html | 145 - .../ical4j/util/class-use/Strings.html | 145 - .../ical4j/util/class-use/TimeZones.html | 145 - .../ical4j/util/class-use/UidGenerator.html | 145 - .../fortuna/ical4j/util/class-use/Uris.html | 145 - .../fortuna/ical4j/util/package-frame.html | 82 - .../fortuna/ical4j/util/package-summary.html | 306 - .../net/fortuna/ical4j/util/package-tree.html | 165 - .../net/fortuna/ical4j/util/package-use.html | 200 - .../docs/apidocs/overview-frame.html | 57 - .../docs/apidocs/overview-summary.html | 197 - .../docs/apidocs/overview-tree.html | 288 - .../docs/apidocs/resources/inherit.gif | Bin 57 -> 0 bytes .../docs/apidocs/serialized-form.html | 4316 ------------ libs/ical4j-1.0.4/docs/apidocs/stylesheet.css | 29 - libs/ical4j-1.0.4/lib/commons-codec-1.5.jar | Bin 73098 -> 0 bytes .../lib/commons-logging-1.1.1.jar | Bin 60686 -> 0 bytes libs/ical4j-1.0.4/lib/ical4j-1.0.4.jar | Bin 967300 -> 0 bytes libs/{ical4j-1.0.4 => ical4j-1.0.5}/AUTHORS | 0 libs/{ical4j-1.0.4 => ical4j-1.0.5}/CHANGELOG | 0 libs/{ical4j-1.0.4 => ical4j-1.0.5}/LICENSE | 2 +- libs/{ical4j-1.0.4 => ical4j-1.0.5}/README | 0 .../docs/apidocs/allclasses-frame.html | 208 + .../docs/apidocs/allclasses-noframe.html | 208 + .../docs/apidocs/constant-values.html | 1420 ++++ .../docs/apidocs/deprecated-list.html | 198 + libs/ical4j-1.0.5/docs/apidocs/help-doc.html | 218 + libs/ical4j-1.0.5/docs/apidocs/index-all.html | 6112 +++++++++++++++++ .../docs/apidocs}/index.html | 54 +- .../ical4j/data/AbstractOutputter.html | 372 + .../fortuna/ical4j/data/CalendarBuilder.html | 504 ++ .../ical4j/data/CalendarOutputter.html | 358 + .../fortuna/ical4j/data/CalendarParser.html | 256 + .../ical4j/data/CalendarParserFactory.html | 334 + .../ical4j/data/CalendarParserImpl.html | 313 + .../fortuna/ical4j/data/ContentHandler.html | 350 + .../data/DefaultCalendarParserFactory.html | 301 + .../fortuna/ical4j/data/FoldingWriter.html | 432 ++ .../fortuna/ical4j/data/HCalendarParser.html | 364 + .../ical4j/data/HCalendarParserFactory.html | 301 + .../fortuna/ical4j/data/ParserException.html | 327 + .../fortuna/ical4j/data/UnfoldingReader.html | 422 ++ .../data/class-use/AbstractOutputter.html | 162 + .../data/class-use/CalendarBuilder.html | 117 + .../data/class-use/CalendarOutputter.html | 117 + .../ical4j/data/class-use/CalendarParser.html | 223 + .../data/class-use/CalendarParserFactory.html | 183 + .../data/class-use/CalendarParserImpl.html | 117 + .../ical4j/data/class-use/ContentHandler.html | 197 + .../DefaultCalendarParserFactory.html | 117 + .../ical4j/data/class-use/FoldingWriter.html | 117 + .../data/class-use/HCalendarParser.html | 117 + .../class-use/HCalendarParserFactory.html | 117 + .../data/class-use/ParserException.html | 247 + .../data/class-use/UnfoldingReader.html | 161 + .../fortuna/ical4j/data/package-frame.html | 38 + .../fortuna/ical4j/data/package-summary.html | 259 + .../net/fortuna/ical4j/data/package-tree.html | 179 + .../net/fortuna/ical4j/data/package-use.html | 213 + .../ical4j/filter/AbstractDateRule.html | 292 + .../fortuna/ical4j/filter/ComponentRule.html | 297 + .../ical4j/filter/DateInRangeRule.html | 284 + .../net/fortuna/ical4j/filter/Filter.html | 405 ++ .../ical4j/filter/HasPropertyRule.html | 311 + .../net/fortuna/ical4j/filter/PeriodRule.html | 290 + .../net/fortuna/ical4j/filter/Rule.html | 224 + .../filter/class-use/AbstractDateRule.html | 159 + .../filter/class-use/ComponentRule.html | 175 + .../filter/class-use/DateInRangeRule.html | 117 + .../ical4j/filter/class-use/Filter.html | 117 + .../filter/class-use/HasPropertyRule.html | 117 + .../ical4j/filter/class-use/PeriodRule.html | 117 + .../fortuna/ical4j/filter/class-use/Rule.html | 241 + .../fortuna/ical4j/filter/package-frame.html | 29 + .../ical4j/filter/package-summary.html | 209 + .../fortuna/ical4j/filter/package-tree.html | 145 + .../fortuna/ical4j/filter/package-use.html | 170 + .../ical4j/model/AbstractContentFactory.html | 325 + .../net/fortuna/ical4j/model/AddressList.html | 373 + .../net/fortuna/ical4j/model/Calendar.html | 708 ++ .../model/CalendarDateFormatFactory.html | 237 + .../ical4j/model/CalendarException.html | 273 + .../net/fortuna/ical4j/model/Component.html | 736 ++ .../ical4j/model/ComponentFactory.html | 302 + .../fortuna/ical4j/model/ComponentList.html | 472 ++ .../model/ConstraintViolationException.html | 275 + .../net/fortuna/ical4j/model/Content.html | 291 + .../net/fortuna/ical4j/model/Date.html | 419 ++ .../net/fortuna/ical4j/model/DateList.html | 980 +++ .../net/fortuna/ical4j/model/DateRange.html | 481 ++ .../net/fortuna/ical4j/model/DateTime.html | 651 ++ .../model/DefaultTimeZoneRegistryFactory.html | 299 + .../apidocs/net/fortuna/ical4j/model/Dur.html | 567 ++ .../net/fortuna/ical4j/model/Escapable.html | 172 + .../ical4j/model/IndexedComponentList.html | 301 + .../ical4j/model/IndexedPropertyList.html | 301 + .../net/fortuna/ical4j/model/Iso8601.html | 370 + .../ical4j/model/LocationTypeList.html | 370 + .../net/fortuna/ical4j/model/NumberList.html | 446 ++ .../net/fortuna/ical4j/model/Parameter.html | 849 +++ .../ical4j/model/ParameterFactory.html | 238 + .../ical4j/model/ParameterFactoryImpl.html | 317 + .../model/ParameterFactoryRegistry.html | 292 + .../fortuna/ical4j/model/ParameterList.html | 499 ++ .../net/fortuna/ical4j/model/Period.html | 589 ++ .../net/fortuna/ical4j/model/PeriodList.html | 804 +++ .../net/fortuna/ical4j/model/Property.html | 1542 +++++ .../fortuna/ical4j/model/PropertyFactory.html | 255 + .../ical4j/model/PropertyFactoryImpl.html | 339 + .../ical4j/model/PropertyFactoryRegistry.html | 292 + .../fortuna/ical4j/model/PropertyList.html | 472 ++ .../net/fortuna/ical4j/model/Recur.html | 901 +++ .../net/fortuna/ical4j/model/TextList.html | 383 ++ .../net/fortuna/ical4j/model/Time.html | 413 ++ .../net/fortuna/ical4j/model/TimeZone.html | 457 ++ .../ical4j/model/TimeZoneRegistry.html | 285 + .../ical4j/model/TimeZoneRegistryFactory.html | 332 + .../ical4j/model/TimeZoneRegistryImpl.html | 368 + .../net/fortuna/ical4j/model/UtcOffset.html | 337 + .../ical4j/model/ValidationException.html | 294 + .../net/fortuna/ical4j/model/Validator.html | 221 + .../net/fortuna/ical4j/model/WeekDay.html | 589 ++ .../net/fortuna/ical4j/model/WeekDayList.html | 423 ++ .../class-use/AbstractContentFactory.html | 175 + .../ical4j/model/class-use/AddressList.html | 184 + .../ical4j/model/class-use/Calendar.html | 382 ++ .../class-use/CalendarDateFormatFactory.html | 117 + .../model/class-use/CalendarException.html | 117 + .../ical4j/model/class-use/Component.html | 499 ++ .../model/class-use/ComponentFactory.html | 159 + .../ical4j/model/class-use/ComponentList.html | 335 + .../ConstraintViolationException.html | 161 + .../ical4j/model/class-use/Content.html | 1011 +++ .../fortuna/ical4j/model/class-use/Date.html | 536 ++ .../ical4j/model/class-use/DateList.html | 266 + .../ical4j/model/class-use/DateRange.html | 225 + .../ical4j/model/class-use/DateTime.html | 306 + .../DefaultTimeZoneRegistryFactory.html | 117 + .../fortuna/ical4j/model/class-use/Dur.html | 322 + .../ical4j/model/class-use/Escapable.html | 363 + .../model/class-use/IndexedComponentList.html | 117 + .../model/class-use/IndexedPropertyList.html | 117 + .../ical4j/model/class-use/Iso8601.html | 185 + .../model/class-use/LocationTypeList.html | 174 + .../ical4j/model/class-use/NumberList.html | 187 + .../ical4j/model/class-use/Parameter.html | 478 ++ .../model/class-use/ParameterFactory.html | 191 + .../model/class-use/ParameterFactoryImpl.html | 172 + .../class-use/ParameterFactoryRegistry.html | 160 + .../ical4j/model/class-use/ParameterList.html | 686 ++ .../ical4j/model/class-use/Period.html | 239 + .../ical4j/model/class-use/PeriodList.html | 300 + .../ical4j/model/class-use/Property.html | 998 +++ .../model/class-use/PropertyFactory.html | 262 + .../model/class-use/PropertyFactoryImpl.html | 172 + .../class-use/PropertyFactoryRegistry.html | 160 + .../ical4j/model/class-use/PropertyList.html | 399 ++ .../fortuna/ical4j/model/class-use/Recur.html | 198 + .../ical4j/model/class-use/TextList.html | 185 + .../fortuna/ical4j/model/class-use/Time.html | 117 + .../ical4j/model/class-use/TimeZone.html | 394 ++ .../model/class-use/TimeZoneRegistry.html | 237 + .../class-use/TimeZoneRegistryFactory.html | 178 + .../model/class-use/TimeZoneRegistryImpl.html | 117 + .../ical4j/model/class-use/UtcOffset.html | 202 + .../model/class-use/ValidationException.html | 811 +++ .../ical4j/model/class-use/Validator.html | 210 + .../ical4j/model/class-use/WeekDay.html | 270 + .../ical4j/model/class-use/WeekDayList.html | 159 + .../ical4j/model/component/Available.html | 362 + .../model/component/CalendarComponent.html | 530 ++ .../ical4j/model/component/Daylight.html | 328 + .../ical4j/model/component/Observance.html | 454 ++ .../ical4j/model/component/Standard.html | 328 + .../ical4j/model/component/VAlarm.html | 654 ++ .../ical4j/model/component/VAvailability.html | 456 ++ .../ical4j/model/component/VEvent.html | 1032 +++ .../ical4j/model/component/VFreeBusy.html | 692 ++ .../ical4j/model/component/VJournal.html | 619 ++ .../ical4j/model/component/VTimeZone.html | 614 ++ .../fortuna/ical4j/model/component/VToDo.html | 862 +++ .../ical4j/model/component/VVenue.html | 420 ++ .../ical4j/model/component/XComponent.html | 366 + .../model/component/class-use/Available.html | 117 + .../class-use/CalendarComponent.html | 229 + .../model/component/class-use/Daylight.html | 117 + .../model/component/class-use/Observance.html | 186 + .../model/component/class-use/Standard.html | 117 + .../model/component/class-use/VAlarm.html | 117 + .../component/class-use/VAvailability.html | 117 + .../model/component/class-use/VEvent.html | 161 + .../model/component/class-use/VFreeBusy.html | 161 + .../model/component/class-use/VJournal.html | 117 + .../model/component/class-use/VTimeZone.html | 172 + .../model/component/class-use/VToDo.html | 117 + .../model/component/class-use/VVenue.html | 117 + .../model/component/class-use/XComponent.html | 117 + .../ical4j/model/component/package-frame.html | 33 + .../model/component/package-summary.html | 256 + .../ical4j/model/component/package-tree.html | 153 + .../ical4j/model/component/package-use.html | 204 + .../fortuna/ical4j/model/package-frame.html | 71 + .../fortuna/ical4j/model/package-summary.html | 540 ++ .../fortuna/ical4j/model/package-tree.html | 238 + .../net/fortuna/ical4j/model/package-use.html | 857 +++ .../ical4j/model/parameter/Abbrev.html | 305 + .../ical4j/model/parameter/AltRep.html | 335 + .../fortuna/ical4j/model/parameter/Cn.html | 305 + .../ical4j/model/parameter/CuType.html | 400 ++ .../ical4j/model/parameter/DelegatedFrom.html | 355 + .../ical4j/model/parameter/DelegatedTo.html | 355 + .../fortuna/ical4j/model/parameter/Dir.html | 335 + .../ical4j/model/parameter/Encoding.html | 440 ++ .../ical4j/model/parameter/FbType.html | 384 ++ .../ical4j/model/parameter/FmtType.html | 305 + .../ical4j/model/parameter/Language.html | 305 + .../ical4j/model/parameter/Member.html | 355 + .../ical4j/model/parameter/PartStat.html | 432 ++ .../fortuna/ical4j/model/parameter/Range.html | 352 + .../ical4j/model/parameter/RelType.html | 368 + .../ical4j/model/parameter/Related.html | 352 + .../fortuna/ical4j/model/parameter/Role.html | 384 ++ .../fortuna/ical4j/model/parameter/Rsvp.html | 399 ++ .../ical4j/model/parameter/ScheduleAgent.html | 357 + .../model/parameter/ScheduleStatus.html | 303 + .../ical4j/model/parameter/SentBy.html | 335 + .../fortuna/ical4j/model/parameter/Type.html | 305 + .../fortuna/ical4j/model/parameter/TzId.html | 338 + .../fortuna/ical4j/model/parameter/Value.html | 544 ++ .../ical4j/model/parameter/Vvenue.html | 305 + .../ical4j/model/parameter/XParameter.html | 307 + .../model/parameter/class-use/Abbrev.html | 117 + .../model/parameter/class-use/AltRep.html | 117 + .../ical4j/model/parameter/class-use/Cn.html | 117 + .../model/parameter/class-use/CuType.html | 185 + .../parameter/class-use/DelegatedFrom.html | 117 + .../parameter/class-use/DelegatedTo.html | 117 + .../ical4j/model/parameter/class-use/Dir.html | 117 + .../model/parameter/class-use/Encoding.html | 253 + .../model/parameter/class-use/FbType.html | 179 + .../model/parameter/class-use/FmtType.html | 117 + .../model/parameter/class-use/Language.html | 117 + .../model/parameter/class-use/Member.html | 117 + .../model/parameter/class-use/PartStat.html | 197 + .../model/parameter/class-use/Range.html | 167 + .../model/parameter/class-use/RelType.html | 173 + .../model/parameter/class-use/Related.html | 167 + .../model/parameter/class-use/Role.html | 179 + .../model/parameter/class-use/Rsvp.html | 167 + .../parameter/class-use/ScheduleAgent.html | 167 + .../parameter/class-use/ScheduleStatus.html | 117 + .../model/parameter/class-use/SentBy.html | 117 + .../model/parameter/class-use/Type.html | 117 + .../model/parameter/class-use/TzId.html | 117 + .../model/parameter/class-use/Value.html | 371 + .../model/parameter/class-use/Vvenue.html | 117 + .../model/parameter/class-use/XParameter.html | 117 + .../ical4j/model/parameter/package-frame.html | 45 + .../model/parameter/package-summary.html | 344 + .../ical4j/model/parameter/package-tree.html | 163 + .../ical4j/model/parameter/package-use.html | 281 + .../fortuna/ical4j/model/property/Action.html | 458 ++ .../fortuna/ical4j/model/property/Attach.html | 536 ++ .../ical4j/model/property/Attendee.html | 471 ++ .../ical4j/model/property/BusyType.html | 453 ++ .../ical4j/model/property/CalScale.html | 410 ++ .../ical4j/model/property/Categories.html | 463 ++ .../fortuna/ical4j/model/property/Clazz.html | 488 ++ .../ical4j/model/property/Comment.html | 380 + .../ical4j/model/property/Completed.html | 388 ++ .../ical4j/model/property/Contact.html | 380 + .../ical4j/model/property/Country.html | 380 + .../ical4j/model/property/Created.html | 392 ++ .../model/property/DateListProperty.html | 480 ++ .../ical4j/model/property/DateProperty.html | 540 ++ .../ical4j/model/property/Description.html | 380 + .../fortuna/ical4j/model/property/DtEnd.html | 513 ++ .../ical4j/model/property/DtStamp.html | 400 ++ .../ical4j/model/property/DtStart.html | 508 ++ .../fortuna/ical4j/model/property/Due.html | 479 ++ .../ical4j/model/property/Duration.html | 479 ++ .../fortuna/ical4j/model/property/ExDate.html | 372 + .../fortuna/ical4j/model/property/ExRule.html | 428 ++ .../model/property/ExtendedAddress.html | 380 + .../ical4j/model/property/FreeBusy.html | 486 ++ .../fortuna/ical4j/model/property/Geo.html | 551 ++ .../ical4j/model/property/LastModified.html | 393 ++ .../ical4j/model/property/Locality.html | 380 + .../ical4j/model/property/Location.html | 431 ++ .../ical4j/model/property/LocationType.html | 421 ++ .../fortuna/ical4j/model/property/Method.html | 529 ++ .../fortuna/ical4j/model/property/Name.html | 380 + .../ical4j/model/property/Organizer.html | 524 ++ .../model/property/PercentComplete.html | 422 ++ .../ical4j/model/property/Postalcode.html | 380 + .../ical4j/model/property/Priority.html | 576 ++ .../fortuna/ical4j/model/property/ProdId.html | 380 + .../fortuna/ical4j/model/property/RDate.html | 563 ++ .../fortuna/ical4j/model/property/RRule.html | 430 ++ .../ical4j/model/property/RecurrenceId.html | 512 ++ .../fortuna/ical4j/model/property/Region.html | 380 + .../ical4j/model/property/RelatedTo.html | 380 + .../fortuna/ical4j/model/property/Repeat.html | 422 ++ .../ical4j/model/property/RequestStatus.html | 569 ++ .../ical4j/model/property/Resources.html | 408 ++ .../ical4j/model/property/Sequence.html | 502 ++ .../fortuna/ical4j/model/property/Status.html | 621 ++ .../ical4j/model/property/StreetAddress.html | 380 + .../ical4j/model/property/Summary.html | 426 ++ .../fortuna/ical4j/model/property/Tel.html | 380 + .../fortuna/ical4j/model/property/Transp.html | 472 ++ .../ical4j/model/property/Trigger.html | 584 ++ .../fortuna/ical4j/model/property/TzId.html | 466 ++ .../fortuna/ical4j/model/property/TzName.html | 380 + .../ical4j/model/property/TzOffsetFrom.html | 435 ++ .../ical4j/model/property/TzOffsetTo.html | 435 ++ .../fortuna/ical4j/model/property/TzUrl.html | 463 ++ .../fortuna/ical4j/model/property/Uid.html | 447 ++ .../fortuna/ical4j/model/property/Url.html | 463 ++ .../ical4j/model/property/UtcProperty.html | 395 ++ .../ical4j/model/property/Version.html | 488 ++ .../ical4j/model/property/XProperty.html | 385 ++ .../model/property/class-use/Action.html | 205 + .../model/property/class-use/Attach.html | 161 + .../model/property/class-use/Attendee.html | 117 + .../model/property/class-use/BusyType.html | 173 + .../model/property/class-use/CalScale.html | 187 + .../model/property/class-use/Categories.html | 117 + .../model/property/class-use/Clazz.html | 205 + .../model/property/class-use/Comment.html | 117 + .../model/property/class-use/Completed.html | 159 + .../model/property/class-use/Contact.html | 159 + .../model/property/class-use/Country.html | 117 + .../model/property/class-use/Created.html | 167 + .../property/class-use/DateListProperty.html | 175 + .../property/class-use/DateProperty.html | 255 + .../model/property/class-use/Description.html | 173 + .../model/property/class-use/DtEnd.html | 171 + .../model/property/class-use/DtStamp.html | 171 + .../model/property/class-use/DtStart.html | 183 + .../ical4j/model/property/class-use/Due.html | 159 + .../model/property/class-use/Duration.html | 173 + .../model/property/class-use/ExDate.html | 117 + .../model/property/class-use/ExRule.html | 117 + .../property/class-use/ExtendedAddress.html | 117 + .../model/property/class-use/FreeBusy.html | 117 + .../ical4j/model/property/class-use/Geo.html | 163 + .../property/class-use/LastModified.html | 171 + .../model/property/class-use/Locality.html | 117 + .../model/property/class-use/Location.html | 163 + .../property/class-use/LocationType.html | 117 + .../model/property/class-use/Method.html | 295 + .../ical4j/model/property/class-use/Name.html | 117 + .../model/property/class-use/Organizer.html | 171 + .../property/class-use/PercentComplete.html | 159 + .../model/property/class-use/Postalcode.html | 117 + .../model/property/class-use/Priority.html | 207 + .../model/property/class-use/ProdId.html | 161 + .../model/property/class-use/RDate.html | 117 + .../model/property/class-use/RRule.html | 117 + .../property/class-use/RecurrenceId.html | 167 + .../model/property/class-use/Region.html | 117 + .../model/property/class-use/RelatedTo.html | 117 + .../model/property/class-use/Repeat.html | 161 + .../property/class-use/RequestStatus.html | 117 + .../model/property/class-use/Resources.html | 117 + .../model/property/class-use/Sequence.html | 167 + .../model/property/class-use/Status.html | 247 + .../property/class-use/StreetAddress.html | 117 + .../model/property/class-use/Summary.html | 173 + .../ical4j/model/property/class-use/Tel.html | 117 + .../model/property/class-use/Transp.html | 191 + .../model/property/class-use/Trigger.html | 161 + .../ical4j/model/property/class-use/TzId.html | 159 + .../model/property/class-use/TzName.html | 117 + .../property/class-use/TzOffsetFrom.html | 161 + .../model/property/class-use/TzOffsetTo.html | 161 + .../model/property/class-use/TzUrl.html | 159 + .../ical4j/model/property/class-use/Uid.html | 209 + .../ical4j/model/property/class-use/Url.html | 171 + .../model/property/class-use/UtcProperty.html | 205 + .../model/property/class-use/Version.html | 187 + .../model/property/class-use/XProperty.html | 117 + .../ical4j/model/property/package-frame.html | 80 + .../model/property/package-summary.html | 750 ++ .../ical4j/model/property/package-tree.html | 207 + .../ical4j/model/property/package-use.html | 644 ++ .../ical4j/transform/PublishTransformer.html | 286 + .../fortuna/ical4j/transform/Transformer.html | 293 + .../class-use/PublishTransformer.html | 117 + .../transform/class-use/Transformer.html | 165 + .../ical4j/transform/package-frame.html | 21 + .../ical4j/transform/package-summary.html | 160 + .../ical4j/transform/package-tree.html | 134 + .../fortuna/ical4j/transform/package-use.html | 158 + .../net/fortuna/ical4j/util/Calendars.html | 365 + .../ical4j/util/CompatibilityHints.html | 394 ++ .../ical4j/util/ComponentValidator.html | 251 + .../net/fortuna/ical4j/util/Configurator.html | 234 + .../net/fortuna/ical4j/util/Constants.html | 241 + .../net/fortuna/ical4j/util/Dates.html | 606 ++ .../fortuna/ical4j/util/DecoderFactory.html | 356 + .../ical4j/util/DefaultDecoderFactory.html | 329 + .../ical4j/util/DefaultEncoderFactory.html | 329 + .../fortuna/ical4j/util/EncoderFactory.html | 356 + .../net/fortuna/ical4j/util/HostInfo.html | 216 + .../ical4j/util/InetAddressHostInfo.html | 285 + .../net/fortuna/ical4j/util/Numbers.html | 238 + .../ical4j/util/ParameterValidator.html | 317 + .../ical4j/util/PropertyValidator.html | 319 + .../fortuna/ical4j/util/ResourceLoader.html | 285 + .../fortuna/ical4j/util/SimpleHostInfo.html | 270 + .../net/fortuna/ical4j/util/Strings.html | 451 ++ .../net/fortuna/ical4j/util/TimeZones.html | 351 + .../net/fortuna/ical4j/util/UidGenerator.html | 285 + .../apidocs/net/fortuna/ical4j/util/Uris.html | 326 + .../ical4j/util/class-use/Calendars.html | 117 + .../util/class-use/CompatibilityHints.html | 117 + .../util/class-use/ComponentValidator.html | 117 + .../ical4j/util/class-use/Configurator.html | 117 + .../ical4j/util/class-use/Constants.html | 117 + .../fortuna/ical4j/util/class-use/Dates.html | 117 + .../ical4j/util/class-use/DecoderFactory.html | 174 + .../util/class-use/DefaultDecoderFactory.html | 117 + .../util/class-use/DefaultEncoderFactory.html | 117 + .../ical4j/util/class-use/EncoderFactory.html | 174 + .../ical4j/util/class-use/HostInfo.html | 175 + .../util/class-use/InetAddressHostInfo.html | 117 + .../ical4j/util/class-use/Numbers.html | 117 + .../util/class-use/ParameterValidator.html | 159 + .../util/class-use/PropertyValidator.html | 159 + .../ical4j/util/class-use/ResourceLoader.html | 117 + .../ical4j/util/class-use/SimpleHostInfo.html | 117 + .../ical4j/util/class-use/Strings.html | 117 + .../ical4j/util/class-use/TimeZones.html | 117 + .../ical4j/util/class-use/UidGenerator.html | 117 + .../fortuna/ical4j/util/class-use/Uris.html | 117 + .../fortuna/ical4j/util/package-frame.html | 43 + .../fortuna/ical4j/util/package-summary.html | 312 + .../net/fortuna/ical4j/util/package-tree.html | 159 + .../net/fortuna/ical4j/util/package-use.html | 179 + .../docs/apidocs/overview-frame.html | 28 + .../docs/apidocs/overview-summary.html | 188 + .../docs/apidocs/overview-tree.html | 454 ++ .../docs/apidocs/package-list | 0 .../docs/apidocs}/resources/inherit.gif | Bin .../docs/apidocs/serialized-form.html | 3003 ++++++++ libs/ical4j-1.0.5/docs/apidocs/stylesheet.css | 439 ++ .../docs/css/default.css | 0 .../docs/index.html | 0 .../docs/introduction.html | 0 .../docs/license.html | 0 libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/FAQ | 0 libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/TODO | 0 .../etc/rfc2445.txt | 0 .../etc/rfc2446.txt | 0 .../etc/samples/hcalendar/example1.html | 0 .../etc/samples/hcalendar/example1.ics | 0 .../etc/samples/invalid/0.ics | 0 .../etc/samples/invalid/13-MoonPhase.ics | 0 .../etc/samples/invalid/CalendarDataFile.ics | 0 .../etc/samples/invalid/boeing.ics | 0 .../etc/samples/invalid/calconnect.ics | 0 .../etc/samples/invalid/core.ics | 0 .../etc/samples/invalid/eli_courtwright.ics | 0 .../etc/samples/invalid/eli_test.ics | 0 .../samples/invalid/google_aus_holidays.ics | 0 .../etc/samples/invalid/groupwise.ics | 0 .../etc/samples/invalid/lastfm.ics | 0 .../samples/invalid/multiple_calendars.ics | 0 .../etc/samples/invalid/overlaps.ics | 0 .../samples/invalid/phpicalendar_sample.ics | 0 .../etc/samples/invalid/schedule-unstable.ics | 0 .../etc/samples/invalid/smallcluster.ics | 0 .../etc/samples/invalid/twinkle.ics | 0 .../etc/samples/invalid/twinkle_orig.ics | 0 .../samples/invalid/zidestoreical4jbomb.ics | 0 .../etc/samples/valid/1106817412.ics | 0 .../etc/samples/valid/2207678.ics | 0 .../etc/samples/valid/3.ics | 0 .../etc/samples/valid/4.ics | 0 .../etc/samples/valid/6.ics | 0 .../etc/samples/valid/7.ics | 0 .../etc/samples/valid/ArgentinaHolidays.ics | 0 .../samples/valid/Australian32Holidays.ics | 0 .../samples/valid/Australian_TV_Melbourne.ics | 0 .../etc/samples/valid/BCP321928.ics | 0 .../samples/valid/Belgische32feestdagen.ics | 0 .../etc/samples/valid/Buddhist.ics | 0 .../etc/samples/valid/Christian32Holidays.ics | 0 .../etc/samples/valid/Dryway.ics | 0 .../etc/samples/valid/EXDATE.ics | 0 .../etc/samples/valid/Earth32Seasons.ics | 0 .../etc/samples/valid/EstoniaHolidays.ics | 0 .../etc/samples/valid/Misc.History.ics | 0 .../etc/samples/valid/New Years Day.ics | 0 .../etc/samples/valid/OZMovies.ics | 0 .../etc/samples/valid/Packers.ics | 0 .../etc/samples/valid/Session6.ics | 0 .../etc/samples/valid/Standup.ics | 0 .../valid/SwedishHolidays2003-2006.ics | 0 .../etc/samples/valid/THFC.ics | 0 .../etc/samples/valid/afl2004.ics | 0 .../etc/samples/valid/bears.ics | 0 .../etc/samples/valid/blalor.ics | 0 .../etc/samples/valid/calconnect.ics | 0 .../etc/samples/valid/calconnect10.ics | 0 .../etc/samples/valid/calconnect2.ics | 0 .../etc/samples/valid/calconnect3.ics | 0 .../etc/samples/valid/calconnect4.ics | 0 .../etc/samples/valid/calconnect5.ics | 0 .../etc/samples/valid/calconnect6.ics | 0 .../etc/samples/valid/calconnect7.ics | 0 .../etc/samples/valid/calconnect8.ics | 0 .../etc/samples/valid/calconnect9.ics | 0 .../etc/samples/valid/canada.ics | 0 .../etc/samples/valid/categories.ics | 0 .../etc/samples/valid/classify.ics | 0 .../etc/samples/valid/custom_component.ics | 0 .../etc/samples/valid/derryn.ics | 0 .../etc/samples/valid/evolution.ics | 0 .../etc/samples/valid/friday13-NOT.ics | 0 .../etc/samples/valid/friday13.ics | 0 .../etc/samples/valid/incoming.ics | 0 .../etc/samples/valid/japan_west.ics | 0 .../samples/valid/korganizer-lowercase.ics | 0 .../etc/samples/valid/korganizer.ics | 0 .../etc/samples/valid/korganizer_sample.ics | 0 .../etc/samples/valid/lotr-updated.ics | 0 .../etc/samples/valid/lotr.ics | 0 .../etc/samples/valid/mansour.ics | 0 .../etc/samples/valid/mathBirthdays.ics | 0 .../etc/samples/valid/miked.ics | 0 .../etc/samples/valid/multiple_calendars.ics | 0 .../oracle-personal-notes-test-empty.ics | 0 .../valid/oracle-personal-notes-test.ics | 0 .../etc/samples/valid/php-flp.ics | 0 .../etc/samples/valid/rfc5545-sec3.4.ics | 0 .../etc/samples/valid/rfc5545-sec3.6.1.ics | 0 .../etc/samples/valid/rfc5545-sec3.6.2.ics | 0 .../etc/samples/valid/rfc5545-sec3.6.3.ics | 0 .../etc/samples/valid/rfc5545-sec3.6.4.ics | 0 .../etc/samples/valid/rfc5545-sec3.6.5.ics | 0 .../etc/samples/valid/rfc5545-sec3.6.6.ics | 0 .../etc/samples/valid/rfc5545-sec4.1.ics | 0 .../etc/samples/valid/rfc5545-sec4.2.ics | 0 .../etc/samples/valid/rfc5545-sec4.3.ics | 0 .../etc/samples/valid/rfc5545-sec4.4.ics | 0 .../etc/samples/valid/rfc5545-sec4.5.ics | 0 .../etc/samples/valid/sunbird_sample.ics | 0 .../etc/samples/valid/talios.ics | 0 .../etc/samples/valid/tmeher.ics | 0 .../etc/standard_deviations.txt | 0 .../etc/zoneinfo-outlook-global/readme.txt | 0 .../etc/zoneinfo-outlook/readme.txt | 0 .../lib/backport-util-concurrent-3.1.jar | Bin libs/ical4j-1.0.5/lib/commons-codec-1.8.jar | Bin 0 -> 263865 bytes .../lib/commons-lang-2.6.jar | Bin .../lib/commons-logging-1.1.3.jar | Bin 0 -> 62050 bytes .../lib/groovy-all-2.1.1.jar} | Bin 6167362 -> 6329376 bytes libs/ical4j-1.0.5/lib/ical4j-1.0.5.jar | Bin 0 -> 940868 bytes src/at/bitfire/davdroid/Constants.java | 2 + .../davdroid/resource/CalDavCalendar.java | 4 +- .../davdroid/resource/CardDavAddressBook.java | 4 +- src/at/bitfire/davdroid/resource/Event.java | 249 +- .../davdroid/resource/LocalAddressBook.java | 31 +- .../davdroid/resource/LocalCalendar.java | 361 +- .../davdroid/resource/LocalCollection.java | 13 +- .../davdroid/resource/RemoteCollection.java | 6 +- .../bitfire/davdroid/resource/Resource.java | 3 +- .../CalendarsSyncAdapterService.java | 7 + .../ContactsSyncAdapterService.java | 4 + .../davdroid/syncadapter/SyncManager.java | 6 +- src/ical4j.properties | 1 + test/assets/vienna-evolution.ics | 33 + .../bitfire/davdroid/test/CalendarTest.java | 39 + .../{resource => test}/ContactTest.java | 3 +- 1720 files changed, 134667 insertions(+), 389425 deletions(-) delete mode 100644 libs/biweekly-0.3.1-javadoc.jar delete mode 100644 libs/biweekly-0.3.1-javadoc/META-INF/MANIFEST.MF delete mode 100644 libs/biweekly-0.3.1-javadoc/allclasses-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/allclasses-noframe.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainJsonReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainJsonString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainTextReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainTextString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlDocument.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainJson.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainText.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainXml.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/ICalDataType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/ICalException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/ICalendar.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/ValidationWarnings.WarningsGroup.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/ValidationWarnings.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainJsonReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainJsonString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainTextReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainTextString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlDocument.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainJson.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainText.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainXml.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalDataType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalendar.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/ValidationWarnings.WarningsGroup.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/class-use/ValidationWarnings.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/DaylightSavingsTime.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/ICalComponent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/Observance.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/RawComponent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/StandardTime.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/VAlarm.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/VEvent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/VFreeBusy.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/VJournal.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/VTimezone.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/VTodo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/DaylightSavingsTime.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/ICalComponent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/Observance.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/RawComponent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/StandardTime.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VAlarm.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VEvent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VFreeBusy.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VJournal.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VTimezone.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VTodo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/DaylightSavingsTimeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/ICalComponentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/ICalendarMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/RawComponentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/StandardTimeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VAlarmMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VEventMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VFreeBusyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VJournalMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VTimezoneMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VTodoMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/DaylightSavingsTimeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/ICalComponentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/ICalendarMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/RawComponentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/StandardTimeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VAlarmMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VEventMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VFreeBusyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VJournalMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VTimezoneMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VTodoMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/component/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/CannotParseException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/ICalMarshallerRegistrar.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/SkipMeException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/CannotParseException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/ICalMarshallerRegistrar.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/SkipMeException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalParseException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawReader.JCalDataStreamListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/JsonValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalParseException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawReader.JCalDataStreamListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JsonValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldedLineReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldedLineWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldingScheme.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.ICalDataStreamListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.StopReadingException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawWriter.ParameterValueChangedListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldedLineReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldedLineWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldingScheme.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.ICalDataStreamListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.StopReadingException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawWriter.ParameterValueChangedListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalDocument.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalElement.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalNamespaceContext.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalDocument.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalElement.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalNamespaceContext.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/CalendarUserType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/Encoding.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/EnumParameterValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/FreeBusyType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/ICalParameterCaseClasses.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/ICalParameters.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/ParticipationStatus.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/Range.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/Related.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/RelationshipType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/Role.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/CalendarUserType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Encoding.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/EnumParameterValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/FreeBusyType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ICalParameterCaseClasses.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ICalParameters.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ParticipationStatus.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Range.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Related.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/RelationshipType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Role.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Action.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Attachment.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Attendee.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/CalendarScale.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Categories.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Classification.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Comment.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Completed.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Contact.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Created.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/DateDue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/DateEnd.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/DateOrDateTimeProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/DateStart.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/DateTimeProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/DateTimeStamp.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Description.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/DurationProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/EnumProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/ExceptionDates.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/ExceptionRule.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/FreeBusy.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Geo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/ICalProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/IntegerProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/LastModified.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/ListProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Location.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Method.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Organizer.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/PercentComplete.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Priority.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/ProductId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/RawProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceDates.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceRule.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/RelatedTo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Repeat.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/RequestStatus.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Resources.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Sequence.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Status.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/TextProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneName.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneOffsetFrom.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneOffsetTo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneUrl.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Transparency.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Trigger.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Uid.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Url.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/UtcOffsetProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/ValuedProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Version.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/Xml.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Action.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Attachment.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Attendee.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/CalendarScale.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Categories.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Classification.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Comment.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Completed.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Contact.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Created.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateDue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateEnd.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateOrDateTimeProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateStart.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateTimeProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateTimeStamp.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Description.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DurationProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/EnumProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ExceptionDates.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ExceptionRule.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/FreeBusy.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Geo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ICalProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/IntegerProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/LastModified.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ListProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Location.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Method.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Organizer.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/PercentComplete.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Priority.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ProductId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RawProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceDates.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceRule.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RelatedTo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Repeat.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RequestStatus.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Resources.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Sequence.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Status.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TextProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneName.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneOffsetFrom.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneOffsetTo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneUrl.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Transparency.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Trigger.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Uid.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Url.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/UtcOffsetProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ValuedProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Version.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Xml.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ActionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/AttachmentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/AttendeeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CalendarScaleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CategoriesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ClassificationMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CommentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CompletedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ContactMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CreatedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateDueMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateEndMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateOrDateTimePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateStartMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateTimePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateTimeStampMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DescriptionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DurationPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ExceptionDatesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ExceptionRuleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/FreeBusyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/GeoMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.DateParser.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.DateWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.ListCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.Result.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.SemiStructuredIterator.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.Splitter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.StructuredIterator.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/IntegerPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/LastModifiedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ListPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/LocationMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/MethodMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/OrganizerMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/PercentCompleteMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/PriorityMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ProductIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RawPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceDatesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrencePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceRuleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RelatedToMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RepeatMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RequestStatusMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ResourcesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/SequenceMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/StatusMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/SummaryMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TextListPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TextPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneNameMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneOffsetFromMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneOffsetToMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneUrlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TransparencyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TriggerMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UidMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UrlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UtcOffsetPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/VersionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/XmlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ActionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/AttachmentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/AttendeeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CalendarScaleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CategoriesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ClassificationMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CommentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CompletedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ContactMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CreatedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateDueMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateEndMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateOrDateTimePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateStartMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateTimePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateTimeStampMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DescriptionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DurationPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ExceptionDatesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ExceptionRuleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/FreeBusyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/GeoMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.DateParser.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.DateWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.ListCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.Result.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.SemiStructuredIterator.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.Splitter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.StructuredIterator.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/IntegerPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/LastModifiedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ListPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/LocationMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/MethodMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/OrganizerMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/PercentCompleteMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/PriorityMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ProductIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RawPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceDatesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrencePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceRuleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RelatedToMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RepeatMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RequestStatusMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ResourcesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/SequenceMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/StatusMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/SummaryMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TextListPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TextPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneNameMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneOffsetFromMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneOffsetToMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneUrlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TransparencyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TriggerMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UidMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UrlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UtcOffsetPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/VersionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/XmlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/property/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/Base64.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/CaseClasses.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/DateTimeComponents.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/Duration.Builder.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/Duration.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/ICalDateFormatter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/ICalFloatFormatter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/IOUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/ISOFormat.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/ListMultimap.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/Period.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.Builder.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.DayOfWeek.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.Frequency.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.JoinCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.JoinMapCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/UtcOffset.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/XmlUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Base64.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/CaseClasses.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/DateTimeComponents.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Duration.Builder.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Duration.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ICalDateFormatter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ICalFloatFormatter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/IOUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ISOFormat.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ListMultimap.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Period.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.Builder.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.DayOfWeek.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.Frequency.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.JoinCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.JoinMapCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/UtcOffset.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/XmlUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/doc-files/shBrushJava.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/doc-files/shCore.js delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/package-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/package-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/package-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/biweekly/util/package-use.html delete mode 100644 libs/biweekly-0.3.1-javadoc/constant-values.html delete mode 100644 libs/biweekly-0.3.1-javadoc/deprecated-list.html delete mode 100644 libs/biweekly-0.3.1-javadoc/help-doc.html delete mode 100644 libs/biweekly-0.3.1-javadoc/index-all.html delete mode 100644 libs/biweekly-0.3.1-javadoc/overview-frame.html delete mode 100644 libs/biweekly-0.3.1-javadoc/overview-summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/overview-tree.html delete mode 100644 libs/biweekly-0.3.1-javadoc/package-list delete mode 100644 libs/biweekly-0.3.1-javadoc/serialized-form.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainJsonReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainJsonString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainTextReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainTextString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlDocument.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlString.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainJson.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainText.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainXml.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalDataType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalendar.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/ValidationWarnings.WarningsGroup.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/ValidationWarnings.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/DaylightSavingsTime.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/ICalComponent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/Observance.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/RawComponent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/StandardTime.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VAlarm.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VEvent.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VFreeBusy.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VJournal.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VTimezone.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VTodo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/DaylightSavingsTimeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/ICalComponentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/ICalendarMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/RawComponentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/StandardTimeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VAlarmMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VEventMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VFreeBusyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VJournalMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VTimezoneMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VTodoMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/CannotParseException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/ICalMarshallerRegistrar.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/SkipMeException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalParseException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawReader.JCalDataStreamListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JsonValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldedLineReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldedLineWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldingScheme.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.ICalDataStreamListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.StopReadingException.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawWriter.ParameterValueChangedListener.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalReader.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalDocument.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalElement.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalNamespaceContext.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/CalendarUserType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Encoding.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/EnumParameterValue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/FreeBusyType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ICalParameterCaseClasses.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ICalParameters.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ParticipationStatus.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Range.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Related.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/RelationshipType.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Role.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Action.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Attachment.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Attendee.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/CalendarScale.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Categories.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Classification.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Comment.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Completed.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Contact.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Created.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateDue.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateEnd.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateOrDateTimeProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateStart.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateTimeProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateTimeStamp.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Description.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DurationProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/EnumProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ExceptionDates.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ExceptionRule.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/FreeBusy.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Geo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ICalProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/IntegerProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/LastModified.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ListProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Location.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Method.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Organizer.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/PercentComplete.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Priority.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ProductId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RawProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceDates.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceRule.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RelatedTo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Repeat.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RequestStatus.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Resources.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Sequence.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Status.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Summary.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TextProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneId.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneName.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneOffsetFrom.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneOffsetTo.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneUrl.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Transparency.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Trigger.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Uid.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Url.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/UtcOffsetProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ValuedProperty.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Version.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Xml.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ActionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/AttachmentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/AttendeeMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CalendarScaleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CategoriesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ClassificationMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CommentMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CompletedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ContactMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CreatedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateDueMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateEndMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateOrDateTimePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateStartMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateTimePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateTimeStampMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DescriptionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DurationPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ExceptionDatesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ExceptionRuleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/FreeBusyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/GeoMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.DateParser.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.DateWriter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.ListCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.Result.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.SemiStructuredIterator.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.Splitter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.StructuredIterator.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/IntegerPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/LastModifiedMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ListPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/LocationMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/MethodMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/OrganizerMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/PercentCompleteMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/PriorityMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ProductIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RawPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceDatesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrencePropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceRuleMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RelatedToMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RepeatMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RequestStatusMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ResourcesMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/SequenceMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/StatusMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/SummaryMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TextListPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TextPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneIdMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneNameMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneOffsetFromMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneOffsetToMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneUrlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TransparencyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TriggerMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UidMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UrlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UtcOffsetPropertyMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/VersionMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/XmlMarshaller.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Base64.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/CaseClasses.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/DateTimeComponents.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Duration.Builder.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Duration.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ICalDateFormatter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ICalFloatFormatter.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/IOUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ISOFormat.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ListMultimap.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Period.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.Builder.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.DayOfWeek.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.Frequency.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.JoinCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.JoinMapCallback.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/UtcOffset.html delete mode 100644 libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/XmlUtils.html delete mode 100644 libs/biweekly-0.3.1-javadoc/syntaxhighlighter.css delete mode 100644 libs/biweekly-0.3.1.jar delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/allclasses-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/allclasses-noframe.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/constant-values.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/deprecated-list.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/help-doc.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/index-all.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/index.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/AbstractOutputter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarBuilder.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarOutputter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParser.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParserFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParserImpl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/ContentHandler.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/DefaultCalendarParserFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/FoldingWriter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/HCalendarParser.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/HCalendarParserFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/ParserException.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/UnfoldingReader.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/AbstractOutputter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarBuilder.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarOutputter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParser.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserImpl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/ContentHandler.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/DefaultCalendarParserFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/FoldingWriter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParser.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParserFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/ParserException.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/UnfoldingReader.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-use.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/AbstractDateRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/ComponentRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/DateInRangeRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/Filter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/HasPropertyRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/PeriodRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/Rule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/AbstractDateRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/ComponentRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/DateInRangeRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/Filter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/HasPropertyRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/PeriodRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/Rule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-use.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/AbstractContentFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/AddressList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Calendar.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/CalendarDateFormatFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/CalendarException.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Component.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ComponentFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ComponentList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ConstraintViolationException.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Content.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Date.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateRange.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateTime.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DefaultTimeZoneRegistryFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Dur.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Escapable.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/IndexedComponentList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/IndexedPropertyList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Iso8601.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/LocationTypeList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/NumberList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Parameter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryImpl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryRegistry.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Period.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PeriodList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Property.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryImpl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryRegistry.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Recur.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TextList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Time.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZone.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistry.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryImpl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/UtcOffset.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ValidationException.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Validator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/WeekDay.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/WeekDayList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/AbstractContentFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/AddressList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Calendar.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarDateFormatFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarException.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Component.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ConstraintViolationException.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Content.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Date.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateRange.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateTime.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DefaultTimeZoneRegistryFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Dur.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Escapable.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedComponentList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedPropertyList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Iso8601.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/LocationTypeList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/NumberList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Parameter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryImpl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryRegistry.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Period.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PeriodList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Property.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryImpl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryRegistry.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Recur.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TextList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Time.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZone.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistry.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryImpl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/UtcOffset.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ValidationException.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Validator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDay.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDayList.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Available.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/CalendarComponent.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Daylight.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Observance.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Standard.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VAlarm.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VAvailability.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VEvent.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VFreeBusy.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VJournal.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VTimeZone.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VToDo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VVenue.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/XComponent.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Available.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/CalendarComponent.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Daylight.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Observance.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Standard.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAlarm.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAvailability.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VEvent.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VFreeBusy.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VJournal.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VTimeZone.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VToDo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VVenue.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/XComponent.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-use.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-use.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Abbrev.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/AltRep.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Cn.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/CuType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedFrom.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedTo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Dir.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Encoding.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/FbType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/FmtType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Language.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Member.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/PartStat.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Range.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/RelType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Related.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Role.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Rsvp.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleAgent.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleStatus.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/SentBy.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Type.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/TzId.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Value.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Vvenue.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/XParameter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Abbrev.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/AltRep.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Cn.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/CuType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedFrom.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedTo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Dir.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Encoding.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FbType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FmtType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Language.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Member.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/PartStat.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Range.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/RelType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Related.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Role.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Rsvp.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleAgent.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleStatus.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/SentBy.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Type.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/TzId.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Value.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Vvenue.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/XParameter.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-use.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Action.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Attach.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Attendee.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/BusyType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/CalScale.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Categories.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Clazz.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Comment.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Completed.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Contact.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Country.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Created.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DateListProperty.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DateProperty.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Description.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtEnd.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtStamp.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtStart.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Due.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Duration.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExDate.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExtendedAddress.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/FreeBusy.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Geo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/LastModified.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Locality.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Location.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/LocationType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Method.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Name.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Organizer.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/PercentComplete.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Postalcode.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Priority.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ProdId.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RDate.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RecurrenceId.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Region.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RelatedTo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Repeat.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RequestStatus.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Resources.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Sequence.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Status.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/StreetAddress.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Tel.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Transp.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Trigger.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzId.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzName.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetFrom.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetTo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzUrl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Uid.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Url.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/UtcProperty.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Version.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/XProperty.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Action.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attach.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attendee.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/BusyType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/CalScale.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Categories.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Clazz.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Comment.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Completed.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Contact.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Country.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Created.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateListProperty.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateProperty.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Description.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtEnd.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStamp.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStart.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Due.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Duration.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExDate.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExtendedAddress.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/FreeBusy.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Geo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LastModified.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Locality.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Location.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LocationType.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Method.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Name.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Organizer.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/PercentComplete.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Postalcode.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Priority.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ProdId.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RDate.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RRule.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RecurrenceId.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Region.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RelatedTo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Repeat.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RequestStatus.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Resources.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Sequence.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Status.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/StreetAddress.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Tel.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Transp.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Trigger.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzId.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzName.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetFrom.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetTo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzUrl.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Uid.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Url.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/UtcProperty.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Version.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/XProperty.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-use.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/PublishTransformer.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/Transformer.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/class-use/PublishTransformer.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/class-use/Transformer.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-use.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Calendars.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ComponentValidator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Configurator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Constants.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Dates.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DecoderFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DefaultDecoderFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DefaultEncoderFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/EncoderFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/HostInfo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/InetAddressHostInfo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Numbers.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ParameterValidator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/PropertyValidator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ResourceLoader.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/SimpleHostInfo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Strings.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/TimeZones.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/UidGenerator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Uris.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Calendars.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/CompatibilityHints.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ComponentValidator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Configurator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Constants.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Dates.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DecoderFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultDecoderFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultEncoderFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/EncoderFactory.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/HostInfo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/InetAddressHostInfo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Numbers.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ParameterValidator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/PropertyValidator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ResourceLoader.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/SimpleHostInfo.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Strings.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/TimeZones.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/UidGenerator.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Uris.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-use.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/overview-frame.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/overview-summary.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/overview-tree.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/resources/inherit.gif delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/serialized-form.html delete mode 100644 libs/ical4j-1.0.4/docs/apidocs/stylesheet.css delete mode 100644 libs/ical4j-1.0.4/lib/commons-codec-1.5.jar delete mode 100644 libs/ical4j-1.0.4/lib/commons-logging-1.1.1.jar delete mode 100644 libs/ical4j-1.0.4/lib/ical4j-1.0.4.jar rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/AUTHORS (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/CHANGELOG (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/LICENSE (97%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/README (100%) create mode 100644 libs/ical4j-1.0.5/docs/apidocs/allclasses-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/allclasses-noframe.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/constant-values.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/deprecated-list.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/help-doc.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/index-all.html rename libs/{biweekly-0.3.1-javadoc => ical4j-1.0.5/docs/apidocs}/index.html (65%) create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/AbstractOutputter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarBuilder.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarOutputter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParser.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParserFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParserImpl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/ContentHandler.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/DefaultCalendarParserFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/FoldingWriter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/HCalendarParser.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/HCalendarParserFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/ParserException.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/UnfoldingReader.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/AbstractOutputter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarBuilder.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarOutputter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParser.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserImpl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/ContentHandler.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/DefaultCalendarParserFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/FoldingWriter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParser.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParserFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/ParserException.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/UnfoldingReader.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-tree.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-use.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/AbstractDateRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/ComponentRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/DateInRangeRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/Filter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/HasPropertyRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/PeriodRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/Rule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/AbstractDateRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/ComponentRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/DateInRangeRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/Filter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/HasPropertyRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/PeriodRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/Rule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-tree.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-use.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/AbstractContentFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/AddressList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Calendar.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/CalendarDateFormatFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/CalendarException.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Component.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ComponentFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ComponentList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ConstraintViolationException.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Content.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Date.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateRange.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateTime.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DefaultTimeZoneRegistryFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Dur.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Escapable.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/IndexedComponentList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/IndexedPropertyList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Iso8601.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/LocationTypeList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/NumberList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Parameter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryImpl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryRegistry.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Period.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PeriodList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Property.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryImpl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryRegistry.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Recur.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TextList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Time.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZone.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistry.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryImpl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/UtcOffset.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ValidationException.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Validator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/WeekDay.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/WeekDayList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/AbstractContentFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/AddressList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Calendar.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarDateFormatFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarException.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Component.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ConstraintViolationException.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Content.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Date.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateRange.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateTime.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DefaultTimeZoneRegistryFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Dur.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Escapable.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedComponentList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedPropertyList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Iso8601.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/LocationTypeList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/NumberList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Parameter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryImpl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryRegistry.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Period.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PeriodList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Property.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryImpl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryRegistry.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Recur.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TextList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Time.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZone.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistry.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryImpl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/UtcOffset.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ValidationException.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Validator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDay.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDayList.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Available.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/CalendarComponent.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Daylight.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Observance.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Standard.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VAlarm.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VAvailability.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VEvent.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VFreeBusy.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VJournal.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VTimeZone.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VToDo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VVenue.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/XComponent.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Available.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/CalendarComponent.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Daylight.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Observance.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Standard.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAlarm.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAvailability.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VEvent.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VFreeBusy.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VJournal.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VTimeZone.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VToDo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VVenue.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/XComponent.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-tree.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-use.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-tree.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-use.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Abbrev.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/AltRep.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Cn.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/CuType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedFrom.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedTo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Dir.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Encoding.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/FbType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/FmtType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Language.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Member.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/PartStat.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Range.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/RelType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Related.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Role.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Rsvp.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleAgent.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleStatus.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/SentBy.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Type.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/TzId.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Value.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Vvenue.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/XParameter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Abbrev.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/AltRep.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Cn.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/CuType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedFrom.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedTo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Dir.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Encoding.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FbType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FmtType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Language.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Member.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/PartStat.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Range.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/RelType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Related.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Role.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Rsvp.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleAgent.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleStatus.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/SentBy.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Type.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/TzId.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Value.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Vvenue.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/XParameter.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-tree.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-use.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Action.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Attach.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Attendee.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/BusyType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/CalScale.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Categories.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Clazz.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Comment.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Completed.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Contact.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Country.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Created.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DateListProperty.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DateProperty.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Description.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtEnd.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtStamp.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtStart.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Due.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Duration.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExDate.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExtendedAddress.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/FreeBusy.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Geo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/LastModified.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Locality.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Location.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/LocationType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Method.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Name.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Organizer.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/PercentComplete.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Postalcode.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Priority.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ProdId.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RDate.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RecurrenceId.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Region.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RelatedTo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Repeat.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RequestStatus.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Resources.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Sequence.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Status.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/StreetAddress.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Tel.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Transp.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Trigger.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzId.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzName.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetFrom.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetTo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzUrl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Uid.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Url.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/UtcProperty.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Version.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/XProperty.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Action.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attach.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attendee.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/BusyType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/CalScale.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Categories.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Clazz.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Comment.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Completed.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Contact.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Country.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Created.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateListProperty.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateProperty.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Description.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtEnd.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStamp.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStart.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Due.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Duration.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExDate.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExtendedAddress.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/FreeBusy.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Geo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LastModified.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Locality.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Location.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LocationType.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Method.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Name.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Organizer.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/PercentComplete.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Postalcode.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Priority.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ProdId.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RDate.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RRule.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RecurrenceId.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Region.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RelatedTo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Repeat.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RequestStatus.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Resources.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Sequence.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Status.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/StreetAddress.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Tel.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Transp.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Trigger.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzId.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzName.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetFrom.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetTo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzUrl.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Uid.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Url.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/UtcProperty.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Version.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/XProperty.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-tree.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-use.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/PublishTransformer.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/Transformer.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/class-use/PublishTransformer.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/class-use/Transformer.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-tree.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-use.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Calendars.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ComponentValidator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Configurator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Constants.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Dates.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DecoderFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DefaultDecoderFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DefaultEncoderFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/EncoderFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/HostInfo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/InetAddressHostInfo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Numbers.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ParameterValidator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/PropertyValidator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ResourceLoader.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/SimpleHostInfo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Strings.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/TimeZones.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/UidGenerator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Uris.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Calendars.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/CompatibilityHints.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ComponentValidator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Configurator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Constants.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Dates.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DecoderFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultDecoderFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultEncoderFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/EncoderFactory.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/HostInfo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/InetAddressHostInfo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Numbers.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ParameterValidator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/PropertyValidator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ResourceLoader.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/SimpleHostInfo.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Strings.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/TimeZones.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/UidGenerator.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Uris.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-tree.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-use.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/overview-frame.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/overview-summary.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/overview-tree.html rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/docs/apidocs/package-list (100%) rename libs/{biweekly-0.3.1-javadoc => ical4j-1.0.5/docs/apidocs}/resources/inherit.gif (100%) create mode 100644 libs/ical4j-1.0.5/docs/apidocs/serialized-form.html create mode 100644 libs/ical4j-1.0.5/docs/apidocs/stylesheet.css rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/docs/css/default.css (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/docs/index.html (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/docs/introduction.html (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/docs/license.html (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/FAQ (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/TODO (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/rfc2445.txt (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/rfc2446.txt (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/hcalendar/example1.html (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/hcalendar/example1.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/0.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/13-MoonPhase.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/CalendarDataFile.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/boeing.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/calconnect.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/core.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/eli_courtwright.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/eli_test.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/google_aus_holidays.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/groupwise.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/lastfm.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/multiple_calendars.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/overlaps.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/phpicalendar_sample.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/schedule-unstable.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/smallcluster.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/twinkle.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/twinkle_orig.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/invalid/zidestoreical4jbomb.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/1106817412.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/2207678.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/3.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/4.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/6.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/7.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/ArgentinaHolidays.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Australian32Holidays.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Australian_TV_Melbourne.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/BCP321928.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Belgische32feestdagen.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Buddhist.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Christian32Holidays.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Dryway.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/EXDATE.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Earth32Seasons.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/EstoniaHolidays.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Misc.History.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/New Years Day.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/OZMovies.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Packers.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Session6.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/Standup.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/SwedishHolidays2003-2006.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/THFC.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/afl2004.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/bears.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/blalor.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect10.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect2.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect3.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect4.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect5.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect6.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect7.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect8.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/calconnect9.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/canada.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/categories.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/classify.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/custom_component.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/derryn.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/evolution.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/friday13-NOT.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/friday13.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/incoming.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/japan_west.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/korganizer-lowercase.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/korganizer.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/korganizer_sample.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/lotr-updated.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/lotr.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/mansour.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/mathBirthdays.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/miked.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/multiple_calendars.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/oracle-personal-notes-test-empty.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/oracle-personal-notes-test.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/php-flp.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec3.4.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec3.6.1.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec3.6.2.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec3.6.3.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec3.6.4.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec3.6.5.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec3.6.6.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec4.1.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec4.2.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec4.3.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec4.4.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/rfc5545-sec4.5.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/sunbird_sample.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/talios.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/samples/valid/tmeher.ics (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/standard_deviations.txt (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/zoneinfo-outlook-global/readme.txt (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/etc/zoneinfo-outlook/readme.txt (100%) rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/lib/backport-util-concurrent-3.1.jar (100%) create mode 100644 libs/ical4j-1.0.5/lib/commons-codec-1.8.jar rename libs/{ical4j-1.0.4 => ical4j-1.0.5}/lib/commons-lang-2.6.jar (100%) create mode 100644 libs/ical4j-1.0.5/lib/commons-logging-1.1.3.jar rename libs/{ical4j-1.0.4/lib/groovy-all-1.8.6.jar => ical4j-1.0.5/lib/groovy-all-2.1.1.jar} (51%) create mode 100644 libs/ical4j-1.0.5/lib/ical4j-1.0.5.jar create mode 100644 src/ical4j.properties create mode 100644 test/assets/vienna-evolution.ics create mode 100644 test/src/at/bitfire/davdroid/test/CalendarTest.java rename test/src/at/bitfire/davdroid/{resource => test}/ContactTest.java (92%) diff --git a/.gitignore b/.gitignore index 23a06c4f..b3e06b3b 100644 --- a/.gitignore +++ b/.gitignore @@ -34,7 +34,6 @@ proguard/ ### ECLIPSE *.pydevproject -.project .metadata bin/** tmp/** diff --git a/libs/biweekly-0.3.1-javadoc.jar b/libs/biweekly-0.3.1-javadoc.jar deleted file mode 100644 index e2895efe2b127305e51c6da08e8ae7ff8fbe6840..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2584621 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 z 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� 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%0ASBOGj*hPXu{F;m{c>2- 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�a|b>0;~ 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 )rK51%q9rJ7t&sH_{FQN~kXR_;pc;xcUr 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

BioX3J1k+4_Wa{aLN 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

s+V2?G|jF_ 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�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�QUYz1QfP;Jf4Rde8(vmvhL^Huavs%|;fW@VZI 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 *Og1aT^~-i$BcU`AILHoYt_aBilsz!KyT^M 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

k%`g`kSp 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

CdZ^Xfm$C^qWfyv5+LVlfP>C@|ceun97Htb* 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 k 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

94h;%R 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�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

    BjPk${#W2=XCeUZsKAqQ0lm)GzlD1Q_iqK- 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Ⓢ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 z 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℞UevYv+XS|5+q;ne1=O@WRl*20DhJ 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�cD-{w7 z`g5x%2RaKr;9{?(XS)5@H$uBQpWCVDNmXfR*)Dx2?=x1nUV9;snPryQNtM{J$Nami zcV!lS_{9!TtSZ+BG6UDoLdt2s!I^B;lxlZ1UOzrqV(8Sro#+zKH&j)2<`R4S(Nr^SCx=(Kpz?3sALo;2px?eV7wgb4z(>F!CgFkOzg%Qwqt z0G4^_qkl0Xq`7YA<8VspZJeAG)aI($x39e8k#rf=kyNroKaXpte*hfwXWW^0_v38R z{g>F+3pVL3d(<=pL{sB0&h$fe@g?#VC8=k;?XhP0Oq(H02fsh-q9OujfHRMnGY+Kg zkT72R=iKp1w3sEXXBGI8rU8eLNLj9F0h71c&b7h9g0Uq4ij2=o!^ptIaa^S@r=(CH+ z&wdd!tQsNUGX+f3JD$y8MUCoG|0tD!v5{A%3UO(GQZ@_{9NvEt*n9wz`|~Dl>CF3V z*FYwm=k+Tffeir+w`rIQC^IeO*TVZO1MAl zo_o83tdE}{Ugxg4MJQWoMS7eA;_U&|ZjFXEUj7T2aJGoUsCJj{a7^(DK91{DOO~KM zBRBB2CmByXSd7C^mm&Fa0=1zcBQgFFk z*&Z}rA(7Hx_M3kKrAz}9n(DOZKLZL)aZ5+ME%oyg5@oAooAWPH;hFC=agAXvSyURM zw|4!|PqxBul6>}}0F9=J4!f;|B0S1NP0Ml4oWG2IY=@tVPXZLf*uC5N z>SbNnkXX-M;Kz)}SQ@j5e%PsO%~NS&B-9pF}nV(GtwEyI_<4j)!W>mjdLC!3`}x?QA0pI zih!?f-Ynvz4F5zyvPP$0&oK2RavSyNyXU>O}jWq33i8ci7@mBHb4fQ z=}DTF#eGbGvUCX|Lt#T9p0a}ane+qU;cqAV)biUvs^7p!?b0s#SemQS%B3BT)q^hr zwBNcOpM@=Bq_`FSc#0%RlQN4hil{EgT?ijctNWWLLbjZQqZmMaBhQlN%g(~QiBzV< zo?9wWn|}Re>Wl)dTXjk$-DYuq5fw~~lJU5s9ud+o)u=|=s+5^qY+!jl|`b|%pS0XQeBrQsvhB=FL`YxyqI*c^Xh zY??C$*V$m(6MJNYx(*GRzvZgk{27M~K4jiz-w54o?_SmIu6bK>T?!AbNwGtPE>N^@ z7RT8pqFHQtk-Iy^$=` zZ>RxZ!l<)}WYYR7lOd@Rg-Y_lsHuP39|Id(GdSavsSl6fYArZ##5PyY$D&u+a9E6% zZD#FgC|Nm4QCZZVM#f%J-@-%z9kd2Em;-o;LE%4Sj59@SC%sr=azVFF9VaDh^o5)t zS14pCMH3^XWZWHylUOuN=6gq8&MY7p{m+re48t_K<-LHLexroiG(!KQsW2Ug1mp|+ zC=D{wWnXbRz#8=5H4m1@)JzG(-SLB*EL{TPg|2rej#m>2`Vh%l?RH;?SiPa@S{!+c z{omY!%hRLS8q&L#G#+UG#>z0t25 z7+`P9|9y3sVC|UB+69?0U1dcXw``IF5p5*qHouALT zJx>h9_7-EyKyUVd{UMkhlJD82niM&AD<3?x?>3|_SS0UMBxANIvFLIeE?m?`_ht{M zH;4CKAR{<0IS;XK5o4EZyq&0G*XE|<=&P3ZS&)4V zDkm5&6Rf~J6#Y)LhrVg6&Mr#MTnH$462VhLI(lJ&H3%)w59!2c;%Tw*L_jBf#7Icv&a{F>0j7N`poXK)$T* z%SlDEH$%NZ(p{^2*=CEVsY@IHKh&E*8$Rj~v$D|av#19VH6H&B{xVmHkJ9_Z21igP zqk}bl7xx?W=Ls=>G$|Hjj*Kuw^UZ!WVX!k-B*^CJDjcBrTM)RQ7`sr6wOIi29=--) zmZ-1lCpsX^@xSy^dCN` zYeQjS^C-V{k@GnVy$)Y_QvHBVi6oAnS4;)dlMNzi)BTpcPzFTkA6m`K88)B{rZMIV z&<Gm-!N8!r);k-IM+qh^Zli;U>HK>IfK+ z5Q7&WnJA&-;BVqgm#$nl1iei6BXIitBKB9|d?Y{H(wiPln@=w;DK$qtUCfBnM~MuF zS8YZ~aHdE=3W@A5w2a8S^AHTjbquZ2r)-!rF>Bk2%%YsqGloWjMA+ZZMpcw?ZiL+j1X zt!ho1vDAW5+4V*8G|1uugeGi`ht8aT%Zn4>BkvF^*%D0&D2Y$k0aGP1&hl+b;Py?Q zUyi;Hab2dWRKd{iq*sldj%sYR^Zniqyy92D-U~#(6ctC*)lLm&71dpu@+2p;&#rp6yqr_NuLc7D$v^}V?JuZWRU&#khFOv)O2#!zC zdVyk^-1g{?CF$3t`s3*eM!awOVH3B)1I+y)RdA^kPd50TT>aO$^Xc^)M zJNFg3Y=Szwcu*82#?p#S5hpA*KF3?Qf-nTI$LZ-YHA<>s=xkxNr!cl{a_3Eextx>8 zMNc;#PkF1wFj8-coKOf`1d5j6|2*6oYHs!FM;O}fXjOId@!D04&2wbCcnCv6EK!3Y zu(RlWfJu&3ucPlTet0~L|J^ywsTvGP8BqhS6!fTBdpmR z-`V6=@r^!kLN7E|KfR$%4=Ddq{9eIDmM(finS21hF17|FLC{`E3N;}j2*wS_tnNH1-2 zTt3NLs$}ngx*gN=bzyWGO<>?|>t#ICbJ&C^nOGVK&MqVG0ifiA%EuGbt-Y=p@K`W z;Ywp!%6>V&#LZa27soXc9A&C{!|+r6vd5j?a9(ofy(7(ee%fO7NuZe?etzCYBOtp* zKl0I1u}{hy=3H>D-9B?TGK{`&JZGFnx}w=B(b;#|`4@dEQC6x#Z36lX-C0w1cKkGd zS7xSs(Uu2l&`d&OWrVYyx@C?~61hSu+&tWPCxa1%+OZ`Ddd+Pb=AU|4M$4w(ok-sg zTI=6G(6zAHL~8EIe10B;L0${1F!ko>7OM`S^g{T`p>~#GCR$2y=NrezQu5bcGO>roKO)KT2 z8XXP!4rh#el(!sxeC~%+a0Ec@;z4{8ZWA>plOreq&)70u7Wy&7 z7vOY~r)X~+J)$Jk`4N8bVA52_e;9kKs5say?KZf(JA}gB2@u>0cXxMp_u#Gp zg1bAx-5r9v1b6pS-`?FlM)$?p|9#baBQw8u)Oxvn^FTB|?e{XH$`lF%v2h3qls-1x@3C8VjeJ$W^F5 zig_U2OJ8}(=Zx$4_R145G{4p8#4@yd*4}_AkB4&b-$vUm`K9{li(SGmosWh1*9MGo^$^A#0wLA>|kqjH;r4iK$=eKdw|pl{v~Ff3CW*8pTvzL>}C=?9qukj*{XcIskJ{ryE+whXxjJ_FuOPS=HJ6s*nNq?8@a3a_HTv z=|;(<+ORoaAOZ*hIZd~mvCnkHEiyT*b?SF7*fc>`0v=7V@Gj9wIqN=v`}^J+jvTqj zfDh}hxk+DhrN8!&NceBMG12(hpnaFdS_J+){i$Pk?Q=I!?l)R)o4v8We+T2ArM(Y~ zn4cvt_IeeA4x_&wHG~n3ltb4`gZ)%f`LM|liDXDo3$VRYx}utne!Qe_EXqGA#6FT} z+_q2zvdm2C)6oJ=-_K@7vv?gpBGs(-kIljC{05jt6?Jz@O{8z61O)0?d>n=)8tOaF zCZgJOd_Ks%VtFJK5^PujoaX@JB`OCvJnxk)?q`tt_QpKhSUewnCG#9du4oy0R7fO` z)hK>}ZT}XB16zu5GrVQ#bW~8%32!xz%@I{l$=3IV@N7|j;H1|Mh>VB+BT=gLr0Muo zK2e%=jC-s!h=?;>$Z3pu^lO3&YplXCZUs^zcbI6Fy<*IZ+S|UiXfPm|4DCew8aLSR z2)fdHOz>ScDJy}H6=ng_CXtX?TVHtT))c?H4*x+G?2IY-4`kYvQCrGwcM&r{cLH0N zvnKfW3P97yO2WtB;w*@a>FKCFDSGIt{kvb`UJu~6(aErgF9vx(KQakTEM$ss0v}6E zLEiq?L_(HHa(>Q18wcJ}corC2H8~V1$;44UUTBxwKAK=GD&A@IZka^=za`|c{*uI! zoEfs5qp8{_Zvr(@A8XUxz8~Z$pPvtz)1Ut*DmfbdHn|UaBisTF;s0Po`0pVsXK4H1 zaY=3Ge2stkAP@SJGn_gcW=$x8NGHHTsa_}<%GWR_qh-a~FG-^|=b+w0DF(OE^cf>c z*cab#`j3y<;!F~oCO+?Lrd!1Pf}d^%akhu$4>y=*9bsuD$RH);+KmBP&F+4AvkZ5f z)zZ1!VLe4PNC`>cfBi?_3FJh`^4IO;37Fw<g1RITi{5VXQ;PR*;g zF}~=xeJtWVlWfjyiiuyOayQ-AYFhqrh`xG=ow31JEILnL9U$I9ARdN!CRmBTaE?3U zZUZ0o&7XQ%o~*FCLuS#l#f7M&=hiJI8{+0(rbhvca=UIqE3T`9`@FJnZJ4{m5N1)_ zJsr)KVWE>g14{HgIm6Sti+Kh4+z2=wfscJE`J$N<1tY8)hVWmV(2}X+QTzFD=md0b z3u&raMdoUh3rVPlrH6{Jy!L8M==EyFaKlxlHRDY#Fh{fc@9ou*UeO`1joSYzrnY1y zgO|Z)C(;^}Vn6stGh%4G;>ip9r*z%h$i?&NfmM?41B;H1s4^Qx%7sfx;kRRCaCBaW z+PMfpZ-uUByv`$GGyXl9h|mvry)5<;#L;Kh@!uG67g1}pei=WQ|BAt}3X4kRa1@aW zNzRZ1njxNoE#s{7=-}AEOpLnN7-6TU8f*L-U58FzG~grnxo8W)%&O50W9)3?^^|VT zbz}2rri5R(?;@3Wi;Z$dkj`w*+~*(D^^LRhhtDxrv3Uf*o>>~AIBYK?cxBnafXBJG zdHhRY@@|sVJWV+gqO3bJ=L8%9r((-kO45CWIYn1-nQ_lKDq%9J1j+jQ?t)^YDsD(wE81PC3NjT$G&w z`VK(#$uS%-^K%O%(sK)Hav==}k|XZG>}Dz^uc7@=lJI05;Ih;QJR`0s}E1 z$6V=NRS81n0Cz$S>L)GGNcFuau@r!ydcHiW!)?fGFc;_PbPL}Ns8Z=XQ?I8O&2yu} z4!h-?QnB<>&7@kpJKoFrXwa`1i7bp=rSrCH!iF2pKs4vP>(k%9DyRNNVOjJmE!*pr zvq|*OZ0i=fYpfIJazUPbJ)?s(G4%urj%`%DiXpg8cF>zGwvvC{lbi0%P#dvokznFm zqCOY!rzQI21+uh1`89GP374D4wl|X>abRwO%N!;=WDFpIGT}%8F=3J5()~B~<)1hu zfMqd|o!7&znD3QIH!op-9&p2vnaF1e_+*dp|B=Y?PD*X)pfRZE27qhQOL?JqOP|0W zsJK{`zYQh zqHf+0Vzx<`p2?6IuYPD$Hh3CTtpB(N=C&AL#>F3uk3{f<^%?2)WfFi#V4k>LuqI^g5SBjSaWZd62>pABgW7 z#h!==9CJyDoXI&i{{=AYp^ygzww+jBJ$f*Cay}FsV7F|%pk3%Da%|8p62^v@Yp;tq zJ!KY=D&e&OD%w;l6UPOWilu#2W!(H*%3tME0`~>ewtJjGQ2^|#l_k@r&(Bs$08X30 zfp7!vnFQu;pbti&ADH>Wdw=Sz}Chk&;Om4@{z=HTFRT5Ih(qOJK5X*SH%DntQ5!ey{u{N7a5*H70ijn;Kd+Ye3&v2r7#@! z#i(um6EGn8Rc`Ls|5BIC$`Y;RI2i^t@#68Dx%$7>R)G&EmOF72<_@>cxNIAB(aXP7Rl(S_fr4!>+2m8hyv`unwja5A^XO z-_Ka!swPMKM`m%6nAR$Xw8Q-5BfXy&%gfz$D%AW*|XOQZyVa2 z&6|SeJdra-#2!@Xy=BeK3me=eyl-P0d26V4qD-@JH2H?fir_>?(VKqkye6UVcRad7ao1lH1KUwe!BMMETd4=oQQP(R zD2Oqq6$9qBu2!zY{?u)hano&{So0>SP#IItG#aHN>v9 zOujdnBnD_@2jr5ZMi>2=sbj($Zdo@X2ro~em*lZ_nQRo&-3 zY#uPIyw$!(&Ka}=p=Yw~H4l@czZK%J7b7u&(vuN=bq2V5cEI-X$lrssSV_Q17M0AK z#TVX_0hyGCn&@GBZUeXEh6zC&e;;#nCv2BM`Soj?0jeck5Xb*o82472c-J;>iJ_qi zq*9igoh8V>#YgF&Yc=ii4%W{mBe}iGqkoV5fsp~?_#gKyT#H;x4aK6&X9(PbLoZ93 zngR~QYsQhHJ+@l0Po04w6hdkG7##kcaxeemQW=tpmK_gXH z{g7ps-&thkX^9-CHxLQWoh+R-Z5-ku!*Gr0Gf$fWqjt;814Az)!TD6DK@jAzX6hu< zr}|`d9jM^FU8%A`m!nTd3XcEL5Z~K$7$ZdwHPOAth>)BeDo2~SsnA@9lN^u^RT;$* zDyK<1B+d>=vVZM>eT9zWgU-5@BP(+8ubq`!@GLU;pPlunu=W@Uw6h+lpn`T*(uM?Q z#=w=(SAwuZ--rx!q}VLAfKrG47u$5|Ab^S!X^L#i+AtV~+xNdqHoL6Hi%B4vat~-_ z<%{RK((QUgrsSn7A-|6DT_$qE0?pIon9f-}P&x2>fPNrb+g^RYDyE5158YyFt%E%+ zJ*_u&Hl}nZS*ra@Btx0~%ky<7YnkLwZXK^`a|v`ArMQUfW=~DUZvWqrB%wV0VQvXwSE2?8Q7u$~p`52o%1J1#2WauRc~d-|

    Y{OUh41i9Re?U64>0!UZ-ox*~eMWo_EsZu!j%060_HkX7%Cope7p z3(8SWWy3W?5=o^D__7D0bFp#Lf(zfjFe?ciY}y`661zn8697%KF7iAeXg~V=X2}k8 z(t!WQFQ)BdF#T}=gBS&fDT@EA{LuPkoRwjDTe;=QnP39T?+M1i6Rap={ua=9jE` zW~ylzC00LJzqaSQDyrEScIcAn`5LO1tpCU&FM3%9lii|rr~)T>Gt5H{QN3rP9j-O9 z0Y`DPO-eb+ajI)AgQWmCth~i0!K&4AiK7bj==<@x1ijm@>{_k2cMLWlIkg(xELE=F zHTayfK+gGQo>x&NMu|3f;~ z1_e$qLH&802W~*MVY{ zN99^sVYXUbl-em^QXgYwf3}`&^6+9qcgUHBD8{9tJ0n(Z6%VWZVz{kHNb4t-bZyeT zGyaCaz5}xWWK)TSZENIT6f*rFtSxiT){)aG*|}%MKfjxFgm?IYlg;^j_oL)CR?v>m zo+eibliaBO0QkDX>-l2LxPd@K!;S#iA+ks^Y0l#;9Cb5A!s2O%w8Dx?BzeV;FF>s~ zdCs{f`O+Dw8ho!5`uuha;>aFbSY>4DCDr6ZAF$GmVT(YRXOZ+hlGxs~@qL=e%UR2g z@DN2c+$xU`P5kaT@&<)X`YhqTJe8d z5?+aYT`wzY0Z4D-s8-I6bMVq#5atArJ?hi2>!=qlClz>xAXUX=P|AoNpF57JW;iuZ ztz%YG&VWj@s~Xv)?pd!+En#1g4Ej_PlOVGTs6QXIJ#>S+eLdh@lMO~7_=#=LTDvh? zb*O_3f!kI9b_=S{L;O>pFA+e}>6oeaX|#zTQ2J_8plB5{guey;8fKkw8GIV(%z^hU z9jf?1bFatHk07h=`%mPoYf}Pd*658d;!`OY+s1)wjP(qYh3q561&cqYtoa<6wj(_s zQ01$-*qnmajE->Rn6ZI+2C3LG^h^$C$0IietoM}F(_av1s-jKW6)Vo6p=0gi=no^2 zc)0Zl$!o2{#6M>6V+!FM?T02X2FoYKa|~50Kf?blxG5^X@j)bvTM49oJ57k$?Four z-Ih;34~KY&F zFJa`Ek#Kd|E^=o;nG|b~7@)C1VRWi^k!Nk>9zjUPcX5aXN{vM&`k&@}_}<5YJG?IU zzl(X?7f+~pzkA^Z%0Xg)WeHIVf=n%In~Tf@Ro((bIi@fh zmrz|6x@VEW6hoK%7N0H4ky!#Ubmp|LQ(re3qOBg%?danc{)M~Cqi5x>x3OXUypdao zUmfzAh=kfdhMUz*i>10%C{S@efTPt-G<2LARGd!+L5^#G6k!*APnP18Zd#-laHG(! z?=GXVzf2j8ExfmCSGM#nPuLKxa7~K4GR*MT^l#l-Q%%YiR6do1enXC_HyRvs{QZ_O zK!~GWr@dv@AlU`vbAgLH z-7wIfl>-Qg@Bc2^2 z+Xw9xz?GG45}L0Op^E+aZ)a7n&@{gNHdleBjbf*RMc!+kkJy*{MR?MMxB!|VMd!wv zQ)VRft9TnF_m=P5gU5`!V3+Iex%ZL8`=_!xkOBc=FlT)w$iQ=nA5LM(AL5SVXWjuiNj z!WZB1Q&o>b1YJ$pABBf9B4;IJ%RbjQG54o^fEMjH&p%h}wd2a80ujY4(Zz*YNrjU( z`R5FOy4br}SA0_vlQUwH|ETc8vH#Qqi*xK40 zwKU+Yl!+*0krN3Vsq&0F`{Qv_ObOiDGpU(x1h;kT5CoCImB4uHXTlNjXaBL&wAb$E zu;S?@`3(e1;(u(?4IG8&~ASE*B+y5Q?f0tW-Hv5~NEVZ!GK-{hX{2mM?aSEL$-NuAi%2I`*BzPz6ousbEhF+j{^f|i zi-?`HsmHoM2fjMs>?VTk8mBl-rGlWvGHD)tBu23Uh{5KX*U5h$kJ$B#`%24W)S`2w z?{jF9JRYsKHp|W$h1fi+sG6#ScI~zr3N?)MG9&j4Jfk}?p$4LM71vkEX_-8J)-rBN z(?y^|m=epT3Wd>xk4zTtOP3j^n@Kvgh zQDNHAocu)B9gIBqP-1%yF6OFk$r?-6(ml*jd=;TVEAlyp@FXV3N2NlK`Skls%3Vulhto&nSjtV71KYfT z{C7i_mF(Fz?4P6M3dZZtkh!r+(EdlEFCmc5v->9l%H-?M5DWzKe&+mH`mYY>uLbzh zWN>z+BEq2LC0&ZFJx%864-Qf@vSTCJ1l_dAIy9smZ%6*D(8eLC`>*Jb4VI$5m$)GN z4a7k8vIUP95KWiH#!GtHr{)(3Sd8-bD*?+PJ_uM$gwa6^JF#FQ#7&|F{iG*nDhjbT_eG><<2H772@JQ%s05%w>2LAA8ERi>11 z*RZ&$vYK@w#WAaGb%VWW^7j5R`8}26VA>w+Nx5o&a}m-_gRcj9pXG+tz|9 z!!W1UA8OrY_%MOn;t!IpSzc9fXrUPtrarGr!8fotN1W5KAvsaS8=%DGu3ptgxFh#e zby}U#=PdEheu1Y7BJJYKd?q^)ft(a4EP6V#U$WrKq zD1)74!s2{x`Nrk`v5K)gym>81DfLy;hJdf3>fqBNFFeb2JFP3QPrAP*_Unt`6dpXv^$k!snC zua77XP?v(wFfTutRAKG0VKwN~G_kB#jl@P-x_BNPaBmn?w|m#9liRrCq~^5JzxzspXRI#}kThE5&>SsS_KF5q03RMYDqY8m3I^wXq_w%GVP;))oW7Q=*9U31E}3&YYkX!9Cl?Q!6{_!$GY5ABXH~`?elYksKg) z3hxHop1POGmg{{#rLNfYEbIRF7P1N4+$SzY#ab*ZyUUYoBo2l36~KoImE0IcyMc zu;1Q%5O;qnaXpvG+Abq}iNTQZOyo*0f?^v-$eQ&r@?_5RW?O0jqf$D`Y0UK7uroM& zDu_5(U)w{D#TkZu2#$$)S|!e@9J10`Kwrn^ey}4r4@NK zqI;g7-Vfh%06HxGe&?WN4aEk;-FGab*m@ua*^Lm2#ByAk{rXoZtM%cHF4k-bl?_rv z2D=oIKDa(Uye@c)7_%%5yf=NYxi9Vr^E?Nj1~ltxkDqW8_$_VT!|Hy|JE)G%)VsshaR~*y%l_U} zL@(~{%>XZ^lEXgk*H7Q=653qYjpRi|6Cuo^mBJ9gUx?wT{!f0P<>-emFJSc@1 z@f<@23$cx)e>W~5++3_&pY4NOrn^WCAUL;9mWaY_xxxHZ=jmQIzLnSW9m@&ZY@B0! zcI219Pgu)%ab{f3d5xlUh*X$bWPQ!1NfJ5Hb0@B<#Id@w=sMa1F|ouwkZV4+U0(U< zmrFq4>e)wSie10|rN*gF{7is}M=nu~qY?)*?( zUi;w@k_*rm39KPSNb-p~j5dj=XZj2nANnI#^s~X4#S^`EC*bEC+32LgHl4J7YKZ1uD*g}YuroR$G}wH28ShkI3XZ=7&yK^d<^hw7|%Bm0IY~e z@(|;pyVeyZYM+RzBg6b8r)(^}wPYeQrld!$v~+p&F**-XFHabNpu9&MuQ;h8znV#B zm5BE<%veLB0!w-(Y<}{`bH2493-f)Q+@Mg?RA@T@AXt7ww;`}MT71&ojJ43Vbt-(8 zQ7DsgW~A#9YK))&j8sYdno=l9^zqZa0>D+?GpX82x9GuMXpd0_;4BZARDI}xR3$2} zJ*WPDK;lb=8<9}1j1?+-FHNxk9#~wC2nZ21`elymv0_#;=;$s&(a(x+9Bj3oZe; z%&v;BInyZKS7ce=RMWU|)%iY`1|+sE#vjcp9=}=dz99lxQ?b-AQGf+zlKJr3AS_&Q zc9(f&LeCMaLF|4>(&|!5&gf-s^GWd~<%HjUQ@y}M-9D4LsMA+8bTZ93Q+mU%lOi#w z2>@vUp+(i9NL{rJ&t#ke9$+FP6>z3qjWK&2sn*ENw=SNzXTQ%-0- zkGXk@Vbt6bFxLf7A?VH(o%sFkTqWB?Jk3^ic#i6t#pEgZ@FM7QIGCifF6=Y;rG}_I z)E_(H3Xf|0Rl#DY;>|ofvfKY|Bdq>zFYQ`^@lG7wYy=LRFkG1%rO}Ef;q7RZ^ zo;P0$DUnWOOjWr`(NDMxIwF&-Usj=9DBr|_D#a>39+y=zHrXmZ9k>4bUw@Y47tMnZ zX##+ISaf?%Yom~o#jo6}Lq^*~n+&IB$fisHOK~)AUy(pXq~tZnmU6TNR-_#*^gw!0Nu%RpE8K`1bS4PBlVb!6&scP=60@8rEPgy1 zk2Y0^gs{veMXbzByHaw;_a{rykJ2V9s*nl?QOpexd}CooLzyy^^vy^bo}!3K=@9XAqO?0EE2xe!YGrbLZD$7z=+P&B> zyZ`t9VMQ>~0*G8M%X5DfM zzdfgY?xLW0VxpM)5j*LPls2)L*%F(6Gq;V_Qs&743a!bm>UAJp@B|{XJEWmhm66C- zbaQu8mil7Vbw4UIC;d2{fiuSK3TUXzPvsc6aTG@`%aIt3Z79!EyPtAgsB^pPShTxK zP~Q8t+Q{g@D*FKHxZGwXeY`|V9;y(>w_CiQ{a|5n%cOq{&T5E_%w8Oni{_>by^k(5 z#4ctsWZtjLgH`zL>_J`brlrp7*!SfwTf71ylVtZ2+-XD@{aiAYaL!djM^lVf;9c%l zqDv;yh;_0+5`e*v3dRpsfzu)zsa`hdh(-%%3>Q@Z2@W#eHaYkWRx~M%Iw0w7WqL;f zwsY9=2LGJXzy(LNQc;Z^e8X>7;tNHLT-y(1vG7H-uP!4odg6&CR?8q9(=VcWLNl&M zL+%ywr;7d1jdGVJ=^G0o*pfz2OSfdU{~a>2h4NAou48b!ej; zS;A@@Vw_r%#Qg}fZ!cIFn5WegLb7GqlnaZF!0SR`RuHKsNi*s47_a!x^Y zazRqCB$^fB9vO0hDY*MgENjyx3DN1_Me>#hA2S|C7HqcGwkyI@tK$`iJoDC>`e8eV*xUqhD^Yyo zYsm?Lyfz12Bi@0w_8jePsMZ5qglX0dusZDdXD2fTJ7`ERN`y6X=hLa1ZR20xsXG`l z9qn?3B&;B_mHh|0DBX+MIzt6w=&bEL;|2@#wKs#lc_QiI?{7NrS+`{oAph3qd2F^u z$Ca%1XJ41RcMvg4<;^Bo%>G8uciYE?ewzswv#xE-e@Hptr;(0KP&s6ylfg_o^k?0K z*eN!5M_TFmIbAdM+x>D+&QvieGH(2HKSSysVGSr-B>SnXyY!FZI_6r7Vfsx>R#uqg9 z+R>OEGp0yQFtp_<^4qXUXR-+}&sL6|wtjZy(q4mxgCN>sy?5hn>hOWRa((vtQ58NS z6T{7kDgtK~jttFA*H44rfAPK;{62$NoZW(f$kN4b=)XhQbKq;@RvoeENFq2;#Hxda zA|7a?96HM!6mLC)l60v`TouNiUsHM^S%S4%zydgqtYtFW zVwJK={jO{xB8uP>qe;1c{LUz~^3-8#G8moi|GMT&XqE$isAk)4oSemCyLzyi??fUU z1QTq9eUd`oepWRn^6(Z>CF~7eqX3M{Or$J8Qyt-4C2~sNQH3>Ktz!&^LZn}CDvjkn zEj=1Gmg6~?i-r6%da%~CbAmc3l>RUs_R20b=l6@aufgzGI)~PLSpIJM2}bl9k4_e+ zqkx|-I|!ovs;OqvFXBq3c$3P&_$R+Ch#8^}|EmXQw_7D=CSf zUe2el31idt6o|B4H-C}U2rzoIqjH_}jxOFfQh3t`oi zg6nH#C=30mwg4x{jkCmmp=W=w2P^bS89m^If)bt`{M(IvxhS`j5W1NxmJh2ocz#ro z+aWVGD>r8x!duO^bB1D;!zX5_k?dG9F)kBAbP{2q%?Su z8n6}QabIfA$B2PB8bR;W!B@{*!&7M*Q%?S&OBZ<{8gk(O4T0J>>0)UFBe`yL|9h#7 z!aC*GbwB77IH}#j-~o6nZ0(=ujGN@yk#qI#UCPPR5$W=J4b*<+umXAwswOr-Ww8vU zP?Skr}jo(aQOetOah}mTHQyDrk@l6y?;=<8w(36YvJ4Z6b|F?i8pD^}1)pm=(s1Tn~bT@rxLqYaD4sEkZ3 zj+CT>dd1e^YHD4=W`Iwj4Jqdvb3CEuS4n1<6~(90Mmhi%WY_;uFk(kzVOX)EX8XxJ z?E_#;s`}K<|D*7i9nD!lKh%OcSqmol^O06m1nkd1fKz}4waHJ|di3}-06e}}FHF%Sh17vy7Dk{^*UJP#d(tGVA5x3f{eSDCaq#*wW+| zP$)j(T8SqAEyujCz=x`^$RV=4=0fnVje4Lhb{rt+eab)VYa!FgH`qO^{_KTb4Mxqo zDW!r4RLf(r($bLPl*y?NBwY#sTi}D%V8CJ?_aP1#Dm`{LfF|jaQ3zpk5kM`v+(X=W z5V3?Y57N2nLXW@^Xp;}0W8Am$+*!6~pgK$J$o@jzRueu~J=XB>qKbb@sra{)yX1O1 zzulJ_%TP5)Th%@@NqlV~-#dtUaE5mH$<|$$v+{8uDZuU}PX!WB9=t8%$J_;jE9ORk z2!&$Z5+&G%un5Jqwus`;GY9$%5{Jsk7sXmDOYj6L2j|R=5FdAH4<#xOSd^nMeA-T? zguFGw(z{quHQ=2@1wrJ6Pab;etd+u>N0Z=eHiHVf&`3j|om5_oERBzJGA%GUziXAr z@Ta(tG#j;9{nfkC&;6aBvLYd4c5!6Y`_5X>Qze8)oPEL&*o zx?hfwry3qy@(ILBqdW6LDrW_-(1vMupWe-{_cYd0mY|3V_Q!;seiwL^=aE3ZZ+`s- zg|yvz^qt!68)UzpwC)ix8m+ND{uQlAOSHl>(H4S&%Pp*}4Y4IhmB(B5o{`HNNdVd_ z3fRNz6AHxV|9K32<<)sr2OXmralU*Z|NlQmsal%+*AYtFe)Zqx%mI-U75Z)KM9MO& z2|zStdXwxNAHD;+eQ$9WAV%$V>oFQ^ka)tfqA8hqIg9P^#&>Jt$?7OhBImR9gf|%G zXlr$9#IZ)ZW?GTB`RZZ8^yzab?@qLAy|0+YwmT;;5dAkbpiI|!vT$mG_gy?nP-Z=h z6bVeRE%t^_2VD4pLTi`QAKB>*XLr9s^#*@X{)k;qypNhLX3_8iIHrG`phzu&P!gY| zP@eT)sSHQ`Cb9Z~kx2UC#lK)`%7v&CNjTRQab?`21!BuX=8BYqLQXPePKau_LFvD> zQaxz?Anxf@23Zgl6MZvH43J6*$R#e0E>oSUlgC?Yp|3?0T~zv~V@I1k?(}ZASZm$O zs)>2ZJS9B?B#Up$U2p*_Ir$2K?vl~RGt$ovueQQ#B^{Z3s~YL5;HgBH+^|PY;VM*i z0{$d&5qP-%^q4ySWmtLX_Z|dizy}1si2?6COxhN*FD_33nDh5qN{9~LYu(M9XXH%_ zO=7L)0SFpYC5z;rGa5-S2KtV0w|ovd+k401#+bON*0MfR9h_GY-+v-K?KdNFv&j&W zi2F?VzGYlCj$62!Dg9HiA}Y0LVL2S(hucaDCN9T8j&RS>q<%d)W3bkoRBpx?&shVLC9D zTMYu|n<`e-EP~l>-AG6Ozt^Co;x5}#wyf`k%s=hAWx+~NyDs?O?K%!aXG&9bRLIy@ z(tI>uP*O4Mm8}1@x<@7gTH0k?L}l6U-W-=YXdul9lvL!%TmvN)d3RfEjM#P-(dM_D zf{;KmOpykGV>`i%8$EKSx4C? zxm{RsHw-3Lm|nh~YxB{;Z8dKI-f_iJPwpKmV&? z)gMEo2H2MSCwC;rC)%!TpPovlZXBTB%CXC4ch=Z^JmL)F$UYGLsI$$sC3Cl$Ruh64 zttg2Y2&?-ol{S_~JBP|iiwB6JYa3*XPwXZ{wNqoQ;^~5Z=LK<;Sz3@(x3U{qPHw=XvX4eBfEpP7sOL|HY{>VJ};{-5rPdmZ|lJ7AzFVL`{evI^c zWCX?qA74PhzL7su%~mbVbhab!Yf&lM-QoKf%$~6iCc z3gK5uBZp&*fMp}1zlN&=M5JmLD>UhN@1pAsIB%TYL>$fQ!zF6J! zYIzIKw=+lUPnwteW#jKyOPB%3o}lD8uhH#&9QT?H@K4%LUKyZ)`=lHtZ5Sh6ahlHh zbk=okvF~c%?QDHo@1p$tKOJx<&rs$@5PE|O<3G=({|QHcT4(>BOJhIEOvY4yr<*uc z2%TA|leOw3UZXV?oRM+|j21RObYEI7z&93}x1`cGK~25;=##V(y<(hxw5$cPW%U}E z@TBf-Ht8+>bCmKrL4Wgeupz+)(W%_4REIR?+Ai;t*BAx-Q9Nw=2Ok{<4Tw8gAHMsY z{`)3%{+AQvbFOVy1Noc_8ZYeIcO>xtL=LrO(WcDPI&Dn50%d8-)B(LRE%us?S~w2P z+%W$n0n#`CLn(r7Q$QwSUpi~j9%4rSnVHT5m4k3w;FCQE6r}!57I!?iTLr02or=y~$^H~;dU&#eWgZ-*s2CF37-tU(-tQ4VknKP}-ZM7=by-oc!#t&hUo z%>|V0yeuHn_lH_;gC@=wN~KyRQ-Y!~PUga2mUu40VMPDfoNpu*MhFN}DKG~->m$aK zR4ax84Ai0n#ae#^kt@9@d4u#h3lzoE7@u9Nb>EoD)Cf9gSZMU)?IGvwS{ojE@#5al zwq-rg!iENL(d3siitdUQLC_5x)nPvlh%_0G#9AXg<}05Q82-S7J;ZUnoA6gj*aLs|&xS>`GYo z$QzFX!3q(+yx?D40jXdAB;{cuwtWe!S-Ay&@$E#>CY)pP>&8q5vgB2;>dhA^%v2~W zU;K4!TyD`>p*%D1O*BR3XDt2!~?PDLL`})A(l86(!uH= z#4-^=D$Nxw&oKQ|_1_57Y^5>mqw=o)jCNHcvdI2g=xs79*Ephm801MKc{eV8YXnvF zWwr+2g^+f%_k4#9j-S|&`jDz9DPQ7qZhw7e#6A6tty-lgk#SI|dnxzUeupC*^V>VE zljtb9%*V9j+D7-y$qkOtoBOBV8Oi^C5f6}94F3czBk6=+zOej=DRDmfaDs%lM%L?^DVZfgn2&7+0;M%vajz)af$Nl)svdG7moN+x6oetvPT zm`Vo0wsD*D;fk{FvO8Iv!ak^=JMyZ9D=a6aOcy|PaO%S%VUKjSG;=qGdJ<$S~6Ie1S+4JTfd4(E^a zwm5flS&cfk0?w$^UqVlR048@(K4&lOZ80 zeaElJ3*IQ7iW2v%2c8CH(w@h(^0kUbcr9w&xUG9ll5A;(`+9AWO1|kUs1Pxf6St zDq#eoX&L_5cI}s7W+Z!uj6~cwZcxIUH2R-}c_bDC7f6yk?T}e`S_va>=!XK-@}VRU z0*e?BD&PHb3V^lmPnl+T?2*SKO*>_t*8Bo{Yz(S0`&}MB#pT^oOa1D5LWYS6j&~o6 zl(SCt$HXFKNnB+~l#DH;l_0%`x@VQNlU`8+2K=(ECsgNpRFva~`lR&SPaCU^Oybk2 zBi2J;>qSZADjOpZJpymhNufZ7oSd0f-Twj75DwBLAxf!28`cV#W@%CIjnVAgKoKMd zrZ;Uv0UK2)+Tu?o%#qqDU=#nC#T-|`^7KNna!58U1Qa8q1w#IiF+4w{M|!9Bj#&*# z=+hIc{C+U%!oqFE^v%Q!SA`A217jR&iT|DRU8gw4Op)JDzLLNHZ z{Wj0AL#h1Dq8nTFEQT_}I$?`ayf|@l#W{U}wfX-M_Kv}o#ofAZY};J1ZF8lQj&0kv zZQHi34m-BpQO8EdH+#S5!#%t1x#!cGwW{Wnu`?9i;u&dkf$kA2jrIeGsskueV>H}%(ey=&n4jl~k z=i%ZIP>;1hUk$R;`x*JMD7tNTUR~xmPVc7wm+q=jaFIz?{U%seKUnMatgrD5r+##S z#a!o`Sa9cY5}4HXqSRS?>WH9Nbzx)}atWOt37E18)-uc9utP=pv3l_*hrc)DyS!L9 z$p3q>IMtHS(Qux1$vGNqzIXu@bqT6>YuP#+koS})32?bZ$J9uE#{X7PA-4b&SOw8 zgU)v->+|c>xEaRiXjKQiSGwKzTFAO8hj6B}h6#d+St>J(;shy`3%MPrqA@jXS5POM%1j$e!sAH_?zC>h@Cc0Kw@2T1?Y52 z-3p(U!>9w9^hq0-G#)L&2>Qru<{k?W+U#NfWY8c-O|_1=Lc-uRr|VPnW$9E_^T{Kh zPmbRtj|h?Av2wDa8_9#&W}X3UKRa#fgnobHjp5?iY$J$>q6V-QY_gXoe2bfQ!s#wP1dWX9gS3C2OCkO_-yZh#zAJ8}91?*hRgD^?Y15IIIvj!NKMg z`G!XU{AAvYJ4KU9*ppgR6T=S)C#jeU7q-=7#eqDODnsTCa(H6x7*`1Uau|fa>_@14 z=$rRvg0J)pl9;RHnBkJD0E$*`Lp?IAg`6yk=`L!dcKRx*5R$21#ER{L7voh)bCq&) zkxfZ}N~`V~0Kf_zKz6OOrKSlCTKcou#936EAnn3lh109`5swKZKV9rACbI+>Xn9L4NOQ9nk--M_YsRsokzGIh7=KSjctwv=M7&g@K|=k~Pj}SOeWB#sxz9w2AWzW&a-?$0+!xtk1-@`EcjugFio`VZEJL&Uf zIy(KN#OOO`!Vp+(GuccoRez=jBAi z7tudN1#N??&YZm`9k6RqNw2ujY$Cm!={1Ca*|KF=Am*T+w(04U0`Bq;s{{L4~HA5R$ zQjQpM>V2ZtbMu$m=X@ph#&eoB{xSXdJfaQb*SkL#Njvr_ zLG07Z9r;avMi~9!$;&f)GWBCMyQt>R^FIzE+jDk&xy7oqB4%mp<9TXXr#x4jk!Kfr zc!Ducz4#1#^Q+HvjC6^O_V`iL$nac7BW#M1ul;kM+l7F4s92nSOB(D=>4w8&j8sIci!a=Qv#5jh67 z&IuAr(NrRMspFD#8Iy*5$~~Mw5beG2-w>}2XaD*K%jC89dS4!}y(8i9SDs1_C5SD1 z?}Q$1%>(s?o7q7$hX)0_L?B89ueY3i<^r~7*TET4>;~N6`JQHonz`mzroY$GUeGD*fh}Z#U*a;Kz|Q$@CvbGEF6HoT?_|_E>{XbZ;PB)@K6Bnw zxP76S9$`SWdTe93rsJrxyf`(a=tR2R#A8OoFK6<^fAMVJa%I>|B+?vjMs%tjd!n*! z*t{@X=ECQ5F#Ex1X2+{sZKjlclJAJM@zwEu6~fyyMzCu=04yCA2eFCC^7FZf&)&fanxWg#1oMwnjGIvS^}(jt3tv40Xd@z|u+4g+S1*bvd4!|&@f zNyn()PQi{2XW}BLN^1{!4KK}Qv@l>o9%%Csyj;Hs1`l$>4+4M5217}y(21*bC_Zx{ zV2GdrSrR77^s6R8*{{M3?b`eRpNsG|7r0 zXSqA)aZgbkHYcDLP&wn^=(u*hBKdp-m6B6XGJbb^s#vwe!R(DW=gvVmldM; zC1ki>^+Kt5D#0q~#pRUw4njK-Pb|MVS;IcaVS0Ko)9(S>uqeXd zxPHfo-M;hb8#!y+rZb@wgMN>KQr6b;S`gl{D>=R@RG<@;K=uJB}{UbOn1({bWURg z5Y_~x@%f&5*0%WpiYme4gq&N?xcN8YzHU? zc+zut0+uuZ0`!;yT1yfQ8^!w|R#@ZEKgPqKEYfR~XroOcN{u2y*rH1UT;EMoBt*BA zMBYKnv0$Cfm0|;L`v1fn2AA#!%Ur4$kZT%MYmx;{Q)(JiYs>{*wn`@>WAc_cZ~|ep zfe}wAK*CEjhgyhyIkXWqR0*(rxuikC&#)CrNBe4rujsFdNmjWMvJJqe?K0NQydXQr zuceYTmpk-ZD6I#^UiE%C;`@(Q2ab>r-R|S+&UdVIo;>yNWpW;~YVJ0n1$&1DtZTeG z+cZKvs&R9=aVo;MUs8@qIS6XP zPO7CZp1K*gulAfsf8*ijtJ%!|nf>`O((oDljayxPcb5Mb+)B;V$=TB0?tkG{ips?k zXaV1*_ZbsIX?91HxGL3-C<21pgC;67qzT~S?&m8n*X^VzhB#i!&UXdU ztO5c8AFj^{PlpTLS^jUU5MV{TYNs?|}*Y}*`@L-((B;)^B{f~jEkgO&tE%Y&Z`qbJ;@wIc%r)i`$I^b=4k zOUUKR`Z;=VwEhc~s}O|cE2D@)TvAmh(zTpPvIm#501uyuvH7zMX>!`sSI`$42HNVOgC*cHa zt+VJ!K(n6Ae)xn2nyg%3c!tTnmzmVcm0G zR*H5*oO(B6Na5fqH|E@!Fn%Iv86FrION8v$=&T0XKf~9vR!H&@9}eSI`glqBDtB)h zJlqm56Ox_MBed^E(hl)Az`^%&jca8pC$X8&V-cYI_BzwZ$SB}sIcr{afM(1R+zmh5 zIFpu#$mJCVPwxGKuM;Oq9=jC5KDr;5(J$iU`riaqSDtnOWW|37D#8CnP%*wjnEi*K zn)ok*YMZHrA>7gGKLpk4ON8&wI$3isSbse8m94w0sM37x9WwPhf)@6%);}IAE<9WW zPQ5O5wyOXGX*<9FH$j!kga6CRFm||y#W2C!a_a9^*jhXM;&|-xS}YrSjZx0@w2s(M z)NdBb*iXnT&G={U)=j;-vI7$HSdaXcwX@X`_OU%>#vM@4S^aaUx!NjmbH|IgcQB_Q9^a#%%;rcUX zJvLRlBj-N|)gVJzdMT5WYDx&yk4{v2A>_^~+*o_o%a}P6U*SFI~)$4DBiij(;L%S_VDW+6nW&>j0;oys8mLB*V$uZk>$|zqf;V19DS+o+K zgGXiEkv+0?LH*UVkRz~Nt41$J>}L26Jx&$aRgVwG&DmgaDVEjym0Qbdr*E2K=efYS zs9-{cA+PD1-Kf}SQp<2Ch;8(F!?l@Est3i2{n?72E`I{AP%fAFp1$r z0Dn{n!q72>zB#HsfwM=$ z)FPA=ZCa6R^u;iU^PaYTiIA9TUTwU?T3^o&8mEOV)VR+1K$LEzJ{H2 z8yCbQNJAG_ppm2-l?!Mp?~N2dG?f=yqqANe5^3fhzm2h^HpUy(ungyaQ^`m#Wy#Oy zz+jOJ!TI}+7Ztyv+iFG4v5{S+h6pKrE}h4gcC-sAx%cHz!q|6PNf@9Q{`UhTRQ{UQ zl1@m@&88l-noc1{_w{f9d2#=e`WP)d&Z#V#=ipmH4!bB3k~-r}{G0UNSIr=c>xsaQ*L|6M~$b4h~U$*-ok<8-@Rj8H-vn{?^Um@rft z`-tSG7(T6(xblq`Nsyww~vwv>zHx;CM4O7kL;hVWi?w zL128LsQ6*(QVPd1`D7i^(a&r`l)#@PvOaPiywx-~u@hKzbOYm3as72<-TA&exoB@K3x zlGsWe@^Bl$Vx?Dt>QQd93c!^6jgo>~CKWV6 z(%SM||1gY}>rffO9=`;Pmfr6RjlRo)Ek(zDFBpvu#y*FdzNViAJIH8lejlT+8LMzd z>S*_qLm`|s3P5o{euAFj>tiu%lv|ksFhk<|rSgmvTQEZ>$U;1)=Hf7-TuKyLC_*QS zZ2oOS`AY|J=(`jU(yCzj?IsT6{$tj@c0XB14sOkFEbdVia4(aL_qb9&oD<4>0zOuL zsA1Xn{{up-T6(k1uV8-@SZRm5JFCxkEn@^hGzv4O7oGBtRS(4f&L0(LEl@SYbG#)N znmEh_PHv&CqS}5b;ClbtxTC|+enFJipxJ;F!`Ef5EyVQq|Le-S_4Rj@`Kv$f{rPj3 z|MP!r#`mBI=B~co(NBr~ubXiV+y7-7kg4rlHG%efceecG&XBNqqF50^hi<$|A_b76 zbPIB<)T)m{mDt2HZw(mw6Q3GDG??Q=ecFyPz%C%&mw@h#EDzioTmG$Pz)uVcREt^mr zL^qtJx&SXC?Yg}K&TJnMXC`sW^^ieaeh(L|VG zkKd2?a#bj~YY4A$-AYLGUF}YK5C$(9Hup@}m2ukZv}%GDl7KBQxc@%yrr8eQX};;6 zT6lGt1iDW`B4KI2TBiMrMy$tjD5kJcg7Sl~>;dwpwbQ?k$?fd1{2Xk7Wb$hp^qTZP zh|K^?3bD(CfH^4rI`L+F-U8z?446QD)f`O=V7#Pwr&AcDA!CKf21w>Z83 zX}LpVvhL0T4iM5k@;H+g?lKiF*u-i|7k$?#nHDP}-73MIu{$>6eL>lhc%PETbj2LW zyl%wGyH_SfLhG=@<%VH~xa!PFv!FRdICubCMb=!v3YS${V^D_a9r||UkvURC_;%#! z9AHN&#wsGoyh_cSS$uStLhPo|xJnD@ISDBZTME;Yz@JlvMva&^0V~XI9CiI^AYF?iN1}uv!{Q# zfP+6HCip-%lzB%|&n$yzmUV(uHv0&npXWla1W+JU_1Dg+j=N=gOLFsIZ)h>o%kqPyBGW}^}Gs1IM?)C>*d9;}f zf&Lc4p-etro$O=kdJ64!yVycI_|0gdN}JxOrdT;Xrijkkb_dzGG-OO)V~#cR_kT`y z_@25r%2Mq$FHX^9|<}P~X#^lBkBvMIW^W7}@hcsiD6-OjB4}+b3&w zw^`%WA_vW;#;ORpccwVhSdrv59zfINuE#}Cj8OwoU)>##y? zQ^cc6RZu7E2@9Dj?UlYNM1Pc!0i8^vX)hEhl;ldHvV20BMBLgw?_3<>#b^Ud)MBTU zb($SM!q}tH`y8&W_I<*vv$7A(let4y3-K?~=P>ltSgtUysSdWBqn?9g*M3WvphyQ> z;rMWccYot|`kOCcS=}`qD1XySbY9&u>VE3>Nz1;K=gWBIAJ*&&us7{VKB#l)K+}KZ zLAO^l{s>yUR=tGt9lyK&!2v#``Ab(hOOG9EoKn~KYuncipF=Ux;o(hnGB+-rdCS$% zu@Lh~DP=9&AO)hFNj-Momts$sN#_vjR{tKp?Cu+#$;myE;wE51TD5x^t&d)a-rZr+ zFkOH3E+1-Jw?A<0hwaUmQPa?2|KQS-V2;vstWxGxZ@ERqw9Ue1?aAEI*ZXb+jqy!O z1&|NLr+6!od_!v>l`vkbxQ*rMC#hnbJCXwvc~EVVLY^T9&+}$3AR)^Wg$9M|+wB?* zr-KWVOP;NP@)~k~l4>T)Rp3m~96O74f@6S_CXmc1T|8>h5&>(L@pxR-Y(bH30$P5P+Nzi6Kr z{7KSdm;kr@Utmi%7Fit)Ltj5egSqU5sVK&Z3{e)VlKqb@gQY}o?jq-zDFMWizpKKi}d`<^<0nK%MDSj3|EB+50S48u7{Yp zYL#RuLQlj<9agFxx`Uy4;Y_%+E^xpYnH>k*jgmbW-ZV- zNwGC?Tr{dQ0A^?LMl|4f>ceYRkjLHb0(xksfs3& zsz>?kJthjfga0{NRGCCjmA|h*!9(El>(4;hzkp#-;QpR5+H=}SyCc9OnD-`Rfgk|_ zaRMSz0G|GH{BKXQujTfi`j(gLC&cIf={8i<#Ha`Qy#+G(J}!{`e{O+XT`X;wL=Bxy zIobcicWYj&Z*pRM^!1BU{jG7`V~;!3FGS%im~$&FwO;Rv8-gBDL_X;UuP{Cozs zfj8FZY$@l0!}6Z=R+qci*CqF=|FxHY_Fv=U_rA>}=;P<*6L@33*qSQRaXEZ=L;ijD zJigxTj5c%N$$KHIOqw*~*DwEU!_hB)sBv=>B@c-!!6m9Q;@)dYG}7&z19;a$;B!og zAiBJ`UiVREZ^NqXiyLsA+2HlIuI^h3{IT6yY7$LA^~Z;vbugI)H~Q`)<8O{QP>_l| z4|ex*`JkJ*Pd)yNP5-#rQzmctg^{XRMK&x~Gmj~6(=BcCb-F*o1#Q;e>(Bd!o*CJ+ zO*|66zk&P+e{NLuOtNL)Ta(9^BxGY}Rt5PT37NiF3asK_CG@RfLIKfXVywfaY2RO{ zsj@iq3k+|Ix7ln?Tw$MJJi+ch7m)O;n)U}L3@K7r<2=*D25#Rwd4V+~ILWtj?y5%V zVkUlUaXW$Z0V>5oW3(9$FGnEK&)t4rZhk>3u>~G(elJI#ySwFc{hgdXU-zfaRb=8> z|F@4t;{30}Vh4K4Ma_p*RiE4`Z2xl2zIP{Q@8?$e%mXh!=C$=UzFr?czz|UhO@DJ2 zFZvq_w=KL5n%Mr#-}+>opr6BXEMn_>O7bwB@|mQDsnXTlp+>@lVg<_?(r21z#F2oN z&pIE)OIQ6zJ^Ca|!Q}hR&2337YQPetrFwD2!U*lAgo`JQp}1FWL4gAD;fs7UL}^1{-7MG{ApYziuNJ@5fE#Vb6Q$3xwi|&kUerZBj(EF+-W3K zX^M{5+!K#NS#FWWgoCY73wRn-{+<<+mQ402CVI&jJY`IIT)9^{mTsveKBMkUu*H%k(%x++8j9g5mIy{T|P4bly>3^=hA1Y}{N=mAEBRw{Tfu@w2 zS&;d1IV^bi$2q})VIjvvz)IFJp`&7hhbg-w?;Ip$RKFBqyC_YN zFmSOWWvQ<%MDwlVV-@(fIQPH9jW2N3L;ZMtsxX&B@&4d3eYtkXhQpT**^(2YFk&EK z!-lVbGp2xG1BH(omI(DXu%gRfjg#SFFWPRF7)>&|*Oj{ysO;$EFGa&TcF!uUubNwy zeWst!@>7K2Jl9myD+9M5NeX+g+PsntpGnet)Fd~8-*1Vy7E)aqg;JVmwR1U4CW6K9 zh??h(QU6Z3n+YVwG|MXrHuDY{O5vhW=1SXkWt2ks?~A~BMFb%u!=N|bZI0-ut$Y38 zv6a%YOXsJXKU!XncTs~aH72`z`d)D_MH5R z-k+0UQ|9k+D{X8V?6YeFv>-w$^b7e^PzZLVUt6;%hSy~QkMPwLs@d#wT98A3+dDhf zOH!no3i|3RxW9AG=yy~3R*?DOGwHh^vbiH#yCGsA^~Z9B>xw;^!@$~JHbS`}rV#bV z(tVBA1r{BWD=t7^;8BbD;o~lJLs`kqX;~9EuX4xM!4|AQ?ACHz6k7W%a});SQ3Twf zk$BF-;RXkD%{g@smYF| z#XZ*bYnZo}J3(Q9x9}mAZr^8it$Fe~%JxyN$%~<1puQB2Gh=9NJW^>rU{nWEF&mud z5O~5*+}=<9_O8JIi!8LvOK2$(1yx<$XEj&lSD%Benf~{K`y;0(VaEFM$rmTrc`xr< z<&~gGcRKV>JqB!~+ai)ECaqZ(W5e^w7oLx;gVlZ%9PQP&D?zrqlYW*b0gvk|C82*0 z>lB6EhS;^gkTuiW`h2cBT^Cw{TJD_jUUT$3W_E3gxhecR>g~83hW^@3<$)cSZqwyM zT8|SDVp_AKdgIrAQ00##nSiHm)hA8~tmFiD}zA93W6BMw9 zPn%FC&5_c&sC18!KXf|&>D&pwOE$g$dg*y2$rfLFUkLS=lw9VbUgn$;I-PqnF~W}l ze10mq=gP2n$H_2>2FL~lz?{NHY7XwJw_V9BD8S5l!6;yWw?u$88CgfuSyQ#6X z5qu%J^(>o%lV$y(@P`q(Kgi&hA}GBtf7oCUSNmY7Zs)>EiA|9U3W`3wRtx6}B~DN_ zQhU-9PAsoEnY4mUy8)rga=H#w`9W_uy?6Cbj+l~_*NsR%f2ooPskbap?EoO?9mhr5 zgRO^b4U6zP{zLn9{H7QoEij@*s^tjEbRoa}CK`Os2|GYDTTLM0EVV*f99Cy%vJQVV z#Pw{4g;v7wjzgs2x1ezaR1pc2fF-i5chE%pa!JQ2(lL`gVCGPG>xrF;7C-VJnL^c$ zAq;mm+88m_=h!Ew0{8B>tzMS@OO^ftqMv2b)#I(9xypsqsX1eQJVBW}f>6hplj`bu zP5(#K+Gr@5;WN|(W`bQS(vmV7+UOGrGsrgiC`zN<-5I_Hq**OF)Hu^ETqFAQ-Or4n zjt_!8d1Qgq`FzD`kJEe|b>%o7XjV{CoGSgdBA&i}thO_2=a)ZK`pT9Q(eP3|z4<_F z4;UTQpyg1rRK@HO}2rG4V5 zT{(w0lgGL7*v4u9-66RficC2>s?{=v^}vO6wW9i`NY!wU+@1O&F zdgScpAEb~8F#`>)OUm_wl4px~Ow5WLe>Y)wYw^!6Y0(i%{W>9&dbrk`za zaGP@6NncH}H~N~yQuGC{j1Vj{@RRv&W{s7igFVj|o;0lQ{|B z{m6Kn$+Htmb9lt)=)oEe$OVv4tcx(v;|3{33ew{zO%utS7yDJ9Zs~yLzcN02ZHY{$ zif8gU-J?B6Lf-USG>3MtBq35Ko)kABc8AC}xH`_0U5esPzH{Gu_uMZ~&(y4se$sUu zAvlT1aDI+H|AU*b4pfQ|WURLLWW=~J8f3VG_z9hVSK27R;MPVseoRj?l~ zZxe)oaRkLMnUW{bXl0Qk(4cY^_KsGPpQE3*C||UPhMrzhM9ul2RjH4xq`z(OJI*_i zK1Z*}AUA>YT+lr-_pU)O8Kaoq00-w0hZ-J70&DGx2z)n~7vE^|abc^ACS)MR-zf4% zA>3r~CB6h2vP%)nOOT{Oc@Hn*jH==toUDaF9dzmIA1Sd@0X64$lO zJfsjf9qg;16O6y$bD%hpFGh{8TrE|2I!qG64`|gS4~$k{T^cK|3C3&qz+#i0T#poYbW5_q zFaYQH1%NbyC^9P$m80l^qUMF7b@_!h zr7?kwFBZX^uO6`;B*p+ois{)`p*lhnmp!7TrvGDrQ`nG0p|sVw!4ypb!GxG%o%#-n z_HY@h34l9tPyiJlo)O!bpBIsT7tC}WN3ZBY8*vy#`x$NHOw=FtVu_%peOR zE~Yk6xcDpCp1XCffL$5v6)|Y9;r}Tp&cdZ)SckSGhM_2?dK|>jl!<>oe%rj}w3qbz z*(Qw;Ewo`Cw&;X!x9kFb13dSWc0CZxr9#%4SbA_)y?2NcJ?hXELQTX4WZ84TZu-e| zsei?jF!fr077&7{=zwhfYa0Sm45NF9_W~<}@0q?MD?Nb!y*MF}iwo9Y&JfbAuqBqD zD1xX8mBAQvhLjBRY7GCoaQ1~2Mg@7z z=N59M8A0J3K24!IIc(^LG;Hgg52kkwYE)SwoLrM8b(-X3cMED%s$;S422SW`N120- z_)U=-`XOV~5&`OGUvjNPWOO!uQ!fA(`viWKMgczpf8E4dDM*c}5 z^HsVbd^JHw;SE>k!hTZ*p~wtim&G0-@ziKg(sA2F9w-EELrB*$b*VM)$>I{nl z!`Q+AZ}0K55W^~^{ih~g5K;0-MUQbATGTR+3NP_iL|wZcrpvbWdfV>E|E%^DQvUOf zdILh@G?EZ+mF_$Rv!J6WmeT~|Ql|)GJ+X3!F<|+UmaC{1sPg8W%@*}UtcVz_aCLC- zR7Hj_5nm=6PjF}9jJkZL->2L{9APzK{B5a8j$3C!W@pW6sItZC46bP`Z*e5;Fk||c42_>J*`QcV^0bMNqA}lA0 zhd)g#=!Q+ComvKzEL;rJ_6C=g3_H9=L5an3}vz$%RvicUwMb>ROu^&Ib zm|O!IS~d@nm1FnheDWH}U={OZSY>{Q?cV$W_#D$crS^!W+}n;10(CFSvM>XIa|I9X z;zyd~F-DQ^d6DR$ga*+)WNJiZQ^;b@vN5MK?B?0DQ+=&&mA-riaRCQyi{{74k^8W;pI3?iRMI5bRAO2wOE@eRk&-N z?&ojA6rwTmSH;G#B`i8yDMT+`o%A=Sav62RnB-MlP<%$uUCQhc=Nqde^)_V@LXj^# z@jE~)&71U>d~9Qi@WitFcD%Jw-r#-L8HwK4UEay3sHVX9!QV z8j=~G4|n5GY^eqkrB;Y}%C0ZDC;=wqd}Fd{ixehK$))Tp+R;_r`HqS=v?}V5XRFUc znnJqHPf<|(78q1Ze>ZWQUJcgNIT$*-_vo$JsmhA*6;(8m%eV<{{1g8XE1xR$O#S6Q z`d9Bs?3m~)lkJP^ZTbFx#yxd`Ph&@ZD^uGo{!eK2fA>VLcR5uqg=qgW5NMM^SzU7+HOg&xb>va3Y!((zr2yrz1U|jR)+!*Br^X2w& zIPvR?n`nB?r+F*HJT-jo`P-`wAMx`_#rKmfxt_}YGy8e3xqGkr`m60-Z&zaA?vgLQ zwl~#ZO%uwxe}+z|pYL&^Br>OEXczV$AKi1e!D9<7`4iK1w0iuzy`t~QY;bD(dk3t# zo=JwWNTVFUtwnqLg_NchwseC+DYg9!-2Sv4ThBterEnN4iTi zB{&N$h;NhE7d|j#JY02;PKmcw)mUxtdGhjOMPJB<+#VHoft25ah^VGthn2y1Qq=!E zT>o8SI{`{@Ap7VuFmU!haF+6uY)#V8fvSGRY`W($=(0@^e#NGHJ=9s>-wC^>_lB=K zon&)mZI#5!BwOKY`$865IO2w1e9fvE<|??eoP9L|`}JZRSv?RT71A4yOFt--KZ2-N z`g1mYBYkpu)!>69v<^G)bzbeu;z&wh5gbLUNB4?1f+SB0<-m2wTf41Oew%ZbzQnZK z7Eo_@2z0L^^>EK-I#a<@KbOOp`pDwPwn5}0IrJcMvZ0Yv$hx=FWJ1UX^8NiGZx-8N zhlD$*aA-It?l|UT(Rm{sPS3P!MD-m_VJl0IvPc$hd0Cepmqn3o(3p9x_Q|^-Vx9rw z9Lzn2sI*)e@=G!bAv4GGo%tqh(|5@##=@7!JTniQSr?|-2P-U7suPpDv9P(o9SUEnYOL_2QpZ5{Mxl@l*%+$+BqEMFJ0~1p$ zJnJXF6Xk>^wEDqTqTXq~KJSF+5K2a$`0pMfG5380vx(cc;y?tX(}YR9Y&|}3bwX}` z=aS90)q&~ZPNkno>NZ}^g1Mc| z*_lIvvA@L#e<+*ZMe{k7N&1o+m^CA@ZXS75f$y80Egfc<`3k61YD*41)ba}UXLj*2 zZp}|+%G%YLUwOEYiQH@I37@9+y`MI~pu$sfo|81jO1)N%k>JSNrE;9{p8u+8oW+iN z_bD=xloHd|t*wlS8leB;u&h8x$}|L@vPmmog2v~`XWW*bvDl+-G%o#Y=5zfC0NJX1 z4Z`1i>tyG?@secgjIl)sj9PlwGOp&r2t+MoBekMOh_IFGTM`u8bROS+?MT#Df zK#P{dH61XqBm_*Vmyg;T`ZZrHAlMGXn6x6vs1!@K8gMouHI36fEwXyOJuHe976)bi zIwOF?wOOf>UO%Iud+3|Eo)qO>lnwXaZjtBvz47mbraZ*BUgX**B#YH<6h zu^g`o&JZ)^^4QR(d2zA-B5gMlg=2e~SySWQO@3w}oYioO>ryPUs#bOS#DJK&bB)K? z`it&1*J?|SV}rvMQQhD6rEm1g6!$1UV<^PJs;%IjG%L$?Q9@p?L$%bH;9geM{!Vu} zd-j8hr-;uUf6BG=)Ia*Ywd(QeabxIdcn%(P?V@KYcI4jGv_k&_IC{D1f6Y0seY7B{ z9f4~P-#x#UPwjzT)VdzJ6N1x2=R+iCa@#eECa z`tg)_V*7;|-6 z>M!O)v4<9vJXAg&KgP%3UaO;Un;0VI(hy_fYmrt^->$q3V{1)9|7k2*R5t#e{`uYE zxu0#Xs9Q6aSw#%1oog<;XHPFYuh?Ku%gv)i)ZUHsVu>48i>;|p&uF6r)-sZc?eA$# zFFU&C*4MZvYU=(@E>_fQCvn|jW7ZutFy z%)sh|H=qv4EU`_cjvyMEUS)7j|M4}T{WJvK+jHWhd{m^RhGeZ^xtA0+!tcQ)+E04+Rk6)o{k3-DDe8&C02%7MNB9ne8F0KNw9>we<|)E@dUkd!q8{!O?j?LEZG_(gSnZ_? z%4x^d#F%zwyQ;(Nv#L)NJ2&~|y~lI(dpH*oQNAO5XF`}sB*@90S}!EO#zvI5T(!Qh=udeZ8ucFAN!OS)0XOGq*M_d75nYGu?kA-k zpFTVCC@$OPBIT{r@<$H>2h|tZklG|T-A4u&qReinIE$sQx}`$b3@`(XS&u30Mhp|$ zJifCYbZ=$@SP^G-?OWO~T|FXLQ{!~2Zexlnezi*<{?|Q6SjP-BXtal=X%o&j=`bTe zOYJ5HCzDMzWpai%=)x?n3gBZn4cMP-E)eh1K#)m%3#0ylsl-%1=(~) z&lDm|p4Zr&Ma9^R!ODGei|zQG*8wg}a_Kus;9E9z+D0Eg?9|@)^+Xn_S*hnMgB}I`Wd{W{Dca z{ZWYnzIqvj6|ib2g;|}_=hl3dUMHObeDUS!PP;w4#{05l*-qbFx_EZw8$#2v#a;>j zR=jcxe4sFCOZcsAZtZ3#8Sd{_h$*-$T%jRmzD3y3DV5liWPy0^vi4gSC|-||dIVi% zdKtkGRtisbKeM1GR&Oiy;4qZ=rue~J88V+*aHv|S%Drgls#d)gbnOZ=b3tQ=rUvs*pLKL!7#~C1GT$OG;VJ6?_wDNeN&TE&ec4symN{mpQ=v zfNy8$%wiQ}4;8b}`mT1sX^XQ^54#25NX<2o4Lp0LIYy?7r|!1(Dn|zGR>3~TnWkOMgt=n9#tyqb<`A+wDzah@G<y?DIZ#p;Yi2 z(fhtS1WLyq=yEGsE=^d~pBUm|b6oSX1l<7Lz8GYP9VFmD!U;Hc_|1sIR5GL942M{OI}YSEU0iMM5jszz!cGWEA4xq*^$6o9dpeNISZwkeXw z=*=TG?RzvTjHY^yiS7}( zf_%3oNLCZ6_{5sV%Rl9Pxk40H3Ku%I84~TNWShz%?r5HhQ08EE>Ys}RNJBBS1|-js z$y-!x6C}2g?E`+u06NE{8kHEJUgdCR$0{ z82==A7aUXU1!md_5(r)kPc~c*)k)C}6e>$GvlNjm6liu*Bu~+tLs-mW1Xh2Ka+6F$ zq3qESk5d=87m=J}Xxv4bWj8T6lxu?aN03wDoDy(c^m5Kv7|yZRKZHww5;m&!O<^Sz zDxgTHLohc80SOXNI0pcVIfSU>!!36^9;&^NlNyG9cy)7ysteYM0-h<5WA=nGh}h)D zJ-)$%&|dldFs`wIKilNIkX@^x7=%BST&5g?5Ak;(d%;R3Zmt}^f2LuwIFmy*SEcm7 zeK0%R%D6P9CD=e=*@|v;4sP^omte#CZ#7hHouoXvLafjU-FTG)$i^=*r84M4v z9~km6ed)w0IzI~SHUdc~Wh$8@>qT}xsY%);QXI6W#zOcpMebAtV@i_;4gO>oktj(Y z1JMpoYbj5C<42gohtWjPe;^IudNjg?U@RYts z0Zbp1lG;mhndre}c_v=wnQ$SU4%4?*NJ-LW@culhM{3*W^$l`hM{3*Y?zt3VP@vd@7{f-cUQXm7gQQ~ zeC%^9%eH*Ze4m-;!w);;JyfB0k`Y?)U@$79AIFTN;v--D4W9Z~)Ks18QTOib_-3gE zrq(%8EIW$U*ya2oP{+`iqy*QDJ+uIUWW?hyxFdbASZ-%(49S^re0|hT-4!u$0ci7< z;T$DhlMe7*B#D_F-ZG&z#6Zw9lq%Oe)e;TF2r1P$WUF6y>-!=MAB>40q(TSMc=ndX zJ`2e3RsXqeRT&O*ZrE+_~ennR5{OzV?JrNWbbgkLzOXGdno z_fR%{A?CyMZOSHkm#u2@r)OC?00SIEVPwM6n9$&+yWE`n2F01#ms zQiWqz0Tv{nwBRIE84PGaZ^5dP;Oa(UN1%xj{;vm)tUoZre=Cmbn~$;BtzpGWkk|wZ zkaONPvCN~pK_W=jeg1ZgiP<8imQFQ}V5&;i8No_$1B;A#%fgqwpv9+;RsTCWHi7KQl7~Q|P`(whv zJ1Vn0BI*fUSrk$VP0HXn0{!`@&)i(Qks2=$-BC1pv>aP|EDEuNG_W9Y_blb!%-ctW zrH}B5DI2}*?yF+AJuD;048)+rZn#1?2W%Zo2OGm|O}nA#F?kNpZE%Cfsz%v>Bvf$vXxg}+ULCh_Os zf#5qI@F;x3iE|+;E$zwEqg(Zh17h}*Q_>siAnWLXA{`r_h+`aJn9mFeI)ZoGe@Nxg z62A3g@9v!Soibd0UO=(nec(fX`u|=aIz~JZN{jzl(EI&A-2C1=lL)m8p-asyvMWLK3TrA3KAEU100J2A7|@(IWG}z))Yz#9>~a`%XQBj7uUNyV!ms2z~v1)9jezNN7)iE+%tsd*>^Zc+Ws-l2&tF~ zKFBnm;Ncn0_CTJrF`Y2UoF84hJ3ZnuP9A2)U}I2N9=EwB2zFY~=eNx>{JMu=m)qk( zujB5;Z{B!`q!X55|Hk!8JrlN~d&WK2i8IKA!&mepqr9lqY*ns6hXcNzXPg`orEGFv!%~x8W7-Bi>v(gVU7jyz!(H9Z zrn1bC&V0T07dQXx-LJ8rWl~*@b(zqwyIM#rTL!hA^|I~-Kg%=hTIYX!(Kwp}r%5-* zvR%JhDKnG8kkv>$Bh?jWKm0}Wr!wH6725V#R>rU}O1CcLJY=!Xuya|WVm`d#r$fqt z$C6&S_7yIq7j(iI-qK^KfN_5J%hlk0_2BJ6+t%ME-=;;=pV_yJUgh7KUszB5n!nbS zb-Ofi5Y*h;YWR8a5PcSK2O-}2mAncjd0D#bX~4a{CY)HVG-YdETzEnf$1E8RJ#)A% z`sg9(RT#avu3f~)Ykf32`D~tT`f{4Cu(T0IFS~pc2`qfr@NzaZ$jLjEg7FY0oH*a# zFa70fJ3`{oc&<7deRuJD9oBz-d4F6`z3!+q%~)>;+wnbkZ{;&_d+2TJE*`8WBYdfD zLt8!%b$Q93aB1_KJyE~AJGM6I*z|lZm{xmvUa^et9$ej+;-p>t`jhW0`F_u3a&D>w z_Ow%U-8Sxr-_l8R%+5nLH#cX!NTtH^Vddgc21-ZQL;dP%uflIBQ}K?Ew#5(050J|$ z#~DgTf(pu#PlWD+8rRe@w?5B9??#LR=ts@;+n&W5@n)RYX|Lf_Lk;UOlHZA&Cz-h; ziQy!LBj4(sp$Wvc?;OwkBI}P;nfXQ+)@WarY{m--AAFp*RR=rH_AdMfn5IE(R$>hBmWv9|WsI$|*0hL6K@1NC)CV=DJorN6s~(^G4vr`RjlW|XG!%sh- z>^gGeOJ9!?64h>-Cwc^e`bTvY)M6oL6FXgamqxzojHRqntq~Bm>4)+8+dSepi0eVA zR@@n$}qXy_dipZXCs);+Q6`hB~Z zG(W4dFx@BhtlyL;J?l4p>@R`F%(dAoW1c04lKI9pw=tRS1GkXDWIgAbizMG<%~N7z z)>Gr{xC&vVFh9}|7O1W4LC*zJRFsiUvXX&vDJ(D;3ZgE+3A@;@=%|Lt(=FyI{2L-v zQo`+ELI)bLef#k0T)IIGiqnOs_s?>f`?{i>F_#w6s zyJMgctM{VlTlxh5!Y)m_d1Cf>WU#7sJG-u_JG?UfjxfotTEQJg4_;VAP?DJmHEXFZ zm>u-Q&N>61x@_n$5-MEEBg}GOEd+fc$&;_`BB~YUSn8BluISc=(^jhPGEUp*zUbpp z+{m5V_>C~x7j_}{?=d=?2w`NYJfewewo2G_DbMvY+tP8YgO6c$5psx{T@IHJVPsww zR{!X|5r0OtLUMn_~pu#8DJzE0d4%SGV79^@zXqX1+Ox>1fFTQ*G z)8{s@yJ=L>qa!1}a|BV|f3 zP?ScdQS$t4AtISJbsr# zSVN2s!}%tPQQ9sQlX0|liz7$%a*<+oOHDKNt4r$xNZx{oHnQBZZ{6td?!QGN;{eXk^B<9ro5#ZHm`2#pXYAnK`EQt zq>iV@fp1WzUa`=MJX1JY$ImG_&6Cp>>E+MxvU*QNIrWnX^=>C4;NLkqnW-+FfS1lz ziY7L@_(6Gm5_$BRRjhbYT`3x5ce1FMN+Gu3hqc!br>Kv;cN6rmC&@lirh4&Yb27 zw5}N~AlKpJkB#{~3UjCOk*P(+^8It>&9-&I_UNSRp`|>+ak<#>Sf*ipj<@!%c0!h6 zYEk*=gM_@>3;qUVP6*_HwWMK$0?}ew|F{i*wk^$y;2m}JK%JN-mzlu8z{6(q_CmkN z4!LUa2O3?TX6Uoq<(M+}+y~;P-8+0B!tA?OoBNc^@qE7i2VUF&VfA1o;O^?Hxl;RJmOHYi<76;s$3mQ2M?8%$EAsuMW;Wbh)~%Cm zvrRFkJr!>^o_U*K{F_r-S!?GDxB6GM^{A!K5hSr(SC3)<0reE5tIf=5R3aME9mUkr zp}2GVd5u7awSONPj^wW&^+IOh2nF49Cm&wjx>a6SpP7@$M5AiT>?FN69x$_IE35K5cga~h0|CSDvNueXdYDW7U1V=vxd z3*C}FCfb>C0|jZaBwlChddeMFhXx)2w$c76J%DLLt6JdA+Mg!L0_Y3@q0FpHs`VVO zHIG4~7>I`I$e>H=Q^;J?6$6Tb-%L|9y`FNlwkl!*=3JYk*)FgGX9#n46+WbMAopn5 z<+*mXn}yTILPB)JBwOvF{(23y*oPFDrdx7^&|6SQ{;^jxb4+7bX?07fB;+L)94=Xu zWhNo(#X`k3F>DqFAGH(3Io)u8ZLt>{9%LjoHboP-g>Y{$BXq-s7-4V*zc4Y$zL`n$Ri{>V0a;!?m2;aAgZ&z^fq1F&TTxt zU6*hpM^3=j|Babs5WzFL70IY9*?GyWEWZuEb2FMJ#x82?o|(?nN`e4~n?+{0_AOWc zI7wfbf$YkF`;yD+e%UML_vc0NA(JQpE#SArTOaBjw$-)eOh$uL)Ql}4`wk={)Q27YeU7fPjcEL^_?RuzCEP)Ok_ows_~6_u%C=ls4?O)pqs_Un4mk4L z3{q4@JA*2?KJ{MezI4LKp@{_17*Uw3gCtiyQrrD8Vv=>26sferYr%=laA;AA@CQ&% zVx-vP;_>*A@#0&oG0K>ct{NwXKw;UC+0;m!2vn&pAZS~{c=0s$DF9Xo6Im#!j~)_n zgv6;wYQHZ=1UB)~i3u#&29|OeRREdfrrUBqC|acLY8Q$$2_DG<6Uw+f!Icv|x7q@} zFG@7r+aCStlI&{a$Iw$QtR?COO@On~D^plGETtA22Q~>!kIr8QA6O52^y|y-Xn6$f zuzLVw=H&~=e6(wVcEri8G){sz)ce1ChA7CED6tlCvb-C>wg6F4((!N>LztLM1X$Z} zmZ?zxsZc>UV?aI0h!8%wFn%8F3cwh&{|$2YnzHx?u$GbEg`J2TuJ_+NOiEqI|GEMHk+PvNQCJ~(Ry z`o4UPnK=m8;qMipZ_g>GPc6Cd4)8)dm^?{CQ!ZDa4c{q>-}@z6i;$}LNGhCGuw8u= zrwuLrA~jdaCSCsJApor?;5ogfc@}0pu`K;tb(m_%-@|?7^o2;drT%lq(BczHuYnEd zB7b10KX9O+RZ5f3i$s4|(X{>XywV>S;t%X6nteR)aSiD7BM~G42-eiqM!UX7OsgQ; z9CDWT#eIA0@!dV8-^o${IFJAwY93l6vh{XcS9dn3WzM{YqWo_|P^+3RXaTV#fY_QK zvPc~$cnlEEr(4z?WtHmQDS|z~ilN^$-d6Yu5BwT$o6S4a|37UYOPcBjO0j-G<8s|u zf--ia&~{gn1zNG6q#I`a(EMND$I0#&KiAc4kc0zYKI%0p>b1QNG$|oCDWMi`PPHvy zlmsxEV4J~rW~f8?cCvLJ@Fm>;i=@!Y+O6G1j2S!=6j%u=iPFViHsmCpKG9l5L5Cf| z5D|9ZDyJ7xHp)C^&kZWwhK_Y&kYLQ?aU9 z=|~73i^k7M)h1P=5QvuTUO{vb2U11mC?)MmM#cs{Su7&7Xr}mkM-=0H*8QoC@9N6{0Nmzw!5Bsju9c-ZJc5&r?ahvKtUS_3#qCGCMH=|N5klF6{C6;Ry2 z4PS8csKEE_uXrKm;cgm}(jSH3#s1vVi)B$Sbp^jh__yft{uWf~8KWPdc4d%m20zBQ zrYxW>9;}2cP=b`o$Mgg{Mp2{&SEde}xC9X#sZzS--V4z_NRu>>N?P@I2!|JiQ>6L| z_lU*^M+m$H2S-pz7WcFonbgKJy7(0Y(QEp~%o@ro%QMS!XYGzUQ|83;ps~7bix{;; z96IIDi`x)EQ*7O_IG5I$53H36CQL7D$$Ov63L1({9ci@VQJQE#4p(xnrMZe+k2RKg zh1bJ=wHz)Z;b5)v`^eye06mQyMd&pM-ipN^MwMX?)rLFS52At71wv~25+1TGc(S|L zsR`wT(Bo)6P_& z{Dqf%4u>dEa0mfqC_Eka$2Eg`L>IT=cUA>vfM4)t@m4Zn!urvNRbLd-8J4YavX5>g_)d9xz4KKx{TeZc>>-h zT02@l2HMbpOj6h4Rjud+-=q>HhihcC(7P!20@Y^hV#nD$QsN27$APBaDa6VjjtCNw z$*f+YxHTHe<7dt-q48Pdne_Vtme>Ura9o9Ubh242CEn%-1X3`yUF-q_@gwA8q$n~q3cfktL{T}L;o?v>=l&&p4xBh3itO6U}+!;Ltmc_tA|j`4Ta&WsAUb!~RD ztVZ$ou#wh7KZQWP*0>T~M@+dV-R2V>gbc1Wp@v1!1KTYJ?v~ejb%Zz|me9bJl$K{M z37t>WS|dmk8EaHI;wAAzR@XZGs*G@S_yvO4DC|DZ!SsY;guDNO+PJc5K^F@~AKhRP`7bVh7m>&S?Ju7QrOVafobtck9y**^+^Tc(w& z)!1Ak&B-yn`o@lKtO)AM33t;Lnx6imiUyBfu_WvFvp~h*_eEu-6IQEh?pI4D8in9^ zGgr71HMg;WT;sj!G-ie}!l6TKbt=7^1Y@OyW2yPpE&~rikZ=ybg80u?o5c^QAr(&b*|1)? z*F~2+UP3R~RrRS|hi}-EO!7I)0)k~h!LrH=t6~21aMa{lk;>N{nG7y&8$@Uup*Bo^jaZN0-$y<{Rl7hAnsbAiJ;c_bjwD;@z&hFj@*g}{DLIFn- zM=}z}9ntf1WM6M)Uw{a_#EhMXW9&K)Ryo{tVJSL@8|0go=u{x}^qsb^juc&(4>SR> zOVIXuUW0Yqf&dplEcF}0F;;fuatZYf5EQ%=7rdn4c}ff?CyN#RBOc=O8_jW6l|fWm z29QGrVnPP~dY2Odmz<9rl!DqK`fOExDyW-ExSL!?`HotoSOxBw1@8BJ+U2S}>DGuP zYC`dpO;7wc@Z#`lxZ4h1QcyyKP(qpBjCe0OpbUIZzQVviv4MZ&JxywTb>mSWXoil8 z7wx$RQZ%?RiTj*&uY@Qh902@7OH@NkkJ~}On4T&t(th&+tVQS~q9St^kLb=6W~dMt zsjqar;Zs!6Q|>)M(b0j?(PX?Y(&?uOdSo){+UMI5GWMaJcgjB_nh1FQ#ycveVQn3nDRjH++EKqu=;d`m&mEw7n z&@E6%$>B-KJMRHfdG^@E%3i}Gy=)NkVTpGp`Ve2M9HsGs;e%T|tHDW{^9=Wi3^8ego$xO%;cw-6giYAYYCCbb>D_u^t2WmzJ!gVRJD;40c6n5+)+@0ik(Jp|zW%qy_^ronab6bYenuP%>!3H1NVSotPx4 zd55fg!&{QfJ~8Sv{dpQ!G?MjHlJx}=4D=dGrO;4Y*lO@Uz?6gOqCAmC^8llHU;gVB zFuE;+R!a+CM;n1T+%))E$uZ?0FN$*PhvUMA;!5e@-0}IA!3)qftte~(ODUszkFh4C z!PVj5TQ)J!gFOPgaa3dD?|5u5%J zBJ3&NK~WbMC>m|`xp67h{fnNmP%Csk?|r5r}4tIlu~I-jYasCcrl35#8m%=mIxl-{YZkgT|n>;QsMaRUou zyfUh@64z8ep9@UmE5~44U7L}DjzAlMvp||a)qjJn|65P-|A%hC|5;BV`u{;U3ujxK zf3WQzZ2Je>{=v3?u z{=v3?u^AuuV$D$mT!lDsekU zTO()Z|GmVmL)X@6l^y-vw+sCDk?fvo0;F=)50H3@MFvOhF2+&w52x8&u_0r*1O};P zsg?H!ol7xNA^XDnl^qk~z{8<`i1bmBj58e2~!|4Q^-bKC{~wU1aurTB8yt0SR6QAvF>YPEPn-=S_BW z+gkYdjr-h0)-x+@9Q0+<>7Yb)Z+W3?6{ktA3`&9Up~;21`RJwJ#auO{uIDiLwCFZU zN@;|$`wdvZvM==}3JE)2fosS#O*$k$d1xEe;upjU@0cu$>Wl;)v#4sqq)#;_gou59 z#CuiVl|Jr%@o`M`0!6?5o(#CDj+ONB5KdxO!`~gzs-)isB|M;trx0R=pfGRMXX5ZX z>Y*c`Nc|DU=Ka=2-Di%UEKZv#GCfrEG(>@5#$$xZ`Jh9@*LQ7Gi-hOEi~hW7IK1t4 zPB;nApNJ*;V+p`0Ur*tS`f=M72tyT#oGt;g{McCMn1a2y22lSqgn_^=kI9_D3-w<2 zy;rWjk@PVxz;*G?fZzfw*t4;h7=9;=osJue&wo3@wNx(*JaivS#6sm#U-DILzp>CR z$aIw{a5;v~o{~7wluD1I6bx5lg+Iv4ZkdSK5g2<{5>eJ=huEVQyiMQ0^O#j7b z3NtL)IDVg5GU+r{h?Yu#Ha8G?>sLpUij8tuNC6B;h6TenY)c<_KpN;INZG zi23t&XZ$XdZGqwF3PWsV!rRrUbBObkqUDzY2sIn@wanp--+`Tlw6^_Q+?)D?LdTrNI3tH%tA9)Hq=bm)nBmLzgRddO2#nP z`)&UD`B#JmPcMdnRiqlCkg-tE;0~e=`HH(!%R*yKis}2nc$(4ieoRS1)RQ;*ASjof z|M2@bDhL6}l)dne&1?%AOkYeco1yGJ6%oy0s0CB!-h(+uDA8aD|F?$z?fsRxgF1{a znXc_6A#gd8>MsyFr|JY=`G!(heM4FQZ<(3-y0<$K_uECCW3zYer$|I(P> ze_X!IP@gVemC)-Wz_&BwQUi;+nt}d_mS>&yDfus7TD!Y)DDO97|14#=ySl#y5`%Q~ zqT!P+=7c?ynAOQbVWuaCEv|(Qh~z(2zDRsxwglKaqpa8=tkPn`%JlJjWhs|*BX(AI zL_%VCQfdfrrSZ9?R2juk>>gqaX$V>v0j3Oyi6)jW<8X5(apUzI|}mS-Mle6Sn4?E@JO*`;{nxefkNqX-SkyVHgs?fSih!(5L*FS ziiyu~#Uuw)AUtLaVS_M~$@%J^QMdzq41P=@?#M-X2^zid4&=xNc@0vsnC|%BwKB$n zDR6Lh#^#w}-)$^|AXp*-Z|g9axp}A%dHB+vj*_{l)Y1=S^jX83T-Gsaz6Rvg&HgNY z){FNyuK!jH+(nM;o>0O)&A~l=x5Yip`|P0pyTkggPThz}39WEGUlY#nirjbWz-4d; z!Y|Oz2(*QBMy3Wc< zteLdFxI=|q(iX<@xg%~_W6r%ykC zC((arLUv=_PoMD#1Ih+P$0ZZ1C5bw&;w-Z&vTx-X8u(`SlCPFz1++N^0t zN~9HdZrM&fSJ-~Y_y7KVSz|~Df5#7fw=O$?2K~VSalflA!|u55S@FJe5=Y$iG&vY| zUo~<;d3SrD(EwfIBc{-$EbY7^v9&q)H(QT|`z*is;(IYp^^%0rdX;?r3sv|FZuqP& z%r9DGgpgCg#$xzhyqqOM)$GF0DT~M^Q*>we&{U8xpPz?|ax1kB3THN4Mi5wJvyd2f z#wx)Vm-CwgrY)r}YPwvcE|N&;%zsoR^+PELryBF#6)`}oVDRPLXv4PU@+r&6iUo+f zY4je%6%Zffz}Aymm{CF~l&g}-^VDCAdD}UeQ!m_+Zm89j&t=yWM*ex$0I@|{WBL|( zTpjhVG7m6;Hkfu0M>I4Pmk^kq5O}wdaNfUa2fryP;LNcKO4BZU5!*$TahjDuPI7P|B!}PRE%)@;=u&mk;C=hTCe{mN#|RWY1tBVp~GxODNHL$w{ND z|6mm%%v70Ui>E;#)h3*|8&xh34zGBpIkIk5LGY=bWG7|heZ6-{_YsP5a}WQ@e4cAd z7lTbJ1YGWn%=EC0*0jKviSzJj$WjrJe~`|YOldPUdK29i`*aAuq`t9i{;W#RF>8S) zTppoT3Q2&p{f=)oY=}WwDNWS36wp}1s@raYj}-4e{96+|Uav=6ZrYbay5`MA3Nz9= z(zbXjt8qk()S;ig>ATlzFNd)?5^$gR zsq1-ArA`txBOcO#^#Ik{Nm)5+5rnT6TjJQHor{8P<9dJ&dW4Y zZm9rN+%Mfs>|`IfklnVBcGrp$#ylRX#TlRiYDV2key4J4!9W?)qmeNw++++=7g@^@!smKx}YjRtM_E~OY%pS}y}5@)TF%?|&zY<`5_z3SeZ5cGI8H)6SDnujq;w zj+^dcrB#Q2u*VJxU)P#lF>-5$uzK5G6;a4z0~~K4gSR3wWiV|S@~`)6gG@(^T|nva z3jK6%1!8^%ybI zJkuko!fitqYBuXz1C;uR#t0-|rUPW%yf!208 z4f>c?62%MoEW?-xex5Pk=4G0zZg{8*Gp?A37s{EzOpnqFgd5g_#pEGbfCr|Thc(I9 z?`I@nT(8=-q12+AS3DiJ5gQD)X+F9=>s{AHyVje>NP8`a*5{v@*N5d0o-yUmAlI?1 zOz*R-lnK6wDIXc`EJ|jA9#0l|0I{ zkJ{y$qM%THKqNl(Mgev8+TZT4XETX;Q>Mb%E0jEDwXcROC%;F))FyU7hR09Z^698X zD*Lx5RzOPBOT|cM%thL-5%%?E1f3@TFn3?`YC@E%uZqd@u`RsGE-f1W^^X3kD1J!X z4cib!Teo1+WfQ>amfq~?(=(~uDYJj+Y+hgiw!$S*nCV0cmP7AYABXy7<%>iilD$H} z%@|J4jNSd*XkwIWyHfp5#k@8T`y{nd8cS*L%akCBhn|-NkluDNXgIBV)8DN+C#`CiIFe3OJ zA-}QC6E@a%ebOnGK{u{v_;Hqak*~@Rr6YGIhVP^3>UGFz;m_)~&HgS3yRSVg5un?m z8hN}Z{A>oshLhOl4>)_Vi6^iQGULBRDXUHC!8bT+?bo6A})pb~`^NAf~N z-LUqE&-zT~#Om=xrQ?B`B_-$ZJ^9|rAVK;l!W1K0J`_f$cL5zZkG?sV-k#cyhV;(G z=)f6OV2?XA^{D1^pZZy8&4cuJ;)#X*AggRwE#w|^+N?cl0|0U&u0?yG-hlsLJb9b* za3l``(d;c0QFV+KLYBuntdzDl1rN2~netJaEYuQ^_WjRKRreoYa(Fgcty>-w>eX_I zl$||MuL=8)VYv@f(petu;`vvRQF2-}mc7?q1>hFa@RkSE1=L&x$y|`yI;Hy1!@V^& zqb4B>Bbjo_kd*;KiPSlbHA%BnUShW02|WfSnv}^JksTcp~b-BhxOSu~q@B_9~A-Vog*`_Z0O8$CUx;J8fFxUSJ zj;(xMm4x3x$1z12@U3yU@2rX0U<_?d2ZsZS%!@bW>-M^wo&jdrOiWgkT8-Ct4N)qn zyd=i;_?KzQ&XeH0%PI}zKnMhuA3{t{grp2>j0`F3_ZK>0hTsnuT%ExvxpoStx%iR} zRC_X2LmD@fdJ^s2PMewGq(*~*9*nS3oG5y@p88#Xl>a_A^*KOT)=wpm6lo;cex^wR z_5)UXehIfpV)>AL4UF4vuO zttW)){@xKTe%tcJ4B=dyVdDYH44!oV|a`_XmTh| zsF8XX{KA9Yj3fC4Jsf9S0vy)k~*BY~0=t{CDN3)JZubpF~ z8GuhPYe7SLaiL~zH0jNub(tHveJl1}4D+@Oa4;Dp3-0a6(XoctFB?2<$sXijy0ZYj+Z; z4_w2&O>nf00}5rXLJB7rc_-5aen|;7B(>KbySwPVg88O~2rNEHH1kUJE2EDpqm}(a zkF!>uk#|%AO_Y+YJ4o%;CGFNtBu*-WCQHdS9bC9)l%im^BL#S?Sw9ssTd5%w)>W%a zCa?vMVgxgItlHPZCe%mP^D__C$G&Glr$A0isw+N|;F$BO2txv$6;o zfyse<>WslrPA;xyh2U^xej?%<6p8D%xainH!*_Fg#wFWFy1wkup92&~Kf8QkH8IQk zhPzp!MT3aFU+pnf#p>XvT_@}QdW`pYY#lSpE8lnhrM3um*tsRg>Hxy&4`kdrBtBb` z1}3MdVn8>Q1wH({(uQo3$%U#n`lIghr>+{a4C;G>107@Ou@ipi+287XPQECP>7F-h z2BKM}*!sVOxb0CvK@rD2&GIg~cDl)>LBiMHQEMG7o|vPDA0oNXx`lzBCgCVerDQ=u zd-3$hOEl0O@{)AYPr|jFfYCLdAuJf(w7MXRE1G)JNDe<(P=h4?+gX>VAuP^?YAHe3 z-%Cr%b@CdcO;JXx= zqP!|C(gjiv^r%pZeN@ya4Fjmpf62&`Y`H#C-QQB~Z3%OA0PX5=?P@0D6Zgci5YGel z=)m2O_5NWiJ@ZMU=Rez`Z}@igB-H>4bu^5|NSrM_P85?-7i?f4U!)0EQHf^tAkY^c z=a$q5R{5Ev_->EI7dhVx{wuw($BcGnJ^GQ~Et>z zJybE$LM*$YibSxWED1&h9X|Nn5p3`!le28 zqmAc!Msu{jf!siLM*xrEZ;spC(dV7Aj0iVhW>cJUpX>uQ=;!ESvqdv=p4SJP)6+_OkIFU|5&>2=qP6^c1o4%y0GGmy=)_{x(uO zSm~KqvY3tJh2hGUp&R4#b6U{qOr*sUdoL7;w@cvEpaLb~^_QZz0WZ@1F0e=WV^v z=tAztu@+0`%W8C|C~>XOMXlTUvo_J^VLaDrUf&liJMPUf9+Z*M$5RD(?tX7Lv%4%m zx$`Po54%xjcXXbd;A0otj1!vT$NDq?%sO>`^UHaamd&wOK!0dFJv;AvS?Rgwm++*G zRTgcyJ4;UK&O*)<-yY5dfT2-+9%qCfH&;GI`k4q|!tR(g-&0<9g79-Adx$MxT|{9b zMWHNDfZjI-y-C|}-^AR? zb@#c@VX5=>Rt@ZKVuL!)vA>j-H`Q&xGiWl4V5=O9boznCYQFZ+z{FaKHs6LS*>DoLo&ln!)9yLG$D-EZwllwbuup zU3H$^4zrbgclAdvbBOAS7!5H;)2Myt8P3f>9czL0>E>rP<mZ zCs&ERQIM$@CVNJf%d*tFbx>qF8k;&#&V%0(5y5d26F{p`r9%*aQ1M-4r7&bBkhZNK ziP<7_FDt={e8qR@dH0?i%i8s4A8n~+v1DE*O-$5UsnuvPl#+$k{s2E8v{dy-RF$zi zJ@;}^*;lczz;xPhR9^0cyrY4VuLvx5! z1!)6+JqWQ;dq9@;hjx66`fB}D)2qpeZtRrbhoR-`otZ&}J!MF(fJtbjb#nutqawD1 zaydakJ@+mC-p5Uq6CtwPz^476NIQ3o|_b0KDi4_fv$U|EeHyGH>nhnh5& z4Xuf1kMeZU$+6#(P58~Gf1gAl&GXR$);0h*!f##Zk%k=GB2DQ~ZNp7hqxS?zQEg$} zRw3P_04u2Djd0_3nBm-QF*}7hd&NbL#2pqQ@v9W^H)L}9($j!BTNu$%l$}Im?Ai8T z)snm!0#!%PbD^Zu%n`x9Ciy;XEp7QLwyVvall-nLeur`JIXTYJfq8^RNu^jN5~0V_ z%%x$jyaK^8-BxUPncV2&NKd7WXUkh8FAs1pA;iZ{%K<$z%?fzq zmCvOLIxwY@gTYio)FDaMQ7}`6iT+hslm%=+n&7qFFbM19~a$$AZI$Ib|Nc z@z?V#Y*RrZw>+>uZ;D8-jc{VENn#?F7CCgz_X$uw+9aELeNEUU2*YRTL-S;U!fo>z zQw+dzYtnMnVP_KN^~jU+Mo_}fb`OF=QtA1MEC0gns-%T&Weajy9Ob!+R#dwvL_9mM zO^uFltS4>nA^AmbkM$BF)zkKG+V-$Yi?Gvfs%ReA+B>MVm1ry-_J_jWtrXs_2r#XZ zBZwDbG}*EbbxNhf2C5@3nDBa%zkH{`mSp+H6uUh;k5wu7}Nz?)}aG`|uJxhIi0D;ND-zG$a<%ePvwp!rBrt5j_ZydCdsz0+wWcjEqtDKe22uC<2aTtLH` zs4X?*uH7J4Q8rxe4#nZf49uI+8VkDUj08@Os%3WTU_$i)Ov$&<6$;&NYEON1Ub=+{ z#PvxIW!s(36yDcFX-Vyx>$syA8_M5lDrN|EkZmp2N?RHAsEQlk=6i*E=x&fK^+a-o zqID>WT-lthlT9*iE8BduW-lmHsDt)devpj7y9h7KYv(TJ%;Gs z1_EU3`YB^k(K;L2FUjM$MciIlL(#CP-X6c`Zt!;MS<@plwy4=2=L0YRYt|oev;7?p zbGOHRrb3{pHXsj$7t!s`!x-ubul5Dv7+47$UOu0BC;hQwZFTubRbb8LC7k~8wJdaR zwC61H^@_^pt3ZTkVg3QQM-#0(iVHrEGoynS3diU8DW@i4)$WmbLo6l-FLKojkD1e1 zz~RM~5?V2TQKEdc;WFkJa$Id~qc=-QlBNr#_6F#jVUnUNRiA?&g}<)ZY9SWNh$`X)7j5{}KPePzd?z1O6fj3i`-5ZD=aX0@uvM+e!_<6fu& z&8M<8ALtJwhs&#G}H?KIz{i{__{(|7$1 z8<|k8y+^4~1fEcJ?J&m^VdjEugGFU%rt4KW1&HDExOx?Z4ueD>9UvKI51DH!n0~ zkI3caQ`i6`TMbU#=#9moU=&4ymwTEJa+|t@KTt#RGCif!GtB zI$gD@eiC=-dN~cv_>=$hbV=Xc@{Zqnoy~i){U~mde}5pRVuam_b>H~;7Pwki8&4%^ zm&;xWsQsZJGCCgW_<76{gLa$#cIbw7?Y)5873oeSfzP$)k_gP?mn%awU(u^QB%-@fF+Rxe10aoy(UI;YVc7k zVNBgLIc6f(v6pZDBcQOQri>*Z7FsR7x8WtPyvGvRy%wFpn#_^#X3f z=9?tr9WZKb)jBRhI1~mjF^ljfJ-LCd-1W3QIQGpESZ*%I{+vs!t<8UtAI;HK0J-Km%WY<<|5s;am0${R%J5q+p+uUt+EYRovev+Mhw~2XR;pqw^c4cK{s%JPb z+E0k&A-qVFZ+^jUhJpcSXVX2bNW8;$)4YQ;^3zVIA!eV z_r(IZe}9{E{bG7Z?C(9*cVX@_(`|D$wfWeEZ-?@Ki&gv~ue&t;|aE(}< zA6PJ-lKR8q?P$gq*5u&gWSDipo@TTCY7^so5hP%>6H7QJH2 zi9ncb+yWENzQb)AqnG&T{rZvCHG<>e*mtE%&n?n_ZO{-6aZ_zPH}%u!%z}|`NGRCi zVHHagMeATv6pkx1QcNOC>hQ!Kb7iiWS>R4fHL6xAc7Ul#G)3x6P!b#P`%V3V(`ndUrjh55c$Mn=M_gN4y^% z76yz{{Jx!?pD&*xQ{p2CcX!Vb!obwRgsmAu#e43l6N19g|GH{C`EC5zPUZ^zk6p(P zK`inVSg17f%8wD3N1gzRtM%nowmx!N@Nkk}oj;ha-t_=3(6nx~>@|y-%%4(_N1qXZ z9uVeNzdH2J&wlLv0d*{RiG)OlBsADt&h7+)_t_(y3x3ZOClJ2CawmL!lt5UrUARnH zDT`#@B$}wAB;iFW!3|1{-XkG*uSEGOpXp$sSk&wdL)N+VhL95PM<(z}P3((GjD+#+ z{XyWSr1uFv^K#>dU}z%Cs$zfdcNgwh1OYdPJ&VT>6h|KE%PBk{Qyi!p`l1K?@C!Y&L3(nG)fA}G*A!ZYL%`bE%dyM35G zO%ip|fSMqk?s4MUmF><7CvSC?QColT=xsfzSM(sytW9VUKB-L zTuu-M#g78lCEq3AshsY@9k$o(Gh`LZR1u$2+bSxOsx&H5ZhL=+0P98d z3;v*Z0ypFn>*wEe*Ddw)aw+EC?lG!Ae&#pCkWqs$9hRk)iKZB8DwnRPlp3kd+mTiM zVO5nvRL=)IZXrtZ$u4wLO8Ew*jLydPi**@gxH+G&Bz6-z=;0&CZeSY1ZZybW^E<*A z1ILRxo6#a1aB0Otjv3MXd$uh863n{YrLQJ*7nZAR}MihDH*fV3hQz`f@!*LxhAgr|K&u?#0f9n8A$9Q|0Wq}7b40V?9HQK8cmmuLI& zKnrDYt5({id4aKR<2gwqNO+*JY>Pn z05mblbv@QWa4C1Cg&AvCrK{{odp_BjSMjHGk{P%I8Zq^V&1j`*i)aVh^u% zkx8vre!x?U>=WdLEk^m}^-fbcAvf;uuP0X6q$P(^M0vM_aYu}>PgcaDSi>f8Tes|W zIfPQr4tsIE#`p@$T*}S@*TEkZ4X`}|NYJaG?4HT^=U3^mG zcLdz*w=(m0gr5g3z$wG$JE!OTUJkoZxIdp0nDp`g* zX2Wigvq6ZmMY`Sh4}4GkBhmV6q8RnbSZ`P*iu6$rU&XoW5K0)`^l+_l>iwb(_p0Lz z$HM}fuQ$9>D*nT*j`svLhtc=rvPZd$R<<6X91Ig# zE7K3=*3-9)n&Ok&8@naErwG^vb||S^fN0)Sw1|@Nj9Pvk0SLVef+BTmv2+b9`syRY zPL$kNLjp4>;0%I| zTXxg@bg9pi8H+R16_(1&NcOzW&WnVv0XG<1Y=ueI{51CQySzfsu`_2b%hRjdz6?`| z_VGNaf=bVYqPe+jzJSqyrV%EvWc@W-Ojrk zlS4hebgIVQ#<;1M!?EmRjpFg4(}c4VeDgBA>IHo4IGfb@;UORqUfl0{iZC;OolZ9M zZY4y25012c5`2>dqdRT$%PQ=dU4r$?;`Ma(tEsJ*e7+Zo7m_Xl-FN|B=RxF*-i_3I z*L#`zNe{x^=^X22sm9S`ckH{+u6Awi%L5m$N@L5bDS-}Sb2|ljLo;g))=d-MRZvGR z_n(al(TR0c^xuKG@3~&S-(OsH+PUD(IlH=a+ZVHqX|iS;!A+}U4r|j}#Wt9Kwa`V{ zdKG(%L-o5nihCBnYC)St`}R5=zOiAl@#0BTwH>q4jzr(CmK3u}VTBZGeUC!hh(}1|w_5LyY^dpiszjnE zYj6e4+4+80g*79aD3jCGVdbhBQ-7<;UIw(ypx;b2d3juF$3AXztLGGLGnBA;qEk^d zj@t-ZFVP*RwErd=t_RpPy*F*D$j$9x-%hR<7BtGzz<0G=zT7)VWi;`Ai7^@-9x8ku zt;4(fISpVbS~XIQ*2iMw+5Og8AX48RlTDEgySBO_eti>88}HxX^HBZygb z{af~Du@RYf+i2kw{A+vuimzS>#Yb2YhNP-oUQ_b-N&q2EPN6qREPT(EsHAg&A?>9d zIVI$b;?eiCde+n;hdZ0yZ@jPOYFDG?IsRkO0ZFDsB{S-9l@lrNXepL|?8Ul5q^<4; z&mfz|03r21g+5L;mx4|{@Bu|SQI`UCKGA_Ngha>7$&D&Y*1Ofsd((Vwxj>-@*IB6x zi3*p(vCf?HSbCF*ekT{3M<;B!S~}|8TUpaF=hmA(wPYpTd}6}vH%X=VZBF35`ykko zUYlR;TlSC~_Ia`F*@5Es%S7R3dF_cb-P#yr4t88mZ5x6KZY5Fjy|;~4H%+?N z`Ny`|(db_E&n;9vAzN1(+x0~FmgUlBaq&6=m1(c_euU5!ve3uiew$9CD-)59N9qo| zU)#Y0m&^9jPX#qzDK#}~SHgx5y!At^JK0L0Wkv5_CYxucMc_TqrEA3{9x(URNJOp} z#AP->^=DCn+Ss51J@00{Sj{V8wMS|-z zM1|sbM3fx6IazQMvf470ni`S<8}*x#p|8`{BvXqNkC$uJq|XD*o4Ce_*q7;5x#XzZ zbiw7Tl-sZx%@6$_N5xZqjxAsBQg2STr{(!e*rk$Yi$Xn*>mH;neb{r&VrN6^kJ#$za zr$DOQ1E7UF=1Q@LDLpdCM=(Wo$y3>5b?)ocur|ZAUQ&U@Ho+y zP~fcAgp`Vz>DgTi1m$owS@A_O5wj<2GGcwL$lFMg@C8MkzPTHdaw~=S&;>O5^1#Q# z^nysQoAKE{xv@)BeNeGWW7oy`>H{mXNfx*smM@t#mjvi7+@ffQ=7QA1o@DIW<^5}l z?v9V$ogP!U8j>@(O};oEe*ctGCe;)3Z9bFCgpIrcO(tgX##Q|g@j!WNC&Vj7tCy8a z*ukQOlBTq6n0la@Av(52fGVQX44UF!*Uv!> zYw=XGDRK}`D#nV$U+q@Mt5y=}=0siW6<&cvnqzhXv=a%{|8#LSY9TWz7{`1Jbn0vG z{?hh01IC(#RAVoFr8pghkHfO6*M7{AXt2o!y`y1U@Kv-=fr2$k=@bx>Ok!X(2x;?r z(vDZzF5_AKWM7j$LixA%_qA3PsgPjDt~q^zM0IeJBfIj=@E=KpDIP;BLiat>W5OvA zob=Gb1OK{i1vw%idhc(iV=KE(3LW_j;X&t9$L4n5C1d%cWLiJegVT7NrVK%-FX4( zil~RV>n)aMm8OYhbm&dtA3-~vTVTPotXYo}*%z1hpdyG{WZAG4 zs+U87z;;W5JZMQ&CVVKm5}I5CzZDhl8agFX(B0`TqW3m><|*`2EqbHmfKszZu4xR9 zl*ExkZjI1yI(@eh42nd8uOQ0#@-Q(mtiz@y6Jml`KA!bX%V6wRr9C2a8kRg4>#1he zP30M#6i>l@X!nh&d$4|7g&?-DL0(>YWD@y7@01#b*@6%{omfw*B?{@qwMb+q*6z6E zbt(ZKaj-WvqQpi3)1b8nE-Cs-86C``16mo2*;(fLvVU_W_!*wUB8U1&5H%td5YLH; zt9tJ9CA!vHYU`hXGM?H3t)f;(r~dTMgv~wjHsgvr3w?*gPCq(+6Bz}W_&`+++Vc3g zqf3FlX(yQTtdIaXUD1K?r@%Urwn1sT(G?B|cW&4#3tf9r`%HK~2>>VNL#lx9R(Jb1QN=uxH z97=~OTJ#tr-IXTTkzmelIYFb*(I$j1xlBJ=obR)aQes32lGrUBHGEQ?7{X~gGNj*$BNAqz=BwVpiFDlg5RS7 zFW623$(~XW#N-AL6=#pe++kpD3nO9ZG^RHtMSdy1nr3CC-rfpCt< z%2IX(fF}dMCqr9U5L-|Iu*jt7N1PC7l>-7{f|!c7Z2&{uas1(8z#%6QoipoS!3_nIa!4Q>vPy~W%32HnqMS>19EqnWQCtmj1%I^`6 zB{nQ2>a?5H2N;SADU>0ez#L5&i(-aKK9wX{%nJpG$6`YuX(qL>py-3Ej)4(^sfEG& zIbKgpln!VkwXhp*cX9pn$`gbd%bKdfTf&lV#YnGY8LN+=e2;RPcS1R@hpi_C)RThz zcg(t>1-qp!iqlvRPAy&JnSd5CrBce=2)~S~Fx8OR2p`TY74BFDFqn}Bj70$wQ-7cq z=vN88o^iOY#Rhmp72Kp)rEEZB!$wrYplPrKV+2tb!Anq&CBh_;kpy8_g_Mc!G+O&^ z)Ra{r{n+dIO2~~UD^uzc3ls&q5oNW>A#a`x!&)w(Kv|**FOu7@i{u)1J}#D94Byi+ zz5Si&nJqFGj0;|t>Gb#-NK+JUpFmoep!CD{KckAo&UR@GppPohN?ConfiwX^j2Gds zPS3og+E&ByB)R^4LC(wRY<(OOO*jOl>pP_QA|xLzLs#lKq+x0GB3UDqYB0r@tem1) zs1>9Yq%ZV@2Cc*vR$)@>muV_9AXz7sY8=L(H_;G7hQYd}3_6roQ1s6?Be~2TDR4k_ zSI+sp^X}0O=nIyrPLM%OkfHgjK{&I|&68sKNJy>(AzhH+3!RBN53PNUf{A))$n44w zy^bo}NH&aRgjapT6WfR_<}OqsHYXLiO&AVVBM|UPLV{L}T;TUAB#3f_LcRsugjV7w zp8@_1{oy&j$o&&Yhbm>B?=v52VW{&f!9#dG^U{%BQ84X;qgLc2tZ<^5XDnOv7p zE(H~!nnX%{P)<5w2?bMmu(L&J-`}Z6aQaiYP~~A3vGU9O>vgX0|LSF+OVXK}f&~Ey zW&r^q{eRz0DVaK1+ME0j-@2<&EQ2<>`&55=BW><%gf~#%F>`4UG{M8tE;MpM2BmsT z>JfN4v+n%$R7;s4w3u?UH62VUt)b@bFSxv1!rygUkG=cp=yo-AJ@#@mrNw=GeKIURpXpN{sz(pRg<#NV#MY=i@LuxPx|`Lqq#OzfwMOf1lS3u_h*chMz>a9VQc;1&FL{Jr_vI2KAq)*2S0p#bi5?Qy(N8D! zI2W_Q3s2H04;)xZ1C61)5OK)wX>7xjFV(`WFGlUg#?~RAHg2BAkp@5X~* zbtnWq^GuBTqys@L@r6hqx)5}&D~r!q<@DPF4TZd>#RK={Hn}whALjLvz2F9HdOYJ6 z8qo-`!LqO|sF(t(RR93+WFF73lC)7_rSk|3;fj=!`WIMp1xo%23BXgE1kF72`Y^lBfAbFmUQR#u6x}#pCdkpgR%R9 zBUJBTcnEp+=46YhBf?*P;YX8q5eH~*uV#j#7$|AhjJ}(<5<_}3Sk)ap-2|xrEt(eEN!~h$4!B|`qM%L%z$Xr8@rm!X~vpe1{}A=9{lBg zkCi@+e%h1+)SxqAxNh1DCrCM2)iTAhn5M6{`lHr^+nP5l?F4woFyQi@q8 z|24MB16p|4X&Ys#CI*6fw4sS6i8-p>nohW0VZgn6BS*KO4nAdGQ3!*Z2KXD-7 zNN+lD=B6ks_s;;b7fy!yKPNMXr+BA6YX53cfdu^hg}k=uVJ{EkrZ$bV$P_d9xNxi% zc+6L+g3p0#t-2?C32!vxzh)C+%_LN0zPhB|n4!D;^U#VKRz6LcO3P2+Xrt&wo;6I? zgq>_WS;2K8wVX9e{!oGQ1pyZ>s*D?c{io)D%;dpV8e)RZc;t)CwhW5FjMCK}>DAFyHf6lWmeW>rOWm)P`p0<04~Q;I9; z*=KLq#XYkW#NjraT1?N{t3QB}wNyVWRZ^NOBbtwgqaJVk*80@(gATT1(G}WNQaURm zI^)XC?yUvo!#$X&{Z&x?r>jAcew1W~_&2kPcVwS~4f;D`DS?y^%FbexDxd;a$uxx5 zm7&&nQ*BVDVMVg?#6 z!wbcL7B1sez`&KFGqwpjIclK952nm3CwxK$vsBtQy{zYtwdB5xns}lzONobtwIKLq z6}9m>XiO!w@dmRo-b98Q%6~@A-)p9-SX)H{{^$WgrHFy4l1G$^^A9qjjtfWw(%&OW z4((rliPF`vw|3~{uz?ao=H>0tRWd{hDRk5!8U@k4xiEJvJX*KE1-fZr6S~A}rhhS3 zZRAIW%;T4L_sL0~fGw|y&!AQvgdO(6!UHgmxjprjE*J#97IZ6U=ID@bKPw$`%_wL{ zuhxU(ZcC$I_Lr)P>CZ^hxLba160EOQ#SN6e8=_gb8gvyEXPl8vahIM`%Xacss1k;X zVGA#)RK*z;!LKHyDI-@5g^T5|20HeCJ0y_a12SZaVPL4EM?j)&QQVq)po0Qg%_A}o zgqW2w5K!e1VdOJFM4h+G`-OzrLZa2v!vabBg;?0cG8_Ro)G}eLFhPN6CK2kz*E7~B zCyrwb-B3{}BtFk=gdf}t<0?u&rW=(Kf)Oy-!0DD-kufu0(sNiIQ^!(>y;AT+$K*eZ z-0mvY$SH8H)`#Z`(MfpuYL__Mg#GR8-jfN4uP_yMkhjGf2!EwTo3n{}$ z!k@ldqzecHVzNY-`(_)-jjUJmvjH@5xo`RNo#g8uvqZNBP_98N$naB+u0>#!`Rm6F z#@&msBYa%broDUasdGe43M}VZTPW8GP4B`)7rZ+ty@1pz>WhG4HCCy8H4Eq*YK{E&C4OUU91n*LsTN*FYc)1dhEet0La zLWe9QMm7VG=I%IE2O57%h9U4Ph*HplH@nWM;t=Ap zYftN~&NTxJE%yo-3txo1n22Fy((;hzLIA$>B$pqEG@#Qk3tx0(1>ss1E*27N*lvUj zm&Az=o#Dq2XV=FN_w5L&H~an#?Lx>4N?Iwf&v0n`0-{HIY_}Nvv@!V~*QDB9dyNC`#*y9Y^0`|hu6t7p6KSL=xmkq(mt^Nahh*lSZiFHBOjy`# z!R^V+#oZ5?M#4?ymtO;RGdY$pkyYfYDruMb6N36Nb&UQmle6U?cYJQIXEpxo#6D|p zkLFKFbbVmG34U z#;;%Onepd-+}~wPkIs&V_pH0*5#09Z`}qmhSu@bKsDJ1|^ij#|W()Mur&&L~JzuQx zI;?3ij@G9yE^j!B|E8p{y0u}+ra-pUFnwUqYuO8h`E@rh5J!-iO4TE-N3H*pn z#=V&8t64c1--w(fTl3O}5b|uWofbq=z0`za0Hz@YS+=u+oV!RH@yhfi|&dpUFdh$ zj_)%iK0iXiY8aykCzp!AEgE5R2kN7qiC9Y+^@Kza_AHNbny8;{@EHbj$pEaqs;va@}Xw z&vHMF({mr}ub_GqvB})#`+i&_h1EFwek%lt5WULVihKQx>)Doex7hq02m&)Ht4y+H z9tbZ!Rc67$L|2F#c9y426}=0$@m%U8d#?TkJk-rH+Ru8g<|AdaPSw4Uxvh7d$KH=h ze1KorK5~pAX1El|EYMv3`jm8ACd|=2)#oekncO*@ar-c~cd^ZRujsjK$euA+;_K?U zL|B{t`=?Csl9fLp&NsuZ$f?utq-Ss4wA_7}UvTMT+1F%yxARqYFnZ>w)LG~?zrG8c zO*6IFabvl7fv4vZ51CNX;5EwV$s^|pYP%^B_j$jZjgY`gh!J`1Uzzs`o1n|r`tslo z?iQiR3_{nJd$nN6*Vqi7My}#^;Q_RqK9It<1uw2MZnbGs_-O(mNx*1ub8)YNtCP@m zz1;6>YhJHh2|ywOC=?Rb_i&f%9qNC(uLqXrpsq zC%N7K=h1BGLjT%&-e(0`DPBg>{~;#;&;*+&KW3N8tAqW!&jte_dBTqj!Gis=4l>&2Glm7QWk43y7EK zU7+6i^+}xD;|dWWdY>1;0+0r)w45$edEouMRQjw{4Kuubi;o{j#0slbU}lW z!ClG8%IXZwPo;U58U1D5yOk}``9&ny zH~Lu{WLj!ekR$3vrX0=WR)2AbEoes`|3#X zYlGgUzFe?ml_sh!r>s!fWE0bnQ}?Sp4cpK{k2{0vt|Ceo5=6V?d$2*?#qF9 zby107MZMYI!(L!{!`(N~D|xh~H)Gtphi+vt$ror%ETfjEbkidjF$g(a7N>+lQ^A5+ z!2-!qMiBeKyK`E4+qicg7?h+Ecj%`pAi!K&V#LG?`B_lhw}G>inRHrHUNEDoWzLlS zwtgSTe~$TwUbecl;bqYhyGl+?HLXW4ZL!|VH5GSl><(;IC8G0^Uyjb-anf!*@MUmtlmb>ZFMhu=C=NU~o`*d+7ObtF z1^^i9Q~0(S(XkTt>nOPMzus02jntp(7^wTWy^3qA&wLJa1!4>7jc+8hv7@IKS|B*^ zC)*yaSo8&R<8>>Cl#YIR6}NPmbd$#jpN&p0l*jt6lXzYmvoa$zlIJb`f@$#qZRjj9>JpvfJHYc5lvh z9&J^;+%$R#&rC#IJviEE0{{B0FSyrMEV{59Q!>;}c=%Fu*ACltpi z=s3*JIHy2tX~7Sfy!9Bh3T75cNx5Z7)+zu#R|{lSU)%0Tnq6Y-irawqxdJ^`D8A63<( z)?qfkb%35K=f7j-AW%_>S%5JqeDmK%YX{WeYk zrE7}G%^B-EPCle%V8MtnCNLXw`%Ht}|#^6?#flFCRmHj&qQc0v?Qz4W)pKBL9hD z98aNB%mup~1{KwVvT)I{WJ*QP8~dwq1FF;hZJe)+3vENjz$0AUCgTE&AgQYjBMjxm zw3D9gh6C^2w9QCad{~!3^^j;hQq!Zu+*@8)ow%m zbKUA+Fkyu6W4w!yU-Oez%*#Fa@x8IS9Rt&wv(%=e!r4r$PQ-*`$b_(ZoU;t4-=WA{ ztn+R2U0g1ewJ6-ogVxEWiV+Dtx<=b-@s25;uA;Fsoww~uKXUX*`tXm;dj4KCnfPSq zEoA`H!@CglwTnC+pF#Y=I_=kx%P<1;V?$ogxgs92u6{ufPptvdS|KahZKp2Y<;%lI z`8{c1tS5e;-?h}P$KFoKNxB#@Zah}lC3gH+r2z+ncNuo(uYt&s62x&P zqIoa31Dqi3AEZpx<&HVKdW$r7Q#u{R``EM$BGHpJH5JxD1gz>hN*m7L*tbBPC8l?7 zlbrSf)dOh8klgkH^B~JV0t~%p4O&!pq{<6pT7)?N+%l)=?X5}SW_(CEhao#ssz(}F zx>|oYIQF!&SdcglLo#S_{rBk^Jqf>|H>33I2%kvDI0wdnpPyBIL|~+;15q=`9n#QV zp&#K0qu_|!iWd9_BVC^E*J799Q;olGp2XFp$C*4PKxNqUchXdw;XbRUpH^QPy|=B4 z2uAc|118>KT{{FF`?+3T+|uHul>lmG!s0%wL8ZF$X1=IG^khOR-r=wB85~lI-{qBq zVg6ITWwEPzr^PV;f(-Lq8nR}_2fr{8Zk@JnK-~tVb|0>0&5Dep=S)YM?LnpLm3J^AoxiJJ`DiWmbSMsfHO{P}kP-c2<3x4GeCC8+are#v7#`?DAl1Uh< ziJ%T;Esm@Tqvmjjio^-k!KCV-Ws-nhix3TqN=8VmOZ)nqClrbdOBbyiXdqDvTl`zT4 zglOXuw28UAkW0kkX@dI^$y9SW{3<53A|8`hdOnpVU5lB0OYQB)bc*xi&#A>{>wyuQ z*&2o?9l-)lORzItH&C-(Tln+jk=P%;A{7zIO2EaJDwo+DB^romZiwg!+FDR3o{%tZ zSi}yi&^cs5D67zJBq~or{n~`qJ$73aUD#7WeIY}Uw6I0`*fy+xH6b%i0Et1%n2~7h zhye$*P)i*|lV^0)<^-?31TUHuaCW&b4>2Jlbca&h(}^B8aG59ytR(U`S%FSs?IN$iqOZpIb?o)C zB;OY`1Vgdv5$^wzU(Xo{j0nFA!lBkm(W6Fss1`3@R(D;kLRmxH#8)7FRX|l+lQFB4 zMMQ{kM2va2p_a5phzVvHaX`|3D8&Lu&=Nx;u&WO3;$ebFP+`M-+_Qyvqi8`Q-sH)X zPa~2du`5x=QJ zP?{Ftce9X`*aE3tipUyS)o-FJu0ki3?ZBZP-p-I))QTSyENfyL}bhdYWUWD-Q68x@k07&;y;#&gLX=f9r#eb|?wq|D8 z6}!x;Scuj(;FQ+vu5Y@ZBVP^bbek$_2?LUsqxWEEhAa_`LLDsG z#D&gED~KsDPK?{}XI`c|p;tns$rjQXd@o39tA+Qzr)Y9$Xz2QLr7rPBCyAc;ybvl# z(!VeNpy2Mk=oe@+=g-T@CuqNXnyps;XYy1udno#;a%b0~`*?S}PLP9w*dUKE<59Mq zZu-Jgp)50ea)n}s?B?`Xo#HxifeLdl7qjq#f@vsZ71BCaAscgWG7d0;?Io_KifcVg z;SgzR{k)c^OI4`o90&?WR&H=iX<3d^9_56tmVf)7dd`cNssXY)ek2Eqosuv-;7y$J zKRNhRXgF?=M;<1``HH_R-;jR4%Ykcv7Vllv)gj3~)I0bX)KLQK2Kf0#6?2_7L;t9Y z1!-Rq5VQUSA~2Q+vD1-Ot1nOAkW^#Nn^snJMKwo^HmOzTr!DAgeO=8ykxXLF(`!6t z2{fiLz}AudZvNYfum~=1GatTw`FxASs>+LKnEJl*X$QV)i#w4v(rD55SAu=kky-|A zjh4@jb1lQk-|OsAgYPnYm`_i!;5VQFa{(R3PMo|wwNIu6Zc+J)ShL#0e)oQ|35r5G zErB*ZyD7oh6ojWC;_x>$T`QZV7QC}Z#lN5iO|d~Edme73)rOiS_cRlHYHfe{^iC}z znunQa4wwM(hF(=A_kt}$)5^c|PZ~3N7(!=*U@9EIh88VsL}vWoSt@*p#8VI`aCb$9 z-m(4hQMNSLZP^KU(FT>330J~J^g*U23#S!&oeqOwM&_vW=;EQF9O~%EC<@UAG!?l} z2xiclmz8+PkLPjdFs%z|t1KDB2Daq|Nd501bX=vVfAkn`jX=IFFe`v837OT=U>TSO zgk`xl7SRNR3JMb|(Nd>_n+8#@wI=9f)Wa(?q2nsS_wLu_IDV{YV4| z>sm@A04_G9nkF0`YX+hLKLr)iWvCn%f=ww$y)`qjPzYm%EHm-%Dw$I102PUdb#W8S z(h(t$JBhJlaq{e^vOrND;kkP~UwV|}QCn28@?bC{-=LA#0X|AV2bG0WJsRqj_?e(C zI5i7QX90Rd_!I#l;`fwq@FC(&Ab?@{S4oJv9qmMh)-YDC@}%HHXklBGD->=4q}=9W zL(Y3Zn9!8WP}ntK$ojLYqajkTArNtUP3H{s3IYeRq#C&7x}_S1nYU+z!GLq66>g^( zB}kAZNQ+Vq_WkXNAZMbW)@s1S?=6ai7^8t}q+ZU3LOg~*vnnAY=~6rr6H&)oxgeN= zWrysLEjLgoz#Wqz_i*p+Rtk^~q$CukK72ek0yTr|tXb9$``%kAQFUXIKEYE6QN8N5 zzeFY!kTs#03k+jGxJDfH7aX28f^DgQno@w)Nv~;K2Dqh>I&@A)62?)TW41V(!)RNcX29Ew|EsO1Xuw(!Ij8Fd#s-2I zl;*X+8|_|0NejU2TrB8^0HO0sJ@AC5S0&~3UyZlSz#g+Q z;B$pL2165IAO=7O{u=-(14)vsMGjt4mq!p1QWFw#P2USDs0t{s;(=0@DnSEzWVk*R z^-~k_ylr;x)anf*lRUCo9$Xy-#n&!`Q?f8 zBB-v+TG-ZIdSuMvuZrDC3aBlFSnhFCz`(+TppbgXDMjU!5;6=V5G>PIUh_?QJsDHO z+?#%oe?pLdE|A8gyF=46IGOvgnhs6%o#f`dQ2FLneFoSa47`8yJvuub0z#-s5&8JD zC{yTFe$e3oV!41wUedh69E+=3wApb@NqhBj^Hd-CV>71BR;T!J{T-F!LZq{wX8ncm zhCISp?02HrPR>Do8^y$(!*$$TE+lePQW=c?XC6PUw^|5 z?=CK5XLaA6qBn&f1L5!9MulfT9~}++@ZBWZz~9~)jQ#uMH;K+iwx$s0f1s|el3<|p zpriCu3%D_P<4iq&?l2fr0RpJ@U%m3cz}&vk;l6pWMeBJwD??&U1+Y%tHza`1i+0ptz@wx8SW^wnP`Q0SMp!nI_l0AQ(@VKuff zv|0y#j_;+5nk`uoTe!4jSZi!m5)2(c3?000L9TOwuD8*Ln*!e{wA@`Z-fca>ZtcJE zLWj>p8$t3!33xh&WJ%HK>IJj}#AJPgcnF0X9fx}|$iv1xVz)1A9S~zIl@BYGpULfq z%QQN>0)qPOVxo3C=u$WPR(s^9^TxGt=tn^+h$e z>B1+|UQJ4K-l(6ggCV{ZAAp8wU(*}5n<{NsnAXVL-<(`GLK*Tx8MSrNQdN<gQa{y$xE(~vD1>zU%M0GVLC{G5&ab9npB6nkBA1}gJB{r* z;?h{i-RW-$P=9ql0Dwnn!A|eN08z*+ENZ9+7E+N80M=XWdo#ZYYknSDYTTgQB%$0) zoa_!$1a*dYNk=$;<4FDX#Chq5pr}ZRtVqcuhcN$736UaMk)mqNiqkJ3a&}t6pQMC8 z6Zo@jo`EO4(ozoJI5Im8pGZcIN zbvP~IA}QfwK)0IdijL%vg5+@7;r?`^2JKe&8*2bvT@{f(vLb)rH_2qlWg`5gBm5y_ z%FPkYFvk2jq;o4YC`q8dajZMie^g2y()W!C{;rLwmBkY)+oFZ!@bM^Nv?Rl%RsEBs zgy(PEQc9tL>7s$_rbaHT2^_Kdr!`wcQi6;*W6G}Yt4H6dF8(DZs7^Re$~bnSQbcRi z{>C~vZ8ld+gmhe+PZG*;k}z|6&yXhVu##YT(2sP4{SLUe?Ga(~4uU?kDtp3?^kRyV zZt{|DxPuqY>fG2t1e6e;qpo*1PDFH&p?4%$@_bGlarj(DJlgYe2~pP ztJW&R*d+JhL~Ow~Te;PoHPTs}sR)>a$-E?9ecZN(J!VukJkk+CmKQ;uDG(Owmow?F z4S?Lk4LTw%$9=8=30(Yri0ba z`-%Up*#foM;-!Yqzfl9xmI@__Jw>=wJ2>28^t}GJ(1o1H1%047v%f`DuL77h8_saH zxtFO$c&`!I4>p(|Eiq~MB{kSJT|QvZY&c@M;R??xmhHZ`e2PYoK~6e*(rXt?Pvo0| zSKi-L;cI!cyii#&rau}V;Q5%0nuEh3;g~`!!n^P+h~fYchXC?g2CW-Xw*akMb6vo% zI~WT#Exkr`nqan3``W{v7=A~i_E2>QILB{PNnLC&^%QehnFz+pgF_jOXJ%J2?K!h| z;1+UPiodxfcnOGikup_Dl(e2vIOphZbGEI|y}z+B)Z%9jY;}8S2aIL36UR~;|M>ad z1~B{XPPeIj@B-FCSBrBx>q~M%ec)rKC8DQ1B-!wKXAngtgR3}gc)iB#3~JKhooOWH z)U@;udaGSQpC(E&t~DZ9Oxt9ZgKC5>6m*UFTQvOF*!);8PIRq|ONv}Z3za!A+%P5- zxn!$Mrm*R(4N)C>P+T({St-@NP-L7;Mr(IYlSB-iLJWP1HaFAuWwXK~H9hh_7EA8q z^;ky(y9S9q8Fm-@GN_~p%`nb<0D#B(0ehCb#)UCo0n^GwK#^kj(}o~FO*R$U8~mbm zj8a{zaZlgRzBR-b$@Ou;@+>m_PP@qRHcr{tOElGWw=yhSq?Q@-tc#xGqEkF%sZ@Dl zL>gxrA*LLmzse$i=O-vVN_9pMyaj`W;8h^gzNRE7+RVQKjXaOMPPE6RWwf5>)VaW^ zj#!kqO35io$^FAc;Z-<|lfKNuMZc+Vq9lDWgp1Ova2ow+9nyzW8cs^1r{^=*B$q41 zjdJqEz9(ACR9Br8?)IMXbLjr;sqr6Il$loSUyStP_Sc#-VDJSzVU&N9lNkzwK#__@ zkzz6y9#$3^ZXz)zunR7@2ztSR7fJf}vA*5T1sw?%O=#!%yE&EK%gFbTxGnXn#e?{P8OmDt`izL9vX?PRTUb#AKp*Sfy?+D%1K)-3Jx51hc%Xmm3@jt+(q}t z!JH}Js9ntQp9#mP4t)!Jftwy68Kp6{7o1bhL{d2aE+#c@O*?MwV`&NDEEiq_NGot{ z_wHY~IZ+Gy= zmwVEVE9;mYG!rnb3QWSmX55KZa6;TD{(D_7l@o7OF>h(}x2+f1sQ=NuW-s}7fp{xx zz%F6(nppWM0X>XIU8%1Bm9Ln1xQclA<=-Cz3orx0DNW>NHRR^|J7{uh407r_zT4L4 z^0Fp{WAVpv&K;uDk?K$HbccY2>MA`1S8=#AnebSEy?9SwT2?)$LGr^A?%b}Yy-3kM zuCG#MQn^}E`F%L7w{*DoM77eL@tTdhZvSWs9XJIBeNo0ht)A@n3|j{}Iw_6nLLDEW zR^&D{f9A3pJNDwz)OL~&T5 zMl7gKoQ=>N2A$@^D^f-*QsyCAi7r;T#0b6YVI)&MeWRwBid?9&2coV#E4XZifK)>) zTJ|X#AtM|ib2+3$GpdO7;}i=XM5901TKj>SZy>f11hQNraFv zs&u#T{#^0cKxx+LRndNMxK*!GGE$o?wA9J{RC7K%F3%Ti=}utSPA zSkKX@WW#w&jGZYVohje`^SFWFse&22EI1h-!Z{VdGtXK7rgUMO%rFmqZelf*zKlha<8i zl?Q?&;wL5SH=aRq7>a%zO54FH@%_WN50M15lo?g6tIfEhnjIQNMFdt=L@6riQ#teV zCJefW5Tb~1eGAIm5*AUdZpzYcrehb5v?0YB=zRF|m<-W2+1*fG+@%f5agJ}-6IWZ7A|s%8kwu**I%Jr!Q|Qelw*5_Z=BM}(UK{8{d`gQ}GMjWT~E zmgp^Ig!;T+v=BDcsA4O88nl_)KBWXz%6RPdZq9+-gbI|*Yq~A`IZM(I%mSI2<9oe(RUr#ADcRI&Jeh~QEo7CXa+uES)> zKqgH^hvr*r2XZEmRHGe8YV*hodr&2u!@Z0lFGZ779#r5)9SqBJDOiin+BWTu+F7(K zVzZQ4WEePaW2jNcAF|430#MZSuLP@*IEHj%o0{8k`>`4*oS#4?twiHl=c$#J54w32209@K*>fuKb_Lr}Hs+xnCXzHV zf86ccs{Hv?o>C8|H1e$cgPC6_pK6pZF@un}9!*qlOd6>@SM<{k%#@VrB`G1l0F!tM z?LbCee6=9D zKy#!fd9qfvoVGXuMjT4&{xBax2b_E!Ssr8a8iA;DT*3|BLYmd zk2LUCG|(o3&S;OS0V47n{hNGCnqU_Pl-5zV!^lSy$!=BPg$y~Tf`4ctv=s5xe$WK2 zNZr<%HJb0QEz%zbn2djP2E$9|a~*oev52|u!)71&b7ag1-oCzk%oNtt4G3Nq>}CZr zNoZyaydQo2zo7a58I)rF@1gns36v5u_ExmeG&i^Xzr_wfR0@bn0Z}O+Dg{KPfT$D@ zl>(wtKvW8dN&!(RASwk!rGTgu5S0R=Qb1G+h)MxbDIh8ZM5TbJ6cCjHqEbLq3W!Pp zQ7IrQ1w^HQs1y*D0-{ntR0@bn0Z}O+D)s+ER7%3d+}Zt~UCJAXN&&4>K&uqcDh0Gk z0j*L%s}#^G1++>5tx`a%6woRKv`PW3Qb4N|&?*JAN&&4>K&uqcDh0Gk0j*L%s}#^G z1++>5tx`a%6woRKv`PW3Qb4N|&?*JAN~Hj;Qb4N|&?@zRpjC?Uf5|Fk>e>ep3z~`kkuTAK--y;gWR{JEi_n0bLw z=25f%AVh*;f| z`Dlj25E5y0DyYFk-&L=mAjCB8+{{1&IaW!q$?LDFo;bh|VQX{yX1R4@h`NYtPJMgDhCv_*vU2)1eZ*J?L6E3nuLj!||fF@u*eiDRsqnsFchJ_r`{!xeE6 z5*lULH^>o<4P^deC%K4lU7d_~o)NV8i@ZfnW@@6BU2g;>V<;2dpDn26KEAp)%|gW| z)o5~cvGqXjc${^(&@QRX*j4UoiXg9P#ekl=o{HKMZ~t93D$BP0C)M1z9>jJM!jkf9CfaM~>QF^R!NN#yxPV3T$+l!l0`986;?W!wbWdbKmlyE^sW-#{Am zK7-oYo>o9iE!WTgzK3(!3F??=6#7-9W|t6{wy}C4146J%@M0yoR=-KP)#0~k>%ceM z>Y-;-Lr}<;iKP=Mgm+O7RORVJXedjlSXc35ysBcDqqPlF5*3Q;-+Ypi$X2@3!+&7J za>DGXL%|X|b{Fw9i$TZ4poUkcyZhaI|9w6pXyvbtes6;X*BT?D&LHC6*M$_y9o(Hy zK0LFP8=L|2qKh2;O_2eViD zZVy*_?Tgcn!*YM2kXqTjN`WQUYPJR}I*zXv<~r{95LBm|Ig#=2&r9seL_g9i+vH~R zw;yGz&fqgXuNzyma%;F-G9{hPqz;(M(Cz?|C2^9avawo2tZ)_09}T;KWC>ISg87a? z-X$;lk$9tT+w38}aF~#d>cJX`-;0M(J(S(t)w?#B_`;@&HFkt1`2!lh)+m#iyQnsiM!F`68h-N`ZU#dO=21guniHx!XCm7>N;xdG3e5*&i>-fB;MwGKj38=Q*M{=1i%7P#fNtF^JB9m~2vN zxYo%0X%~=T_P5R;h7Sh3Qg7dvxwWLIH6b1)^~Z^d*(w>FKG|kM(MZ%F}bQlY{N?YiKcHQtI(a*2zz5q{fEPP zF)7j0y%JXjDZABvd@ONN{`!xhI{_%28uZe27`+fiEikO0=3`qZ_Q|tTlT-Z*KKg*+3uP5e$yEPZ2a|Rr*wb zwG(0(mgz#ac`r*{qDkk&0cZ|ak};`ZDVcA_3S zg7letbC4H#XI+e%Dq=NL^FA=}^WtRR^X3cl^^!n0_3b3(`u*Zqm7LJG>{Oah24HYY znI<|lhr_>Vo_z1FA58`;PaB9pear3BnLx`bm-h1BczmlLD@A?E z!c%P&#e1dS6D4!Mg|D6u&t{{>jhJ?d!dCr`t5z&IUU@5_rhquoLxBm< z5i6$p_qA)3*j%{s(OA@bx8xz4?{+>ss(N9N+TW*Jy^(kjpDI-J#_HYXOHd=$4b@D0hRZs zN5hIwBqdoe@P7j<2sFrCJcsE2JioI4ug$MAj@AyM#&&il#-{(3js_01z+o0R%mRm5 z;4ljuW`V;jaF_)Sv%q2YfBP`|{eOL!l{a<*&a=SfEO0psT+RZQv%uvna5)QH&H|US zz~$`!{^e}?iW2|=9t7ls8w7;nzn^E--AolNEL_dq{;N)vbM3k@jWV|T)X*7u#?D2O znev=9EX_>aZo%9Mojhj0fdk5_L6}rYo@87nk~mfYe=*;UiJH6vr70YAT!R=?#%K1PjNFM{#Z?~J^OQx z>&-huiLE8mSK}(8Zl@u^N#e}YtANY*hTXO4mX29*^8+7+Jk6bc?vANaYaHvBC-&$3 zeDAsKt9N1(!wX4X&O$;i+Y{Z7(S&p)1>&p{(WaS#*uJ)saTq>nJG2=4w1j4eU0cf? z-oX687KGgkvmGol{Vo>y7;#h-AJPN8z4@e;qWu0$Yrm z{w6^voPsCLR_9}_gb(?Y^`8|zd6C%;FKKrfqj$n(Q}3F#cbL5WHm)BN2_&M=d!872 zxcI}{^Au{YWoo#68vG*s??Z-+(K$RN&velC2hFR#p4RYV+!nCN%UmOXN^0#I<6oj} zjBPO_53w(8F-u9 zJi_{ftmH|SFlIW=@P{FErsKEVDaT@F7y=U6K@2M`0#tpx+&eD1jQo`*pB&uX$dvUTfuD4mU*xnjH zRta)oZ|^El5zQ2_m}Pk0%Z4IQc6h4Zo%@W|QPqXVVF5ZuMPCw_ZNKTog(6Bi=NK$GGTgbm1WLax*SR_D|y!^&DT*kJxIGBiw zpT={QAj*-qX=*#OU5J57Nl2IFQG8uH1nXfb54C-53bam`Uf1WlM>@8nk9!x=cwDy+ z``rpz((i2w4`4UIC1Vr7y-#-ECWUoDvB9Y5-lfP)-J`Fj}9F?k!2h>PsAI!q!xM@2J>KW8mU(B-3k_|LMKXWO0FvYmx)u}XmM-wf>HC5%f#(V z*FEF3qfZIDD1e#ljIV<~?XiMqn$m|chp*zni^?OB@RHP?vjD+Lz85J^$|VF5Ewui` zyuahAwGA$yd3l-S&c zTQ=@e*0f?RN8ijj#+!~xuM;UxlW#4`HK#8BI>@-TswOUR(|nj7M^3eoEH<}`GXJnM z1DdxbD}y|=aZ4F1XWuYpFX7xwcuWT6VPn-kGZpv4S9o?7Woc7Y@l7N-sLCpRMLkTF zZN8X3n#w9|(bWo~2vxzsy8j=?vuG}3FI$)a%;ARco7h~(i6Y*vn{@>%OZAHW`j$yq z)@J1&qyrH1wrNF@6$k!F_%kL1HPg@J5Xg1uxD1a1KG5$CBy8XDWN>l<8WR!&M?1<| zV(AF4J{E;C+9e}ZgS|~+%|H&D%l4apdccvcs*q$f6U30&Lf#AyS7Xfi+XVz)W0p3C zQ_I=9(-*hg2~tBSh(jcL$rY@MTey8!XuG{W7c>m`eBU>;ysj<~Z1_CnxE#}dP`?G+ z&hLA(J(3&hfVi=*`pd6pZJumDk(z7$V1Juqa{;YQQrf4k;0w2~qcR`RNnKk#U=L`0 zZK$>!$qJ?^tdj#>z!-Dy{gx5#(UvSBlT4I}7qbvc9hSLLx_KPmX<{nbpcUR{L_5}I zjA%{gD&->$(}B<;+S5zC8nM)owp5`RBXL^K-;}(x8a%M8?rofe3}{CM-0M7ljyCbP z--&8oNSI9^KXU3Aia)CvXq?XmK0Z>`#;~B5R3f}Mko6<24!XGf=BJ^J11a8+sQffS zoS@5uSGMyEoH?Xk!=jHEZ%1i%85fb@J+d4?EG-YMlor*vs66FFYsSP7;2^chRS$B&v zfhwX77l#sAwa$oyFslmHlKDlt4u1kxqMb=Dr3HoZ=%&UMA;D2{7vlXka~#)K@@uZf z8SF zYGk@xrtYNjdY^*H`dn(Y+|DCMauP{>3dtA!0E1p~g63s)Myp%I9yk^Ntt`g`qHfsN zMs)qePa6_(cM=W#Fm)cU5tc5viPLIKI_}@Zq#iLdoxcuQ0j?HM=Z?I^8Q& z=H3%S_1(6pA&vT6mrhC}iSs(9F4Os6&%^8&y8aS9Bfrg(O*|!c<06EJ6!CdqX5Nh4 zH#RqpylN(W;v)9)Dk*JG&TT($rUyrH%vJhMLj+d6nq*b^T&hCh4-cy>d>zYAF^bY4jM02#A@pyA-$GV5qtaIMV@b%L zUuLorAdm3Q39@Ok9pg9q5+pqEu*=2%XV1*Wj9^1_!XgaZ7v%-%b-_ZnsKf_+%4!vV z5Zkex1BSXa&b74B!cq!ahn&|4hhLbCyerf3DJ!CA?7r>e8)u((ZuR7(p*1=QTVgf6 z%<w`%LEy z_(~2oTQcTic7kYx=yv5?)`EUCs~x+(h$pgF=jRS)eNo70O1ur0D0JKHH>gN^NBHNZ&1zzr_0o8V+#`l8cImk@(+>aq+jVMh&mEn7dU%7VW*!;RWykXYZ^oDVF^Rg zF{csylzNiS;|gJQ6nc_{eCwG30DWe(~ zqA)?sk?idDChrR~+K9aTUTmR*4nL^$Jskgl5+ghFN>n zWi|QSkNpNMmEE0kh}_g_GHlr%8>`h$j^mN&l94x-@|53nXrVq3$zT?$El zfB6MbLr9btt&HI&OlHYdO+Xv(9lNIvLzXWufX4XmJhfWs<{SUnXp@NAC&tv6&ABqyI zqxycH*Zdv;LGPWXKV41o?|%{#8FhQ;t`~*>H1t6VKHr%xwrQh5*dD!s_co|^&KcSd zQ5%1`5N$^gapq2(jty;+2XwAvFN9ET{yg+)k++aO?4p}7!^^%{lULyPJQL4uLu_4X z(=BO#0r-~8Ft&QXXU{O9$ir+Ov$U?aY_jVBgl+v}Ik=Z`L#bT~#sYG!DBs4(1w|;C zwx0JEwohB0p>+<&i;Mj6i$mbdW`A=VOnPot zCMH&ps#_98gPh=m3M1J(e}v7qTtS;e>Ncu+xYZFx?!C?q>`K&|A>*YvLDM+|tDiGQ zZ@K$nNz{z;1!~0Og<*FH!LRK$Xd=gKeG~t)d=C9hO$!7TKZ`0ns1gHnssE}Rf0`Qh zVGj*?cPPYh`-WAILxC!z#R-prZyRj5xA9PNTeQ|ihfLmHm1zf(M-@g2rPzLM7x`r< z=$*OSk*^KYx`S;RP!~*%1(}K!pYUzY3{6BEyHKyy8-tNf6s(C3er*{6mo*~jH#(%1 zOo>aYDegmS5X&rC)Nndzw0KX;pr&mTMAPd2O7vpLnl(n#;(OsXtnfT-NC?8O8P~&I zLGs#mF0+sYvpoIRSg2LFH6wo_sw>v{T2boO7$u`nVxvi)Y0|{x$&wB`s}*7a9RgoJ zVn`iv_{OS^(kk?q4qa}MX?>=3&d1CFi>7S&^EBPSONlu-R1rN(#eiEO(^|q`b%fud z(lk)$>@XNVcms>LnrFAhP4Sp?UZnRK)+u3$J}CI53Ae&NZ^nI*!xYt=lII^5GQN+T zm#1aC*GqzYt6gr1L=34^2S+(TVDMpqyS{B?fG)Lbi$}xV9xij5WbEwNEAgW%&;&5w zU>W4?+?m!9AiG_Xo@xonC*{W)YcsWFD)V9m15_hytn?j3vD;&r&5Ae7&vlG_4)x3T zbRB5m3s-gMh|4#{uG63W>)J9)}98;(^^4lM+Vun-~Hy6=Sgi#Whp<$H$NLu(xE?jL-3vS-%J zCUd6%O`>&$7V=PawoHYE%-8<0Xb(6W}GJIQZs_3 zIUYY8)~eX>5};;}PFsaP$^@F{Pf)hmd$8liHiG2(_2SD}waVtXaFo>`sSbYF6|Epk z8D91a5LV2(vFA?x9N@!SI4lf`1K4@+v zu`h0bp4F%pH*CJ7FVPl60%;q8 zZ8BIPO`8&fmm*T`u}K?tj@Gm+)kFK4{`wH#m*z7+>efT00O?8T`pavgNp6V z#!L3&orYF+QgEa3f4n09%-X%on)wpv+LWNViXG+HbjtU9lh}Ms`uP&zXV&-wL7slX za`5&8y zgqg_m@o&M*?UDVw;WCQYOB2k|%R>somf6iu8!NDU@8vF7>Af{6*o|d7ffr$7O^=Q% z`@eF0H&Q75Y0*5e1y(lz2E8uR+rtlubzRDJb86SBo`7<9TK=vQ?#K6LVm82m1t+E_4&g*Wn-2O+G#i}(5d{Vq)5*rg^qAlPP6_%t#Ga^XIGIRY{YoYJ+Y&Vh= z?)Styz7oBGMmDsQu(B+^wX-7T?iebp+C5bK+Rk?wFV+(oP_!Ca-fm!lG;d{H;hmRRDP8F( zzR2?YXxa2QEHIwA>4e@>pxkEV3O4VHp~wJ|C>$4aq@h~JkgR|s(a#042@G*(A^Au7 ziWq?~OQNH90(UGmEXeXJQT(T;DzI$%YQ6Lrml7v)a2X=fz5zvxK)7FzB&ToGZMN@g zk#abJZRqw2$OQ=5(WkaR-AS1QGM z?vkWWf2Vc^o>L5z?!7;coS3t|HYh92VVK;zypG%Sl`awH>pxs5Wu*hdTF={+r> zI^Xw{j&MvqJzyA#G9q8+Nf@Pu6^(Vq5X^Oy9yb+Baz8(PtUrqCLtGmSl;<+9#>srHh`F>~u-X~)oaCpiQy8MKc8xou0u zp<>Tq5=`q+%vqUEEjzb~&n1<2G4MLXfX`+9we8ga?7$-i8Pb1!{=&zyZJ*-jWOwfxs&Xotpn#!eLo7AhiCm?H;o#874;AeO3KQ7&)1p`;Y(yv|73Ijg0u;1XOU?<<3T@1*TNu<0ugU)OHA; z3vV0P&Tj5;>Y*WOq#vG7XMaefIS0Pys3p?(M}{5s5c}EC52@b;X4iQrw!U3bI<_Ue zLAk74z8P~U>i^;kkKtyV&Mnc@S0Wt?kESzd=w5)Z=G42U?k=28fNL#y^qEge zr&S^v(IKs5sTyejL=F2@JyIYm6qEs^4^M>C_VQj${Z+qTr5N|TV5$5Mv z(9NF{Ry8&1kXlnu%;L5;p=&Ui)n8^syH|*t;Q2%|YWki4`xmDXWRZ^Q1a$&r*sxBvVMLltP&r8xBzu#rU7}CwB z7Hsu;r}B)(tXg8xfM3yqNItFet3$^K_P4y4!ku{0zMSx-T~$pH0=)0%Yi{(S_PBzO zS`j+z4ok)AP4Guny-$H5=9PK}5=R@KS`o>d4k@jd(dL!r2Mt#1JL=6M!FV08Tb~RU zpcKwqq|uA(V6a=A%6}dSAH8(v-!RLA&v_iwRxdM0m5@b?@FPXK-f7u$D8f$)v>r}y zCVjhZ8-^^am&wt0Zu-JJZ|&M8Lg%sTs=m@mCXT<@-uhU15EOU5-=Xer%G?+7C5n3Q z2!w*QdHXTh8!XQ-Zn^I{f8u*6&-9juDgw zNz96B@lfP}G2h{9AX}m|r&Icdp_ENMy)f*zh9G<1mna3EN)6j0rreV~<1Y2Ro-_EV z#IGL(FpC@s-2#bnzwqiRG@3yAi7aup&*X-V5*`#YT+mG;25&-CR}`cp3fda+%?4p4 z;NMwW#85d0-_s$XOH#o1U$TKb)amdH6fO?+-IIa!Czhg~u)%gI{2lPPj{gkC$t>pL8xNJ>BJTp)eQbL9^?&@fxkoV+W{@~S))6z z0^Y<8(_bfo2*N?ooB+f&+Yay_{B!)O-*lJXZ45~^W+p{0i;r?9=VXkir@TV+FbzeY zh$S;I!qVx8b|ZT9R&00^%T7&ykguv+FKEk4U_ekw zLn|CtXno`grb@I7K&SczC8%{Apgzex-KP;ii()ccIk)%&w9Ty;B7hNR@;FSHQ&Svr zsSBoMwk{}+7l*k$355>SOp=mEsBl3(GtGfA$V_pD4QFyQOnXNoBD%>CMc1*4XR9h% zpJISEP^O{wziz`&5+=!EhFz~MtX8;rm&a=^ER`3M-ee+%8(OE9Tl@jhW>IYah1eam zz-pYDuKojJ#Jt#ky*Us=yPADo8RE!lh+2}ZxZ3BIxKK)dP0Z#ClU|r2r;&Qyjb3;p zo0)cnU77DDDyJ=0&DFilRe>ObSm<)g;>K z?rxWB3M#c%cx6ZQC3Rd#mR-;uWhHQ`IMU8shFhYs>d*b;pz41=aO6m{<>iki7jE@> znDR_{BsA@snDn4V7YEc}gC0@N*_Y5l>X%@&pWIhZ@)yMa*kR57dr-;D!3;hh4FrVP z83csp|8s|>VQgn@X6$C|=%8ur;_&Zr`~P~>ek9M)b(1T3ba%Jnr%z4!MXd&B;a8R! zWApTIZ!<#!IaSU^H&*NLT5g$GgB16{#-!%}q<9SZZ$ElVR$s3l^*Meq(d6H^&0vrVu=;tRdpICIja}s-`g_8Y)eKtYnwuC%q{>wH@e$I zm%~>d?C5T*Yy$3wjP@vmTVD_BGzZTa9gdjn_Hl-F zJVJE6uu7o@l1PCh4u%+zKN*O8JumrSOBhZxRW2-({>BOcI&nTTn&PN`t!ftDDd>N(gGPxv6&Wms2Cp81CGN*@((2TD;niHc5= zRjA8|G-YEPhqKO&)Ms?okYiyI!m4JD18eS?)ve)@*gM7UAB%thcG_kPvD8Xy%R^9~ z@u*{_+8A}5Lm_^?bOw)RWT%w2CL~Xg0!~`(!jMjAzW5XFV8~WAzVtE;athZQn^CPI zfB}>&lvWawh1avfgeO4ojXjqu#K2H-lxUmnL@qa=9EpGh*Dx@@lW5j*-_OtaSgzc} z%U$ByV21MQY{pK`5g)$7?I`&3Co{MNu6i{4ubR1`7hZ;;a#fam=%?G)Aqu+j+KIn5 z$2^M>P7M-R-z~3}BO?maN0z-P8MkCTB?dV0zN^@_Ou@4m{Z>vZRBfdiy&frJ!^vAr z{H6Ldl;^L|^SP6!Z%wwFk|yfRpF6!ZKQrP)TJK1?dQe4XMI8TV+^KxzL^iv1c4~5J zz+)+Y&h((nMMThTcXEx0@aA;e^#g~^{nJBqK#VA+W$);3C>w`H`M+{dCbP7uPc$~ORVUpX@yg~Io>{V1 zDzNy~TC>FI{p;THzvy};_5wOWMRSr)?&OnAFG86!Ny zvKA2q=6t`El~Zp8f))~iJl^|Hu{XJM1W|rn)!Uf)+IL$sYVL{YMo@`%jhq5R=Oe#P zCqXVvGD%I|m6<@7idhtxpLyqoP92W{xXDf5&n~RK%AD8w-Q*jBZtB&w36D@}eoTsX zUXT2}D5;U;vJFq=a%WpEcVOX}^PAU_XftZGQx7?+F+I@1-qq>bfZh&4sakHJSB~ef zfs;tlpvdk;6%3!4LlWH9_7%m3*`QjMnJsZbsdzbe?g&LSY{^TRZQhXqZ;gA>giCDR zxor64V~OZOpx8}sUmlBFx2Ilj->A8^r|$BYsz21w+_1-)UizTz4y^cIf{oIi?p{_0#vUBlMff`?#Ag>hb@(o4U-o(K z2|GeC-2JlHx!?P-4n>{eL6ktBD(h?X_!Z1q5nae&ZES!Fqd0t4|Int)ovJ*RG=EQ{ z@NS;MDL&Jh=H#B)F)vqq+5Y@@{K5~4wt{R1akwf6*5=4K1^dyXFo0*W7C_{11^V@- zqgN68IIIt?W4K7GKP+(RA1d~BI$!*0m}Atpon1DDA}IlWDzxsd^I#uaP$?^zVi}t_ zOU5u8TQE1STOQq^Fy6ZjxTG{CWbk(eEY|;06m-!zhU^A=*su;v6efx+>M%&=V1rF( zFY@&C0V}+WCVKb&dnE1Ghjjczs=k)-6Umy{I(A^KwnLcX_vS~E!D2dfv|Olh(y3b# zJP$LxTP-tkDOJ#+MB)0uN4Xg%w%v%T}Ul-Wh%h z@9&!{bOt!VGeiZXRj^Bd<{7%9;CGKP0&GSeiB4i9l*lyGpY}*20R4=_;emKeBc(HJ zVG4$$lW)@r?EIPbH>Lzl#d-b7k;O4<;L%4w7=bsh&k*#`GR^BYf&zS8W-(Z`J`A+ursZSg-sx%9JRyfCCBBc#(K{UJtu@B_$3O14X<_Fp!v8V-h zKtVyWL2Mj>>kt;$GwvYB?MQg*F}6Hi%m*c3;v{qU)j_qb zr&v+@D(UglbpghCE7bF`Mt}Sk)mgFk(a0*VHOiMf{F#^tz;A{!Utu%TAOy&qZX>*q zM!Pe9snMf&%2KdC+*@O@cv=r+)kn;%p9lIof19e4E`Qe@b<@u}>yka+v#l)wA|A;$Z%GVuEC> z2CKf_P`$8r{8U8!me%ttXEO;rWtOMo2h2aR%ZYMV^HsDpb$7^|9)gkACy* zK(i#qYkg2t<&`MHLyw>8HMOAc)B@%YK|Gf1kYvEqTDhEISP0;WTXOBS^fEqjjyJr` z>q6A|5lWA!xfttXrorQoodAi}-D#-Rh0+-VBl(s|HoHAx{T`d$#4F=e4oo0=y18P~btyW`$hx{^)|UCzLL%w(o6 zDW1>|B(5JPN8ZvYw{Bir%AyyJx-}c1OCKO-gm#T|B!h&I=rD&cSTNHjm)(n4Zx_8) z0c+h`B@cdd{r0UEyb9`r5uKH)n#c3BFdBHf=Wwtxw_yk}5-%1S(IN@8f6R~5sFlXi zIF*8ew<8#ExApCodNe+c_fXi@sKfqU4_ivzp4`=?M^ue$_J@YR^B%HzKN%$$f%FbB z3022fXyp^mo-Ou}hpn(xo^eUUXCyJFH1|i%K*mpTX`p8$5u-f1mOFqTvf_kOr*J0S zUDh$X-4Ciyo}9{2WlNNes*-*oL+uLto1N-w?gAssNi!grhSl?&t!I#%cV=6C;4p>{ z-6#F>^<$Po>`&>t=xtZnbFSJO<^4I!-^XPG%Ry8ZSCz}0McJ7Z3iqfP=?Ai89<%+@ z*ZfjMobOdaDv^!Z|L%4t3!DFoS%g~V9@Q)T5W2{7xbg3nRzw_*Dud(|5(moVYbihy zQA(Zv0*}~$8CvE>>kzn zzFCVRT}n0~|sr40G)y%seY{X;V-h9}TY9$N*5g?#BQ3@~I{Dzm!IhdPzqRT$ z`R>81mwPsBkZ)ERzN3G!@S4uhK5y2PYB|50^5wzg?e7#0Ze6Jw(0lmZP6}o_&YEBT z7?B=aY;AJj%*wd6Z9aB>-`M7Kow2&XscoHhhUtj99!prdzqfm-98@&@#S5LYT{XWO2-0@?hrhmS8qg^fifIMFV_p}Bohpf#f2EDivnfqFK*`$Dsmsi3%?a<6#+Rx+Ysdi51 z+GJ<+JFES^&!uopMbA9ngrOVGq-1>Ea#wY!OM2hphG`$_-1smxFI>~XFYj2}z84P; ztCwY3df#ATvwN-8jP?(*OX)K1Y*%!Z6*L|kTf^d7}+uQzab>XO{8{N}XUn*H(y zuD$ze;_01@^Y#|LocW;Ldh0~x#lFd__M9EC+I4?tv$OrKnwj4XpWDN6Y|6*8_4~~o zHUD<=5gA?TroIX<^a{KE(@D9WacP-Trl~<%?6SMf8XJVvQx<#XO>G#yx$x>1E#JoK zbLaQym$AN$-ebej<$jYU>CJ!nYO-_Rx($nmcnlf)>)oseB~2~Q4OiRHI@WM>Qugs7 z7v@Z|h5tsWPv3Nd;+CrnLVgxSG<@x+*2Qw@qoy)YRZ=Z9{{Z+~0 z1-?6a)U_$@>7(zdEBWxgh0m~N3K^#!^t+y}^3>wkvH?rIZU|E5&rO+c@or(0fe+Nj z&bR%x^YTQA-7}+(#Y=q;_B{UidAw%5)oqF$y(eoZ`};V%eyUYy6t>RrylbHL_1T%$ zf$`^_)q2qF!oKfq6)rb!>KE{EW7w%JWqZaojag~j;lj0MI*v8S_U@3? zF*;&$v$1;C#;MU3=8u~z9Ss%>v|p>=pKp6KL(68aeSq8hZ3FI?SgC~V8m^r_+C}@b zS)lNQM%jvQE4HgV7^L}NP_OQp_A}iaX3lUo9W_MfjNXoQ?RJ#+IO1;a?k03UtrA{; zO#uA0>&VQ&grD>7yW5wzy(%2F?*8VmSJrt44Of_^Pt9qx)A(EXfXQp-cUQPOQBi26 zB-}ctS^kqTzfSJRoDi9Hqk*Mc)T|B;-g`{F)Vuqtci+@$fPTB-pKR(oM8RKU4xe-L z+|^_M2d}wsTz1G-s z>m#H6r-zi9ht2u9BnUf=ChotX9Qciy^i-|KFPMX%pMiz9**L)AU^ zX=Psdq_%OT^WEt|XE)dR+DYl_&L6k7>i#nG+oiQfFJ--6O6H>ITt8lK<@$i0mR8Ce!nYO-KXkLeN6WCJv0=&kkc}IY%j-3>F6wu)2&5O2~W(rTwcy?^A$alQR z7yfB+I>_03VBy9M*vybTw|A~)G zi!Pe3Si7lThpA6Y`<9rl*lfPBv-!jakG6L|rqQjFoBe=(?=}zeeluj|k{ur>c%^*X zkkTOM_UJi>Ruy_b9sO<768~>?eoo4Gv-C)dH3`%EJQ)&srD-isvHsh$Ch7TX2#~h5>KwUzLgez0i~A0|oN?VW9sTu4G^1{q$Hl&B^~N=dD?HMx z;qjrzUm4eJa&3s%)8n_Z?%Wx=i+2c`*%Wq24$qnR^Zl(;N5{?jm>KZZ%EZrKa4Yyo zn=6yO(^sxK*(PA_B>x!~dfl=fyRpyAhmGz&9`Gb}+V(oi9WvF&Y&pKiBUR9nDtrj}7WQdz^rM&=>V9+8{d&aDZg|A*>P?fTPoK2<9ri|J#s=rb zk_r35S3B4S>kn*ssrxkj`_?W&5;dRnjdfy+>?e4=tKE9%p2i*XZHDc?)9KQ-7K&i73HEn?3H&lg?(=yrBXk?!}?Gqffd!CxI!CW{RR5S#wGn-lMihOUcPoG0ZCw>R^)Z`uS{8LSE9h(n|19eKc-?!|u4x-n z1BTc?_7*%`QOfvrDhxBI+U?eN=j-#G)C2FN`C*9 z{QfKX{a5n)ujKb%$?w0C-+v{)|4M%UmHhrI`TbY&`>*8pU&-&klHY$NzyJRwKh%JH zboh~IJ7s7`4lkx^p?iI)v5CTz$f$_OX!tu(ByJm;knk$-Mchqm_1~`#PZ-{Am1;;} z^1hw#+652pkl3O`Xg6c*2E!Zr`tuZBzRp|q`}^!s0amVSUXHy!wJtKFGsr4@M`3xn%HXwDeb&Fd-({bw!I!P+7rHpEn_nIxF%VxD z-xofb8usLi?U2QpI)!>>-UZDDEZosUx%}y6KI+t&ce?9Z_*p})B_Cl-XtMs%~Gz!%(mK_<9-cr-n@Ycy`y(gq9 zb!%g%)Z41#q{r>kR*W7rUgwEoolY6UA8K!X6S*vYbvxf)&of3p=;1BebN$$_%LC%; zo^Rg%T;HY3iUUTL?)9-9VzA8Yj(&{(>SMI2j*@*`&aPbQ;$R zG`=3E0|&27gkgh@d+Df{OS|_Di&q${yiY-C;c_pBz`nI(M&}<|Q?@CtqwlYSes>1% zd;Pgb!Q~Ts3rDvKu02iAe*bQNvo=fKXQv&$t5VWkGej^hEviU0N?qOh)J)wuee6%% zO!rG3xh%_UeD=`oO@tP)b3R05pF7aP$N6!y@g;3E!j^T}y2f!{^I-GoaVL7tmu}d2 z@5fx{8)tjQC?<3d(H(2MeE6{9*H4{J+}oYJ_OkZ5 z+B;>)wVTuC^*`|G>@RnljNff@Y*)JX@qZO|I$kvUsco0-1AUYiJROrg;qIQCVMheXswz z*Q}1;Y^TSsxp`sZpk-l+t2*i*^*-_F?|t zjH9j*w2J+Fs1fO_(uK=b~y+=MyVG zYk!aK8~HHs^(O0(nH@Ckvo3k+=ZRn4>udR8KD;gHu~B)-Rl_OMYrCAeblu=Y*68su z`{r3bK6UTF&t^+zSS}k7YtTqpYr5kC@gq^%W#_A^=3%KCySsfgb4l{^IR4$G?v{NS zM}FwGS4#8^f7v8xc>T#wVoRTlP>Ee&uMcq|ruor-;7jUd*%__QqoQ z!vYiWEyuE(9X`K){cBw0%iYZ%KX0vWsBz20=e_dGJ&LV16qO3?J!AZ%+MalG$K%86 zhQqBo?-`TU%j1Nx=+KGH(M6@vnQ?F8Hng7Ma?mT;;oh9{`;*#znPB|{a(Q9*$ zKb#jG-#q7cTG$u0-$fT}-#l?1<8fZ)UMr_B$I8mK&IuZ@woc;rr3E2HgY7?b{#e)I zjW9a5S>}#!T^{cIZte?T#_$a<_dkAhYl6ztPrk{jlKX*oJNQVOP#?wVT;>vHW z{n6jp>f@dZvyZiLsg;=YWWm+tXD?scSJeB-tupb%dzX8^yw~pf+)q6x=rk)?s&9lv#7urMimaL015j{A=9eX_*!%$LQDudaA?vt)^6 z@Xhs+Z~BfnV%Xl+Zcz6wDzh3iaj#c$%zjQQt7l)WhL>ACeQOo{((2_Clb!Dj%7XT! z3|v1n?RT2}&0bet4J~=7R{m+X<QBU?i z)CI5X(f{yp_OrKi>DSw;>SupGmhs|gc2WfV2V>#y#^}HN`$#3|({Hk$dD!=J>Fw<6 z*VdzV6@sARa~qYvK!4)I1@QlbM2!@QhDWDXBbNUe+=2i5pz%Jb{yiAcPW%h7R`gRMOA+ z%>@U_BLV%(gkCU!5=AN88x$W$^V+yfD}Mej6Y?bi@tcr3CgPb4pp=+s&IM|Y{dyna z*Zih~F@tYQO2>SaVLvRs; z634}h#EIOVNw@On73M$zk~*0~i?94Wze(XpHbf+TbHc@wL`14)a=H99^6`HjB%WKptnK^$rsnMg4+xc;}UTkU5uMdnfvTx-3FzvmZW znaE~?CO(6L#8ZD!b>+{4KrawMDGnbuptV5GGQr9u1Q1k@i{sd^;ZPl2v&tD&C`bYu z4$Z&d3%8L7!_Tnep7$XcsnQm5>5?%vvlg%uoVlwPQ-HLRn;W)$F z2O9_kyGH)0(N*F|C7A#M;dF&j5G7cKBj;Cf1+Qvue;{_0ZTJ)k5J$oVf~s){1X9Tq zhybfW#Kw_9PQxC*Gue0Lbx`B9y#hg1+=xI7^sCu8hrel*+&~b|zD(p-PCStR zd?K8P+`QwQEyXZqGan{$2FyaX^JMd`HfBGF6*QSfj00&{VsiEzMnQ%?gidjxNimRz62+1B^q^^N7<9U)KwyqRDeW2@{2Wsqyl`1{!XUQV%`t`U1gPkwDP85)S^9N(zlw5k;|KLV3rI;Pze1oIem| zzXALhh*$PVCC%Hh!a1jeisDf-5~5Z7`efJ3osjI+Z3SLk28c$uw<{5n@ZJN-J{t87 zQeFf@eGbME!Wr2kmF(=r7gzp$it3RL5{M{#sEQPnZ7g_Se7CIbTb)H#O|DW5Ct+&E zxvsA;8Fgs!iz38}h$3PAnCV_nWB2e-U})T8FA4=x564PsqV)T9-mi85q<;XE1B|2W zkxDv?DBzwU5Dg{^V?)WB_pH8J2Q85Q5crlh>=oG~mDog6kbQ(Bxkv4prP*f%NPQG2 z4351lk%H};C`8&F#wzZ^*#>v6!nkei1%fuRQ6qhvGKPXZz&=_ijv>l<%aVK2NigDa zfW%Q(Po|+dCzHZIq#8q%`ae1gs9it^c=$Jb77ewxSR`^tN=PLRcX`~6iL(LN&6K$* zB^fkeS13!w3dteRyaipGD1dOSJ2D6Cznq4PR%{d;$q)xT@kBwZDKOxRAY2n{)mE>g z0>_2L$$_FYW|v~SH5(yTE%#=QHaeFG%4bWXLyLo5G<}Ppl-(Ibfv?-peMI1@B2hx5 zgE%Q6(p8u&Y&$HWx;a9?VIRb;-oRG2>cxzN;}21R9pl6z1}2h%{#}#e*$}e6t*5}S z`D^bHG3i!k)f?}Dxk`|^LiNKHTdl;eM96AsJ*NTnkR58tEhySAcQb;MbHN)rju!|Z z5tThs$+X}6d9nFX81puNZ+jE$YZNSsos17zlg0HFtAz`dM%s!vQ^Z)|lqqcI9aL|u z1G!#+YEbnupj2{EgFjn!^GhL&|NYuNhe&v>34g-sHkm?L`%BdA|jJ z!as(ZLN&ON;>oo{s(S`CpsKLm6e^viT{O|U<-x3QExBV_1FA}sPGPHEcV#!kmJMuR zCuEOQa^I>3Y=7-MjVwd8KY40poohf=Y5XZ{6Pxeog4S$0OwCp{F|^$t+th>&JOT&P z889Umy+4))fGJUOU@lo19B0c4QB_6m7@29ZBDe_-Hm1YCll?4r8r#444#>r2k5sbD zt0o)-H-ZEZYI<5U8g+d>4z>I#;w4FrPzuFS2bbe>AU!&xDY z&Ne#hk(9QWjegaAdMoW%%yM5W;2m=MS8sG%CZz~N@c+|z1r z=^Whd2nFfChUEY1qz%^SxIh5gTJ}gKdEbcm9N9av5h;!bzw7}Ew;8swkqix4Yh#UC zB=<%)YZ9%cw>ISN2FHM!KA!tOo4n$EG(1 zf?W@G69^1scxdKo2Aqf_tA&=v{`^OAE!ZWRF3cfrvLFIhH&t?W5FrlC|8Ou5@=`T8 z1j8r&whIxlx>b@xMCy5BT-?b{kc@4=FA!AS9z>IV=tM+hDRm&M$0LIs7lYsWY^2D* z@*7IVA{RIiR*_2n`rsA)#36KO;-Bv);5{+Phu$QorA`J61 z$jb+yT6RohsWPS-5L^dw6voEJB~~23u|uLtg>&79lJQ_Hy}T% z`!+n;1>lJ=UOd3OI-3m~ElE|9;vBYK_~yoy&0Cf6;94AhJg)Ikbu$k)Yg24b0wba?(>12*SoQYrM~o;$Srq z=IeD{Da%2a#*otDi{*6*N3FPPRHY8CuwpzkZKr`*qa}d<5f%$hb!3lJ(&IW6A6ym3 zQQ|-krM;KIIe!2f6_RF|t00Osf}9DjwmkBn0`lB&h-X%EGc!>`sJ28g2Y%b1orgug z5a7+DmhBT@I|M<5poi(##Ber1^5#NlF?%;&9|-Zr$#{VPx9^>jSZ@{dtpwys)%*jS>{bEDeE^B4sQou_K(Z!k zHka*=mVtM<0^SAwl08sA$>YEyrD;fn+sn)~hJy$l!D!+s(6M|Ru5z;E+nEUK{Uob{ zsxZ}l0Hh}y7&4N>4v?|91XusYt&aIH(S?A9CkDHYkIB#$GTmKVyLakK}Vs zk)cT9LYv`6sejoKh4rhM95CcA?`qmJ2S@bw}n)oa)~cx+boxdzacnHrDS%wWwRYjjq4 z0@m08+Z5WrYryE67#EM$8YIV_Eua~`)ES4@4r#V49rh4a!&;jfgFuPr`J-BuXm4}xRK`hOt zPSF~yArLH^$rO+GJa!h21(ei(s-g*jc^bG1SVP$(mAqL)1+1CDK;z&0IoD0N zpy^>(!3Dp}Ct#K{!7LleB#XkXHdi?Sxni%4_q-#}{m!@M%%IihHU}hY0JhGl_mHpP zc56d60-jg)NF~;fIPgeO7_!^f`b?RRiW2vrC;=msJyJ>ROB^l*-uSBun*vZth3&-> z1f142yWAPfg5O?d39sLK8nAOT#505!RuJy+3w?rC!hqXB5P%``m#YH zRjp?!4@g)2(FY%|Md93Ai0Tb7ytP*BcwCwvd&B8+G$6JDL|jvMTeBmwD*l}XeXpSb z9@k@<4q*>=IFjBYL!`c-r29(HdDkP%!Nohtqj73Gg1dKWNWgyZ{yuVQJyMCrb}DXC z3?6I{8J5+GZ}kzDt<-~g*=Jckg`x7CmR0H|pF&5Y^vx0U0goeZf%3|tgZRoEs+xC0 zQKW42j=}_yBkBeu`tuRo>Q|{!jP)!8?f7BV;V*n(;U%Jk$f$T$rD^)`@RJ>Y zU#BNC<=O(T9dOGcE?Qm`%!mSyvDVcmV*X1|VJzF7Xy5N{NChUu70CCz^KYL^L&W8@ z76|dH`aX}RfY=BS@m*Z%OGM;tBM^EE!(J0^AQuO30O2d87EDK%-?qq|yQCEj*$?jg zEx1pBmOWC5z?m51R1?^kko(CVxD&CD48>wb5tv4HlP}o-w#1DY=S)7q z4#s6X5vuD2ap#?Yx(iV8!-0fLWK@#LL`dZu3mU$McsgYWQ*OdL)sZUOf7pi-Uk^o4 z!`h6$9t1_S^5M)#fA&ivRAQnqG?JKqBDg%=u>RNJo@C%I<}#T4V1a`Gk#N@;fh9c~ z(`_+Kvl|@Y;akI|QN3#3rgEB<(V%ZAgq?E!5g~RcN-jokoIUeq&Q_~688J~55hspf ziEUKMMkoe=L2!qQ@VG(vWl4go3S3!M1O-fkdevKjg1)c;%-y!sngYtcHVC+dY0215 z0GtX*fT?VQAoF$IjtWd(B?PN+CSdV1Fkqjpm_e$qD>p3ndR55c*P`!RLBN_|Ak48L zr~A;bIajXx+~(_1v!lIE%==&C;c{wKAXBMYRV!B!>qdn~g;vCka$1H){n;)uZ##fD zbY+^4fG`SpTnuq*A=H_^ZqJv3oFgol!GdQD6*WE@I>nJ=#t|70zs`cuCPFCM29t4z zBpNO>&<>Ta6QR-ihgk3X4WsSRjftu>j)Drekl4mLs*R2>Di`X34DhkKPT@v{3r->@ zmb*O0uXCr}0MscEGUKS7X46rfW65$&%}IZ;4Nw<@;^GY}{4(jNo?~!s+&C$+ww+eFpRy)I|13B`5Y$utf=>;wbi33b*YN-v)pI zZ35*FTqw(qP>_?v73P9-E#vm*PaOd=e+=QOrEJ*9K0BV~hIfvIw17)ZE`Y#)*QyXaV=hB=iH;H8^b_I5%Jt>mu7uVU*!UI{0NblQ#EW4d>5iBmK%ry*Sgis zxzXK)35gz19t)3R@hrC@>W0<@=uj{sIJA)g1sV?NIY-^$qZghlQYba51f z%!%?ZN1}b=V$ij7JrKrEFrawJBhHTo8yA)on&?6n@>Q>dD09qP3ckfZ&WVvY!>Ad5ni#9|S2aA7x|)|(dW4Fh?6hl(A(N222SqO*vkX@i^t z&ai^!ZJ1|)O;h1_vsDTlHvt|%YVY2XzF zQa`exzI`)z7!=P11Ld~(n0YkZc!*4in?-P4aL595WV1Wd1&+$1fsRNLB_wjxpWCKi z+!Xhm20p$ri^ZbDaY;>PtA!I;_l60NpP-Ea?v+XgZ# z6U>B`?V!N2*We#!71uWa&~;FEZi9i=JxBp%c~KkLBKH?_2CuCTnQL$6-WyTKjp_%- zha&@w!69eRNR{kIJd%cgESPCeie08fT64!0Nf*ZBdX!%(6^eCb&} zt_+}0!+92dcVNUle$bxb;R&L|-r_iNlcr|DPK@CN?&EU2_F7#(#D9B=AEZnI;PJrwW-%J_W>pNJE zi%{*sHCwFEfHS!B6Gufra7SFqOIvNDCc=Q{!odO_-|lF@joLqo>|fitO)GE!#FOBs zaKx0x6hs!G=H?z+Y6r`;!i0HN^+T6}m>Bv;(>S+ag7pH8Y!x`C8pQNYGYz@%E3S)% zae^=CdUh^Uw*>dV%HhiY;m1r1}-YT3lN1Yi$_WM@WnCS?(Q4 z#A2yhA*@xao^AXASpKd|tS=KtSZuW_gk^a9KvQLq{tP*+c5~RUNEIrCb^qoKuO1pO zt|?5jCSJ;h#iK5TpeH`OZMqPKx!;qyu-`VbL6fUd2u(3m`TjC+)Xl)0fwho5QpuTo zHZ;x}6auw2I{2vsRwV$^GJLb;9_IojSDwxSVuvZ=EsQ|_qTrlNUp7dzGYT&d5jpBj z%#(354A1Ni3GZJH#_^-k?hk0VgmZB;^&=lTY(OV@T|t=m3PnTzZ27I{L@S6P&|p8M zoCuKTra_bIGjZ-1UTAX^VV|M(&*9`e&jzhf(S?{Wg$$jZq3JOff7yyZ(@M$ zml!b#le2(@0R2wZdRY!uECUW8alm6^iGW;XD+Ji5PFc@;0H_Wg3SZl=(}{p=#VQ0g zNo8o^I{>>F%nYEk7n8uMbx8Yj{8-g*KrVdc zqL{*Zew|8Fc~r^4f%4TONv)f&Q6hEU%Y97Ys5-x-E}L zWI&Fztr3-cc0*yF)j2nd-0M}tx<D0Cw(6!~WZ-D{x3Wjf50 zKOG~Rp>UdC(Z7piDsQBd`}5|My_{WfwnSmv zbDEP~`V1j&!ph8s!nJPc@0P1UoYAm^-DLWLcK=Ms9(hg<5+4dpgYlhbqvO`ImT=Vp zqnQ-Lo2GhRRE-ape~40uTJ{Epk{fA6j4uYF4UR_ zHKLDCm|X>CkNaP#NuL!l^lRk~?}Q238wmtZJCZ$8N!r~1l@Go8520Ih2($<$%DMmM zg1*Wi=SQ%_E;4GQNiJ{?m8T}LEU}L$At{=Cdf3`|)@(=Dr43@wd8$#G#{zJfP6xH@ONz=>6zlkFE>)3LbH)Zt_ z28A!WptX|+NVx|@4^SYHJyOY@LjHW!DjXEP1NMsBPyj8T)rFnq&-b?gLgD%yHoX7^ z4f1{ILoV~?`g4Vc!t|-hSr>8+5?sogNp`P?LiTjmD#~uHOKjq&WKol;6z=1-tEJwVk0oUJaK@_rcQ_sIb6O)fC6W{SBt9Dn2LboPj zaBFD0MOeC&&;04|3q%ykS_|H~qEJ@80nn76|3K+N%ethoA6B70`c0wk-B)H#khh#& zt07-+=_8wB<#{V*mhmIM^+$U`K6u_z{~uU+#IoIV!VV+jB42jcr(Ofbzn79I)0=vx ztrMyR$Xl}g+BG0UH`c72IL=(@FEcXFfjPlLlxy}i;^fKK;O1-vWHIH-+)1wd z`D7QiC=%Uisr;O5pGSMum<`?HqVOqS4-MT4vr~l55x9MxIH1OSRad(xtW7uVN;)TU z1QALf%!WzF^QU3nHlxh#Ti5lI$g6c^DsR#Oe{P9UsOIY5(j<$qU>0vGxH`r`gARgg z1?e7AQiV1oaDZ^+F=nQI3uwrN9WnPFb7;n8pSjM z>JbqlxG=o^RdkCnWOiKxH1Hm=UW!@`t+eV?` zaq5H^R%l(@X#osTo0!+jpPr;JaGy0H@KuLYuX=zNDT6nS9c69`l~#mzDc~%}4;&{< zh_K7)5G6Rz6-*e+BvgC(?}RMpN{BG=KqK+mHUh!!l?sgZvOB*18zHmCj#y&FT6K>> zLfIRx&pKmr+^nz8ZJAl*$a#i@D1S^8W}uHKUUOi6{q>UhzfrQB93irRKDzn)fb2Y6 zo5D}a9$Wt#8PD?~L~fOzR4WaxTe`Y3PwG`2{*j#RlnBv9rFZqN3v^vzA>FXGeBtqr zbo8?!MEqjWs7v#~G)lqu+F-w>v;3AXYCiujz7*QWFg^1@l5MoJ= zj8sd6=;&D~lO;Ee#=@_ZgIIz~hedw{3#J8g!J8wF%%ZW-&wLPrK+889uIvdeLZl7v zD9awHwEUSXmC3>sE_`6m!1+8I+RmbVW4^1;3** zG>?-dKY!kVNNUm^=8_!Nqmjr?kNCu%j?-r!g8P7iOR)C1ef`vxHxcKt7@E%HzE@mU zp-8%bd7F7uZ{93C3fRbi^i*uLDH>+93ZiMeGLt-%Hy0(GMm(E;pYN;)Jl*9~t$PfW zhko#dD2Dxtnu%&Nnm~b@^Esoa6qMsGgr890d({=R?C2I|;_+lE6`$WB7ozF$`^mj< zn1%(s2Y`Ex^p#W^`q37m*rGOL-)}JNz2z*6eJ+K9$AK1N*g3h@1?0TX%DLA0`)CZb zV=RRK(4ot+?|}b9u1I$CBn_W>c!daZ(k7YhgmmuVp!O*adJejzUoe)XU(wlxLAkC6npwo6V5`KqGh$U}A zmf#B5$zeO0Mr)>Jj?;uxUEP7%pEkFM1kTbt3q?~o*%L1>QWFTijF5Yg z{4xnjmU_wEG)1%SSohg$_`b8?92|+mnV{^EO3s&&(CAs#^N{wgt}s6R0OotFi=T2K za-~+|7fxG)K8R2TA)SG2jL4c8f8oMp&8J-E&mZ1J3sU~`%oo#b6&evtd*!s*lBmyG zf@=q1m+kMzob(QD5*{OSl3NFwY{dTa|aKpMlmkX5Crwic~-g>#V zZbSGY&p@Uy?b{IXs)fbGSr2zCFvtNwE2yvFnmFB>3`p+Dg$6e^W9x)jFxj1;I1qlw z9;qbGnS@2^#D#E9rY(EW5O9vzGjTe36LARrw-8SBi?T(xLGye9nJuhF4I<(&Ls+83 zzFBJRZUTFEj4#u^FOMRjQhIHnflfaV^>QgJLZFDb2%nRQkSrax5LQS+&(lL-(t&PF z;hmdI!Xow6LV@I&L(`nMK!v&~l&T>6mpxKR*!*fZNr_R>Ru1rmB zh*T{C!12K5#~luE&;GC-$O~r}pKbF37VeB0GbBFqkOR@z^Upx#HWw0a1EcJa^`L3m z?o3bk{UtjlI^g$!H#MVTgyjD6y>mA=IsijG2}8yA+0#$#u#f^pvGj-T`u(9Pd@e-L z8Eg{1RF8hK16I8_!>P7k2JI!_amcT34$o9H=lYWD1y;C#vQMy_*OY3At_kX)rDG9mBxW9<|8Am}w4nU<92i@701C-rUBhUf2>#cYWb|fI3S^n8?!vRXNBrf$Lk~_orn!x75 zlkR(NOeij|jD}@f)a*tOIJ3)O&q3{Ek5u9vz=g%>ixF_2XT_5x0PNF-8M}WBrU7$# zV1zx#X~_1cppRc&nbze<6cd}>?;@n)i|WUepIh3ZEr=9F$6G@DK>TU= z&v}PTufi1=?|K4|x9ouvs(spmDEL-liY2tLA^z5JlV6WFVE%o;F2Y~3M=CL#+vLx0 z<$i}m_Iz28`yNF&(*$GRNcJlvGMj}>1aZkCadMPsq$Sx?Ac>t?KjvBss1&?t0T(_o z0E0!<0N9)ZO4fYV)KZ4TR8YDX3@8SXu)G=s(I22WSoU9$4fae>1b-vVs(hr9F?me{ zmCg>W81s8!IvzhJc7y*M{f!U)3;a?n`ddM_ii(Yd94@hKL{xZn2t=-3cUZGo;Mp#l zF*PP^M-u^bb&7(0F$y#$9CCKz68N84;=8IZT>b5!$SB1d><0vKs3o$LRxIWaU^QwqMAdnJO^)EpRLdVY=**N>qPwW5-nWA0$kKTQ_sGL5gLLr|qEp;e>BW=A1xm|y#g63lZb%(ItlmT3PiRH+dmG%yy5DP*JETIU1< znI?EiD51+9spOLeZ!)-{AX_>LpS@k|nYzF?7AA-D?QX)G58enxQwu|CNa0J>o;kT5 z@C^h${L)^_7QFce*hdS+F%+g}7Re(OfXQ2qNutl6$vGKLBPdMD5nq(h7uj1we1I#+ zEffAsJYGyh>c3-?T3j8NmJp@|B|O<9m3X!1Pv#nzB#sqwbp}9OH#0)Mq8%OsT=>Lx zSo7yXT7j;QQl!}Q()JWZAaemS{M8Lz+ZvF?h0)rHTyoypcQ0(OF>%bKail#rk!J`5 zd&xq!Z=)3q>O1sHZMeA&Gq98`3^Eice%!#-H!RWC=C^Z6xCp{o0iFVf-XF*fU43s7 zp_ls|o>s04XDGXw^@3|dxuO4TLn7$OyC%20g3840P+$}xG{#auD|Q?a^h2wz>wiHG z(qkXHYKLy5}iYqrLxPSK%5mv`qL2&~ldAIv9hg+he z%ju{FRBjm}ZbZNVy>i(4%l0TRD)@yuG+fvna+oMoZe-UOQ@pYh38*EB+S1h zUZG!VynNt+01e|@_B@8b<6#c7qOd894Y0yL5{EZ)uz&0m*je!IFr)f>K8+1c_TIW2 zA~J0qw$wdx7B39|tGx0OOl(j7I!yw(Was>_^qu>3k*W+wR)oUj+ zzq6OKkp>TTj3v!LGOv#8h}p-bhxsF;X~2n(5V8%CFa{OPMX@Z0`i+uScP@gYKMLw& z78s%Q3J*e-_uJ7_9!%J@q8=b05;G5{)l_VBeZ>!h$lg4|Zjaw%Tpj zm~BA}rr4T|?#P1bJ3K1hL&Uu&^LC7|v4g>`gFFk*5m$C&flY*z(5iPFTp0;-kBSv> zD0b11U!#VBrN8FJ1h;VJ2hJhpb#-2kS`O8xT=0Cj5|{bXz#%vE4UH7BB!^x7{5+&k z1@)iEL_Rf;3mF+J?wwv88QLkguaP!@o1SrY~0#p zz4z6??GQ7)*u<1v!73hf9IIU&*;O_T6hrPm$R8QZJRJK$L+*-w2Gx_;2&BXurt+tq zsBtLx>mC`*ZFl7cm6zS1MeL8XbpRD>KZyxDuABzTA*E5~k}XECjn^3~FuopLN2Mj% zPNqP8H2}E|u2Nfq(fSdKVI!OSFo&CHL&0^9hHVy0t|1xSUOi$cY~ibL-qitHR9{yL zEV>8`UziPrt8vh5f~7{K+C;lh4ER66MBovDq7Ml_zEV9PrireIy81(6LyYB+vnz;F zzh({aMkq_bhJP%O8{RoKG!E@1qFY+EbNz_RVCiGPk9Ndh?SwSgq!?Vqi3H7ZK06?> zgn(G^q$wLVh2!heAO?F2x{Xd2Dj%t&bsRS|GHSB1({58X`k2~imLa^D z{g~-kJ}1?HM*biSEvwH^gUu&FJPq}j)yIoVxWQrkiBX|Z@fAmbkYFYzkr@_yem{E{ z7(fXbnacAu+zdX*Vi6bh;lj+6u7Ifr$_N!e*&~&_+DO3^RlFENL@i$M<770T=E?1# z;dwkz;fucskx}ui>T*8Qs%|L2&jxrS*^rS{H{M5qk0ZPmgI2HOdh5C4AYXt-*asaL6UK2X2v@EG&iQ~TX00&?GgJEvY{xFHki3) zZ%b&nV4g%|O*oY~;F}H@x;oJMp6He4hqvsn6){i(~hcc5pbz!~yLCHYAvPUX$ zdP{+>{E{0H_nh`HgE_Eh!_Apl=fcn2xY5FdgsAW+IGJYqy0oaPNk}x9r2dc=n#e|s zbSzGx6~QOQS1JUQidj8Z%S%I2c7u(63TZNK`t|D4Kv_QJjFh*IM|sZ>knb9hFFw{5 z4JokXZ#pB;H!r#xqOsn9vErb|wYWhck%R+(;)G^_K%Zu1^JZjwO$DzTqH$2iUyd;O?k3w*IG0si5*rF^SUXc5c_IVpz8T zxa)|kgRnD|1002z93L4f&U}yR%+Tmd&<-2=h#pi}R4ZeBClTp|tyzXWXoEdv`gZ_W3pO(@k?UUE zz>IH|5z&u7EC0F~maz!j5uQ@k4&X%R`~))+NXF$Tb3-t2W5G4!WwmcZxskcQ#f-4$ zZEkQ*8AcrjGQrnzSQI~O;yb1Yx^Tm(=CA9+opFes@t|UVJSTKzphy(+q!wPY--3fW z1BL@Hs=gV`iAwrRGa6>|pxZ<3p)PU?s!sU2=}qPYtOz>)+I#X)J7o=h4+Yj+P+-N& zBb&0gk?|IIMDRgT{WhJ4?cD)}jt~3!3Qq9qZSRQ4-A3C7r-MptYQ;pZwT>GZ-4x;y zi1F=3USimQ5uj|iMqJ&@jm-8}c;ybJT>u6{mmB3V#ZRhcHPf}Ps)9qurzUK-5C8TF3WfUF|YqfpJgnApk!s6K-L z@#E@k#eAu-@Q=cG?^wqUKERg`Q^QX{ZO`-PtBeULWHG-wwloH^A22z*YWCs^Z!#=U zq!9K#**L}o2%%vh<1k))gEt|yH9Jy#`{2`$-GC_zFl zzY!^gX@v08TBPyonuL(j}ELclr~MCXP{Pvu8VnB-$u3bA#!KCAp; zihJagv3FfPu1qPW$_gW4Rs^&Zu6ycxQ{k?!U>u~8&e$Zss@8<7dX!6{9CNb%UFW~k z!);`4lbTXiguWEM?PD9Jm;>K)up)NY6n$Fo=BtW_DQuS(tepH3f~szE0==ovn~f19 zQz%m=iXFF`Iag08dw| z?Q4>bcguXe&J*nLF0jM+mU_68FJtu_mO{62dE%xaFhM;?l5x8E`*_n;OKd50Z$nJq zqB!|H`0XB;JUx%|rlU7=M@#o>eomMXP|4@L7mN8)QMBZO9SVq{ZV0n?pz!pwA2-S3Kg&1@}=Z>p2u5MqeE1v=)vCG$%8c z&Ez$2HoRpYg>n1G{ojWoS<0Ca3q=E-CcEm5V$KfbNSpzCdm1*-g|{#BnV-dbUZ>`C zJf)gd@1me1%n|yMGinz>hBYVU5wmXnkki}}2utM@^tCB}LVELZB+(TYVib_2gs(O* z%622I_;XRZm?NUJqL5E7U?+S57l#M_pF8m7=?(xE4RK6+ns zG`C*cK2Ia>c^b*@q$V$o=(BAdq zO+;;Zj+lI{b3VKVrZZ4OcgCD`f*)Td^o|>ft$A)~aq=;ZCs16U4Q3e+M~(;8gpwy+ z@(PE(NI!1ECc{gu^+S2n{e9JhY9n0&k2XY}^c9fdbDJAkQ!+|hbhLVFUR?X$2k0il zKI?<6o=$8{>8d(8Qg(s=;PZnVfHVO}oiWmr3I9gQ*(e>&(`JuBU}HVN{_!@3-Ybuq;-PaWdKl%+?+ z`j>^m-KRI<+;n79=0WnjB2HLFCPV~3`10q15?EIi5CTLioG>`IO>PpXu*2>~y47|aoVOU77>f>|wZAWFE<@aEWw zAO%A`rW7vgQJ~rSl%o-E3K0jL04Z#S{fF=Bf0+P$jqq_$=F5TF=L)3!pEB7aDMjuOGn+ zoz(aoiKS6p)%rcbSFZu3!v(%3h8wtAbW0S7&w?};JMbl4K^nM5n~kI(lUt#q;eNLn z^xYri&=xE`e(!CogcFq16CDAHQzy6E30uSj;vXEaPdYasp*cDN9N(uT{WpwoF_g)` zi^?9U#CA3}ATtsrO0|pkkq5^BUJ7c4yQ1kCobVN|YlU%c>Ys(%eocfGdky2pS1fB8 zH#SS(bR>^^%DNX`gQa)|SLty93pa3rvURpulh<~L0!Sbj0HJ&!d!&-NTSdTo{ z=cbs0n`pa%xn=j2uw(P-R9+n!@*CMBl~}!}Ba@D~M$dhhrP)v*cucFNCe-4X?i#$>fT>gO3$EAZ!0u1bHTF=9B@NQ1}5A!($uM?yQigM#tHs+`gPqs}H_v0*Bx4UgUkW)^hAjD!e2oz^s!35yH( za8I7F+}%@=G)9LXiM9iCTo*Pw1gWw|D#`N!l2o|#ni2_pTJN - - - - - - -All Classes (biweekly 0.3.1 API) - - - - - - - - - - - -All Classes -
    - - - - - -
    Action -
    -ActionMarshaller -
    -Attachment -
    -AttachmentMarshaller -
    -Attendee -
    -AttendeeMarshaller -
    -Base64 -
    -Biweekly -
    -Biweekly.ParserChainJsonReader -
    -Biweekly.ParserChainJsonString -
    -Biweekly.ParserChainTextReader -
    -Biweekly.ParserChainTextString -
    -Biweekly.ParserChainXmlDocument -
    -Biweekly.ParserChainXmlReader -
    -Biweekly.ParserChainXmlString -
    -Biweekly.WriterChainJson -
    -Biweekly.WriterChainText -
    -Biweekly.WriterChainXml -
    -CalendarScale -
    -CalendarScaleMarshaller -
    -CalendarUserType -
    -CannotParseException -
    -CaseClasses -
    -Categories -
    -CategoriesMarshaller -
    -Classification -
    -ClassificationMarshaller -
    -Comment -
    -CommentMarshaller -
    -Completed -
    -CompletedMarshaller -
    -Contact -
    -ContactMarshaller -
    -Created -
    -CreatedMarshaller -
    -DateDue -
    -DateDueMarshaller -
    -DateEnd -
    -DateEndMarshaller -
    -DateOrDateTimeProperty -
    -DateOrDateTimePropertyMarshaller -
    -DateStart -
    -DateStartMarshaller -
    -DateTimeComponents -
    -DateTimeProperty -
    -DateTimePropertyMarshaller -
    -DateTimeStamp -
    -DateTimeStampMarshaller -
    -DaylightSavingsTime -
    -DaylightSavingsTimeMarshaller -
    -Description -
    -DescriptionMarshaller -
    -Duration -
    -Duration.Builder -
    -DurationProperty -
    -DurationPropertyMarshaller -
    -Encoding -
    -EnumParameterValue -
    -EnumProperty -
    -ExceptionDates -
    -ExceptionDatesMarshaller -
    -ExceptionRule -
    -ExceptionRuleMarshaller -
    -FoldedLineReader -
    -FoldedLineWriter -
    -FoldingScheme -
    -FreeBusy -
    -FreeBusyMarshaller -
    -FreeBusyType -
    -Geo -
    -GeoMarshaller -
    -ICalComponent -
    -ICalComponentMarshaller -
    -ICalDataType -
    -ICalDateFormatter -
    -ICalendar -
    -ICalendarMarshaller -
    -ICalException -
    -ICalFloatFormatter -
    -ICalMarshallerRegistrar -
    -ICalParameterCaseClasses -
    -ICalParameters -
    -ICalProperty -
    -ICalPropertyMarshaller -
    -ICalPropertyMarshaller.DateParser -
    -ICalPropertyMarshaller.DateWriter -
    -ICalPropertyMarshaller.ListCallback -
    -ICalPropertyMarshaller.Result -
    -ICalPropertyMarshaller.SemiStructuredIterator -
    -ICalPropertyMarshaller.Splitter -
    -ICalPropertyMarshaller.StructuredIterator -
    -ICalRawReader -
    -ICalRawReader.ICalDataStreamListener -
    -ICalRawReader.StopReadingException -
    -ICalRawWriter -
    -ICalRawWriter.ParameterValueChangedListener -
    -ICalReader -
    -ICalWriter -
    -IntegerProperty -
    -IntegerPropertyMarshaller -
    -IOUtils -
    -ISOFormat -
    -JCalParseException -
    -JCalRawReader -
    -JCalRawReader.JCalDataStreamListener -
    -JCalRawWriter -
    -JCalReader -
    -JCalValue -
    -JCalWriter -
    -JsonValue -
    -LastModified -
    -LastModifiedMarshaller -
    -ListMultimap -
    -ListProperty -
    -ListPropertyMarshaller -
    -Location -
    -LocationMarshaller -
    -Method -
    -MethodMarshaller -
    -Observance -
    -Organizer -
    -OrganizerMarshaller -
    -ParticipationStatus -
    -PercentComplete -
    -PercentCompleteMarshaller -
    -Period -
    -Priority -
    -PriorityMarshaller -
    -ProductId -
    -ProductIdMarshaller -
    -Range -
    -RawComponent -
    -RawComponentMarshaller -
    -RawProperty -
    -RawPropertyMarshaller -
    -Recurrence -
    -Recurrence.Builder -
    -Recurrence.DayOfWeek -
    -Recurrence.Frequency -
    -RecurrenceDates -
    -RecurrenceDatesMarshaller -
    -RecurrenceId -
    -RecurrenceIdMarshaller -
    -RecurrenceProperty -
    -RecurrencePropertyMarshaller -
    -RecurrenceRule -
    -RecurrenceRuleMarshaller -
    -Related -
    -RelatedTo -
    -RelatedToMarshaller -
    -RelationshipType -
    -Repeat -
    -RepeatMarshaller -
    -RequestStatus -
    -RequestStatusMarshaller -
    -Resources -
    -ResourcesMarshaller -
    -Role -
    -Sequence -
    -SequenceMarshaller -
    -SkipMeException -
    -StandardTime -
    -StandardTimeMarshaller -
    -Status -
    -StatusMarshaller -
    -StringUtils -
    -StringUtils.JoinCallback -
    -StringUtils.JoinMapCallback -
    -Summary -
    -SummaryMarshaller -
    -TextListPropertyMarshaller -
    -TextProperty -
    -TextPropertyMarshaller -
    -TimezoneId -
    -TimezoneIdMarshaller -
    -TimezoneName -
    -TimezoneNameMarshaller -
    -TimezoneOffsetFrom -
    -TimezoneOffsetFromMarshaller -
    -TimezoneOffsetTo -
    -TimezoneOffsetToMarshaller -
    -TimezoneUrl -
    -TimezoneUrlMarshaller -
    -Transparency -
    -TransparencyMarshaller -
    -Trigger -
    -TriggerMarshaller -
    -Uid -
    -UidMarshaller -
    -Url -
    -UrlMarshaller -
    -UtcOffset -
    -UtcOffsetProperty -
    -UtcOffsetPropertyMarshaller -
    -VAlarm -
    -VAlarmMarshaller -
    -ValidationWarnings -
    -ValidationWarnings.WarningsGroup -
    -ValuedProperty -
    -Version -
    -VersionMarshaller -
    -VEvent -
    -VEventMarshaller -
    -VFreeBusy -
    -VFreeBusyMarshaller -
    -VJournal -
    -VJournalMarshaller -
    -VTimezone -
    -VTimezoneMarshaller -
    -VTodo -
    -VTodoMarshaller -
    -XCalDocument -
    -XCalElement -
    -XCalNamespaceContext -
    -Xml -
    -XmlMarshaller -
    -XmlUtils -
    -
    - - - diff --git a/libs/biweekly-0.3.1-javadoc/allclasses-noframe.html b/libs/biweekly-0.3.1-javadoc/allclasses-noframe.html deleted file mode 100644 index bb2ac7a4..00000000 --- a/libs/biweekly-0.3.1-javadoc/allclasses-noframe.html +++ /dev/null @@ -1,464 +0,0 @@ - - - - - - - -All Classes (biweekly 0.3.1 API) - - - - - - - - - - - -All Classes -
    - - - - - -
    Action -
    -ActionMarshaller -
    -Attachment -
    -AttachmentMarshaller -
    -Attendee -
    -AttendeeMarshaller -
    -Base64 -
    -Biweekly -
    -Biweekly.ParserChainJsonReader -
    -Biweekly.ParserChainJsonString -
    -Biweekly.ParserChainTextReader -
    -Biweekly.ParserChainTextString -
    -Biweekly.ParserChainXmlDocument -
    -Biweekly.ParserChainXmlReader -
    -Biweekly.ParserChainXmlString -
    -Biweekly.WriterChainJson -
    -Biweekly.WriterChainText -
    -Biweekly.WriterChainXml -
    -CalendarScale -
    -CalendarScaleMarshaller -
    -CalendarUserType -
    -CannotParseException -
    -CaseClasses -
    -Categories -
    -CategoriesMarshaller -
    -Classification -
    -ClassificationMarshaller -
    -Comment -
    -CommentMarshaller -
    -Completed -
    -CompletedMarshaller -
    -Contact -
    -ContactMarshaller -
    -Created -
    -CreatedMarshaller -
    -DateDue -
    -DateDueMarshaller -
    -DateEnd -
    -DateEndMarshaller -
    -DateOrDateTimeProperty -
    -DateOrDateTimePropertyMarshaller -
    -DateStart -
    -DateStartMarshaller -
    -DateTimeComponents -
    -DateTimeProperty -
    -DateTimePropertyMarshaller -
    -DateTimeStamp -
    -DateTimeStampMarshaller -
    -DaylightSavingsTime -
    -DaylightSavingsTimeMarshaller -
    -Description -
    -DescriptionMarshaller -
    -Duration -
    -Duration.Builder -
    -DurationProperty -
    -DurationPropertyMarshaller -
    -Encoding -
    -EnumParameterValue -
    -EnumProperty -
    -ExceptionDates -
    -ExceptionDatesMarshaller -
    -ExceptionRule -
    -ExceptionRuleMarshaller -
    -FoldedLineReader -
    -FoldedLineWriter -
    -FoldingScheme -
    -FreeBusy -
    -FreeBusyMarshaller -
    -FreeBusyType -
    -Geo -
    -GeoMarshaller -
    -ICalComponent -
    -ICalComponentMarshaller -
    -ICalDataType -
    -ICalDateFormatter -
    -ICalendar -
    -ICalendarMarshaller -
    -ICalException -
    -ICalFloatFormatter -
    -ICalMarshallerRegistrar -
    -ICalParameterCaseClasses -
    -ICalParameters -
    -ICalProperty -
    -ICalPropertyMarshaller -
    -ICalPropertyMarshaller.DateParser -
    -ICalPropertyMarshaller.DateWriter -
    -ICalPropertyMarshaller.ListCallback -
    -ICalPropertyMarshaller.Result -
    -ICalPropertyMarshaller.SemiStructuredIterator -
    -ICalPropertyMarshaller.Splitter -
    -ICalPropertyMarshaller.StructuredIterator -
    -ICalRawReader -
    -ICalRawReader.ICalDataStreamListener -
    -ICalRawReader.StopReadingException -
    -ICalRawWriter -
    -ICalRawWriter.ParameterValueChangedListener -
    -ICalReader -
    -ICalWriter -
    -IntegerProperty -
    -IntegerPropertyMarshaller -
    -IOUtils -
    -ISOFormat -
    -JCalParseException -
    -JCalRawReader -
    -JCalRawReader.JCalDataStreamListener -
    -JCalRawWriter -
    -JCalReader -
    -JCalValue -
    -JCalWriter -
    -JsonValue -
    -LastModified -
    -LastModifiedMarshaller -
    -ListMultimap -
    -ListProperty -
    -ListPropertyMarshaller -
    -Location -
    -LocationMarshaller -
    -Method -
    -MethodMarshaller -
    -Observance -
    -Organizer -
    -OrganizerMarshaller -
    -ParticipationStatus -
    -PercentComplete -
    -PercentCompleteMarshaller -
    -Period -
    -Priority -
    -PriorityMarshaller -
    -ProductId -
    -ProductIdMarshaller -
    -Range -
    -RawComponent -
    -RawComponentMarshaller -
    -RawProperty -
    -RawPropertyMarshaller -
    -Recurrence -
    -Recurrence.Builder -
    -Recurrence.DayOfWeek -
    -Recurrence.Frequency -
    -RecurrenceDates -
    -RecurrenceDatesMarshaller -
    -RecurrenceId -
    -RecurrenceIdMarshaller -
    -RecurrenceProperty -
    -RecurrencePropertyMarshaller -
    -RecurrenceRule -
    -RecurrenceRuleMarshaller -
    -Related -
    -RelatedTo -
    -RelatedToMarshaller -
    -RelationshipType -
    -Repeat -
    -RepeatMarshaller -
    -RequestStatus -
    -RequestStatusMarshaller -
    -Resources -
    -ResourcesMarshaller -
    -Role -
    -Sequence -
    -SequenceMarshaller -
    -SkipMeException -
    -StandardTime -
    -StandardTimeMarshaller -
    -Status -
    -StatusMarshaller -
    -StringUtils -
    -StringUtils.JoinCallback -
    -StringUtils.JoinMapCallback -
    -Summary -
    -SummaryMarshaller -
    -TextListPropertyMarshaller -
    -TextProperty -
    -TextPropertyMarshaller -
    -TimezoneId -
    -TimezoneIdMarshaller -
    -TimezoneName -
    -TimezoneNameMarshaller -
    -TimezoneOffsetFrom -
    -TimezoneOffsetFromMarshaller -
    -TimezoneOffsetTo -
    -TimezoneOffsetToMarshaller -
    -TimezoneUrl -
    -TimezoneUrlMarshaller -
    -Transparency -
    -TransparencyMarshaller -
    -Trigger -
    -TriggerMarshaller -
    -Uid -
    -UidMarshaller -
    -Url -
    -UrlMarshaller -
    -UtcOffset -
    -UtcOffsetProperty -
    -UtcOffsetPropertyMarshaller -
    -VAlarm -
    -VAlarmMarshaller -
    -ValidationWarnings -
    -ValidationWarnings.WarningsGroup -
    -ValuedProperty -
    -Version -
    -VersionMarshaller -
    -VEvent -
    -VEventMarshaller -
    -VFreeBusy -
    -VFreeBusyMarshaller -
    -VJournal -
    -VJournalMarshaller -
    -VTimezone -
    -VTimezoneMarshaller -
    -VTodo -
    -VTodoMarshaller -
    -XCalDocument -
    -XCalElement -
    -XCalNamespaceContext -
    -Xml -
    -XmlMarshaller -
    -XmlUtils -
    -
    - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainJsonReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainJsonReader.html deleted file mode 100644 index 0c5db155..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainJsonReader.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - - -Biweekly.ParserChainJsonReader (biweekly 0.3.1 API) - - - - - - - - - - - - -


    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.ParserChainJsonReader

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.ParserChainJsonReader
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.ParserChainJsonReader
    extends Object
    - - -

    -Chainer class for parsing JSON-encoded iCalendar data streams (jCal). -

    - -

    -

    -
    See Also:
    Biweekly.parseJson(InputStream), -Biweekly.parseJson(File), -Biweekly.parseJson(Reader)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<ICalendar>all() - -
    -          Reads all iCalendar objects from the data stream.
    - ICalendarfirst() - -
    -          Reads the first iCalendar object from the data stream.
    - Biweekly.ParserChainJsonReaderregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Biweekly.ParserChainJsonReaderregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - Biweekly.ParserChainJsonReaderwarnings(List<List<String>> warnings) - -
    -          Provides a list for putting the parser warnings into.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public Biweekly.ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -warnings

    -
    -public Biweekly.ParserChainJsonReader warnings(List<List<String>> warnings)
    -
    -
    Provides a list for putting the parser warnings into. -

    -

    -
    -
    -
    -
    Parameters:
    warnings - the list object to populate (it is a - "list of lists"--each parsed ICalendar object has its own - warnings list) -
    Returns:
    this
    -
    -
    -
    - -

    -first

    -
    -public ICalendar first()
    -                throws IOException
    -
    -
    Reads the first iCalendar object from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the first iCalendar object or null if there are none -
    Throws: -
    JCalParseException - if the jCal syntax is incorrect (the JSON - syntax may be valid, but it is not in the correct jCal format). -
    JsonParseException - if the JSON syntax is incorrect -
    IOException - if there a problem reading from the data stream
    -
    -
    -
    - -

    -all

    -
    -public List<ICalendar> all()
    -                    throws IOException
    -
    -
    Reads all iCalendar objects from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the parsed iCalendar objects -
    Throws: -
    JCalParseException - if the jCal syntax is incorrect (the JSON - syntax may be valid, but it is not in the correct jCal format). -
    JsonParseException - if the JSON syntax is incorrect -
    IOException - if there's a problem reading from the data stream
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainJsonString.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainJsonString.html deleted file mode 100644 index 89a4276f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainJsonString.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - -Biweekly.ParserChainJsonString (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.ParserChainJsonString

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.ParserChainJsonString
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.ParserChainJsonString
    extends Object
    - - -

    -Chainer class for parsing JSON-encoded iCalendar strings (jCal). -

    - -

    -

    -
    See Also:
    Biweekly.parseJson(String)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<ICalendar>all() - -
    -          Reads all iCalendar objects from the data stream.
    - ICalendarfirst() - -
    -          Reads the first iCalendar object from the data stream.
    - Biweekly.ParserChainJsonStringregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Biweekly.ParserChainJsonStringregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - Biweekly.ParserChainJsonStringwarnings(List<List<String>> warnings) - -
    -          Provides a list for putting the parser warnings into.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public Biweekly.ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -warnings

    -
    -public Biweekly.ParserChainJsonString warnings(List<List<String>> warnings)
    -
    -
    Provides a list for putting the parser warnings into. -

    -

    -
    -
    -
    -
    Parameters:
    warnings - the list object to populate (it is a - "list of lists"--each parsed ICalendar object has its own - warnings list) -
    Returns:
    this
    -
    -
    -
    - -

    -first

    -
    -public ICalendar first()
    -
    -
    Reads the first iCalendar object from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the first iCalendar object or null if there are none
    -
    -
    -
    - -

    -all

    -
    -public List<ICalendar> all()
    -
    -
    Reads all iCalendar objects from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the parsed iCalendar objects
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainTextReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainTextReader.html deleted file mode 100644 index a5b460c6..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainTextReader.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - - -Biweekly.ParserChainTextReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.ParserChainTextReader

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.ParserChainTextReader
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.ParserChainTextReader
    extends Object
    - - -

    -Chainer class for parsing plain text iCalendar data streams. -

    - -

    -

    -
    See Also:
    Biweekly.parse(InputStream), -Biweekly.parse(File), -Biweekly.parse(Reader)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<ICalendar>all() - -
    -          Reads all iCalendar objects from the data stream.
    - Biweekly.ParserChainTextReadercaretDecoding(boolean enable) - -
    -          Sets whether the reader will decode parameter values that use - circumflex accent encoding (enabled by default).
    - ICalendarfirst() - -
    -          Reads the first iCalendar object from the data stream.
    - Biweekly.ParserChainTextReaderregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Biweekly.ParserChainTextReaderregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - Biweekly.ParserChainTextReaderwarnings(List<List<String>> warnings) - -
    -          Provides a list for putting the parser warnings into.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public Biweekly.ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -warnings

    -
    -public Biweekly.ParserChainTextReader warnings(List<List<String>> warnings)
    -
    -
    Provides a list for putting the parser warnings into. -

    -

    -
    -
    -
    -
    Parameters:
    warnings - the list object to populate (it is a - "list of lists"--each parsed ICalendar object has its own - warnings list) -
    Returns:
    this
    -
    -
    -
    - -

    -caretDecoding

    -
    -public Biweekly.ParserChainTextReader caretDecoding(boolean enable)
    -
    -
    Sets whether the reader will decode parameter values that use - circumflex accent encoding (enabled by default). This escaping - mechanism allows newlines and double quotes to be included in - parameter values. -

    -

    -
    -
    -
    -
    Parameters:
    enable - true to use circumflex accent decoding, false not to -
    Returns:
    this
    See Also:
    ICalRawReader.setCaretDecodingEnabled(boolean)
    -
    -
    -
    - -

    -first

    -
    -public ICalendar first()
    -                throws IOException
    -
    -
    Reads the first iCalendar object from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the first iCalendar object or null if there are none -
    Throws: -
    IOException - if there a problem reading from the data stream
    -
    -
    -
    - -

    -all

    -
    -public List<ICalendar> all()
    -                    throws IOException
    -
    -
    Reads all iCalendar objects from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the parsed iCalendar objects -
    Throws: -
    IOException - if there's a problem reading from the data stream
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainTextString.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainTextString.html deleted file mode 100644 index 1c0e1ff0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainTextString.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - -Biweekly.ParserChainTextString (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.ParserChainTextString

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.ParserChainTextString
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.ParserChainTextString
    extends Object
    - - -

    -Chainer class for parsing plain text iCalendar strings. -

    - -

    -

    -
    See Also:
    Biweekly.parse(String)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<ICalendar>all() - -
    -          Reads all iCalendar objects from the data stream.
    - Biweekly.ParserChainTextStringcaretDecoding(boolean enable) - -
    -          Sets whether the reader will decode parameter values that use - circumflex accent encoding (enabled by default).
    - ICalendarfirst() - -
    -          Reads the first iCalendar object from the data stream.
    - Biweekly.ParserChainTextStringregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Biweekly.ParserChainTextStringregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - Biweekly.ParserChainTextStringwarnings(List<List<String>> warnings) - -
    -          Provides a list for putting the parser warnings into.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public Biweekly.ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -warnings

    -
    -public Biweekly.ParserChainTextString warnings(List<List<String>> warnings)
    -
    -
    Provides a list for putting the parser warnings into. -

    -

    -
    -
    -
    -
    Parameters:
    warnings - the list object to populate (it is a - "list of lists"--each parsed ICalendar object has its own - warnings list) -
    Returns:
    this
    -
    -
    -
    - -

    -caretDecoding

    -
    -public Biweekly.ParserChainTextString caretDecoding(boolean enable)
    -
    -
    Sets whether the reader will decode parameter values that use - circumflex accent encoding (enabled by default). This escaping - mechanism allows newlines and double quotes to be included in - parameter values. -

    -

    -
    -
    -
    -
    Parameters:
    enable - true to use circumflex accent decoding, false not to -
    Returns:
    this
    See Also:
    ICalRawReader.setCaretDecodingEnabled(boolean)
    -
    -
    -
    - -

    -first

    -
    -public ICalendar first()
    -
    -
    Reads the first iCalendar object from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the first iCalendar object or null if there are none
    -
    -
    -
    - -

    -all

    -
    -public List<ICalendar> all()
    -
    -
    Reads all iCalendar objects from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the parsed iCalendar objects
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlDocument.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlDocument.html deleted file mode 100644 index db876e22..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlDocument.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - -Biweekly.ParserChainXmlDocument (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.ParserChainXmlDocument

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.ParserChainXmlDocument
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.ParserChainXmlDocument
    extends Object
    - - -

    -Chainer class for parsing XML-encoded iCalendar objects (xCal). -

    - -

    -

    -
    See Also:
    Biweekly.parseXml(Document)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<ICalendar>all() - -
    -          Reads all iCalendar objects from the data stream.
    - ICalendarfirst() - -
    -          Reads the first iCalendar object from the data stream.
    - Biweekly.ParserChainXmlDocumentregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Biweekly.ParserChainXmlDocumentregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - Biweekly.ParserChainXmlDocumentwarnings(List<List<String>> warnings) - -
    -          Provides a list for putting the parser warnings into.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public Biweekly.ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -warnings

    -
    -public Biweekly.ParserChainXmlDocument warnings(List<List<String>> warnings)
    -
    -
    Provides a list for putting the parser warnings into. -

    -

    -
    -
    -
    -
    Parameters:
    warnings - the list object to populate (it is a - "list of lists"--each parsed ICalendar object has its own - warnings list) -
    Returns:
    this
    -
    -
    -
    - -

    -first

    -
    -public ICalendar first()
    -
    -
    Reads the first iCalendar object from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the first iCalendar object or null if there are none
    -
    -
    -
    - -

    -all

    -
    -public List<ICalendar> all()
    -
    -
    Reads all iCalendar objects from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the parsed iCalendar objects
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlReader.html deleted file mode 100644 index d89bd48d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlReader.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - -Biweekly.ParserChainXmlReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.ParserChainXmlReader

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.ParserChainXmlReader
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.ParserChainXmlReader
    extends Object
    - - -

    -Chainer class for parsing XML-encoded iCalendar objects (xCal). -

    - -

    -

    -
    See Also:
    Biweekly.parseXml(InputStream), -Biweekly.parseXml(File), -Biweekly.parseXml(Reader)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<ICalendar>all() - -
    -          Reads all iCalendar objects from the data stream.
    - ICalendarfirst() - -
    -          Reads the first iCalendar object from the data stream.
    - Biweekly.ParserChainXmlReaderregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Biweekly.ParserChainXmlReaderregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - Biweekly.ParserChainXmlReaderwarnings(List<List<String>> warnings) - -
    -          Provides a list for putting the parser warnings into.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public Biweekly.ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -warnings

    -
    -public Biweekly.ParserChainXmlReader warnings(List<List<String>> warnings)
    -
    -
    Provides a list for putting the parser warnings into. -

    -

    -
    -
    -
    -
    Parameters:
    warnings - the list object to populate (it is a - "list of lists"--each parsed ICalendar object has its own - warnings list) -
    Returns:
    this
    -
    -
    -
    - -

    -first

    -
    -public ICalendar first()
    -                throws IOException,
    -                       SAXException
    -
    -
    Reads the first iCalendar object from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the first iCalendar object or null if there are none -
    Throws: -
    IOException - if there a problem reading from the data stream -
    SAXException - if there's a problem parsing the XML
    -
    -
    -
    - -

    -all

    -
    -public List<ICalendar> all()
    -                    throws IOException,
    -                           SAXException
    -
    -
    Reads all iCalendar objects from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the parsed iCalendar objects -
    Throws: -
    IOException - if there's a problem reading from the data stream -
    SAXException - if there's a problem parsing the XML
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlString.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlString.html deleted file mode 100644 index 505235bc..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.ParserChainXmlString.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - -Biweekly.ParserChainXmlString (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.ParserChainXmlString

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.ParserChainXmlString
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.ParserChainXmlString
    extends Object
    - - -

    -Chainer class for parsing XML-encoded iCalendar objects (xCal). -

    - -

    -

    -
    See Also:
    Biweekly.parseXml(String)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<ICalendar>all() - -
    -          Reads all iCalendar objects from the data stream.
    - ICalendarfirst() - -
    -          Reads the first iCalendar object from the data stream.
    - Biweekly.ParserChainXmlStringregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Biweekly.ParserChainXmlStringregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - Biweekly.ParserChainXmlStringwarnings(List<List<String>> warnings) - -
    -          Provides a list for putting the parser warnings into.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public Biweekly.ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -warnings

    -
    -public Biweekly.ParserChainXmlString warnings(List<List<String>> warnings)
    -
    -
    Provides a list for putting the parser warnings into. -

    -

    -
    -
    -
    -
    Parameters:
    warnings - the list object to populate (it is a - "list of lists"--each parsed ICalendar object has its own - warnings list) -
    Returns:
    this
    -
    -
    -
    - -

    -first

    -
    -public ICalendar first()
    -                throws SAXException
    -
    -
    Reads the first iCalendar object from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the first iCalendar object or null if there are none -
    Throws: -
    SAXException - if there's a problem parsing the XML
    -
    -
    -
    - -

    -all

    -
    -public List<ICalendar> all()
    -                    throws SAXException
    -
    -
    Reads all iCalendar objects from the data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the parsed iCalendar objects -
    Throws: -
    SAXException - if there's a problem parsing the XML
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainJson.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainJson.html deleted file mode 100644 index 1283334d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainJson.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - - - -Biweekly.WriterChainJson (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.WriterChainJson

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.WriterChainJson
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.WriterChainJson
    extends Object
    - - -

    -Chainer class for writing to JSON-encoded iCalendar data streams (jCal). -

    - -

    -

    -
    See Also:
    Biweekly.writeJson(Collection), -Biweekly.writeJson(ICalendar...)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Stringgo() - -
    -          Writes the iCalendar objects to a string.
    - voidgo(File file) - -
    -          Writes the iCalendar objects to a file.
    - voidgo(OutputStream out) - -
    -          Writes the iCalendar objects to a data stream.
    - voidgo(Writer writer) - -
    -          Writes the iCalendar objects to a data stream.
    - Biweekly.WriterChainJsonindent(boolean indent) - -
    -          Sets whether or not to pretty-print the JSON.
    - Tregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Tregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -indent

    -
    -public Biweekly.WriterChainJson indent(boolean indent)
    -
    -
    Sets whether or not to pretty-print the JSON. -

    -

    -
    Parameters:
    indent - true to pretty-print it, false not to (defaults to - false) -
    Returns:
    this
    -
    -
    -
    - -

    -go

    -
    -public String go()
    -
    -
    Writes the iCalendar objects to a string. -

    -

    - -
    Returns:
    the iCalendar string -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.)
    -
    -
    -
    - -

    -go

    -
    -public void go(OutputStream out)
    -        throws IOException
    -
    -
    Writes the iCalendar objects to a data stream. -

    -

    -
    Parameters:
    out - the output stream to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    IOException - if there's a problem writing to the output stream
    -
    -
    -
    - -

    -go

    -
    -public void go(File file)
    -        throws IOException
    -
    -
    Writes the iCalendar objects to a file. -

    -

    -
    Parameters:
    file - the file to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    IOException - if there's a problem writing to the file
    -
    -
    -
    - -

    -go

    -
    -public void go(Writer writer)
    -        throws IOException
    -
    -
    Writes the iCalendar objects to a data stream. -

    -

    -
    Parameters:
    writer - the writer to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    IOException - if there's a problem writing to the writer
    -
    -
    -
    - -

    -register

    -
    -public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainText.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainText.html deleted file mode 100644 index 39fa4733..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainText.html +++ /dev/null @@ -1,431 +0,0 @@ - - - - - - - -Biweekly.WriterChainText (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.WriterChainText

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.WriterChainText
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.WriterChainText
    extends Object
    - - -

    -Chainer class for writing to plain text iCalendar data streams. -

    - -

    -

    -
    See Also:
    Biweekly.write(Collection), -Biweekly.write(ICalendar...)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Biweekly.WriterChainTextcaretEncoding(boolean enable) - -
    -           - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default).
    - Stringgo() - -
    -          Writes the iCalendar objects to a string.
    - voidgo(File file) - -
    -          Writes the iCalendar objects to a file.
    - voidgo(File file, - boolean append) - -
    -          Writes the iCalendar objects to a file.
    - voidgo(OutputStream out) - -
    -          Writes the iCalendar objects to a data stream.
    - voidgo(Writer writer) - -
    -          Writes the iCalendar objects to a data stream.
    - Tregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Tregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -caretEncoding

    -
    -public Biweekly.WriterChainText caretEncoding(boolean enable)
    -
    -

    - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). This escaping mechanism - allows for newlines and double quotes to be included in parameter - values. -

    - -

    - When disabled, the writer will replace newlines with spaces and - double quotes with single quotes. -

    -

    -

    -
    Parameters:
    enable - true to use circumflex accent encoding, false not to -
    Returns:
    this
    See Also:
    ICalRawWriter.setCaretEncodingEnabled(boolean)
    -
    -
    -
    - -

    -go

    -
    -public String go()
    -
    -
    Writes the iCalendar objects to a string. -

    -

    - -
    Returns:
    the iCalendar string -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.)
    -
    -
    -
    - -

    -go

    -
    -public void go(OutputStream out)
    -        throws IOException
    -
    -
    Writes the iCalendar objects to a data stream. -

    -

    -
    Parameters:
    out - the output stream to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    IOException - if there's a problem writing to the output stream
    -
    -
    -
    - -

    -go

    -
    -public void go(File file)
    -        throws IOException
    -
    -
    Writes the iCalendar objects to a file. -

    -

    -
    Parameters:
    file - the file to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    IOException - if there's a problem writing to the file
    -
    -
    -
    - -

    -go

    -
    -public void go(File file,
    -               boolean append)
    -        throws IOException
    -
    -
    Writes the iCalendar objects to a file. -

    -

    -
    Parameters:
    file - the file to write to
    append - true to append to the end of the file, false to - overwrite it -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    IOException - if there's a problem writing to the file
    -
    -
    -
    - -

    -go

    -
    -public void go(Writer writer)
    -        throws IOException
    -
    -
    Writes the iCalendar objects to a data stream. -

    -

    -
    Parameters:
    writer - the writer to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    IOException - if there's a problem writing to the writer
    -
    -
    -
    - -

    -register

    -
    -public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainXml.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainXml.html deleted file mode 100644 index ff94d0c4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.WriterChainXml.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - -Biweekly.WriterChainXml (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly.WriterChainXml

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly.WriterChainXml
    -
    -
    -
    Enclosing class:
    Biweekly
    -
    -
    -
    -
    public static class Biweekly.WriterChainXml
    extends Object
    - - -

    -Chainer class for writing xCal documents (XML-encoded iCalendar objects). -

    - -

    -

    -
    See Also:
    Biweekly.writeXml(Collection), -Biweekly.writeXml(ICalendar...)
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Documentdom() - -
    -          Writes the xCal document to an XML DOM.
    - Stringgo() - -
    -          Writes the xCal document to a string.
    - voidgo(File file) - -
    -          Writes the xCal document to a file.
    - voidgo(OutputStream out) - -
    -          Writes the xCal document to an output stream.
    - voidgo(Writer writer) - -
    -          Writes the xCal document to a writer.
    - Biweekly.WriterChainXmlindent(int indent) - -
    -          Sets the number of indent spaces to use for pretty-printing.
    - Biweekly.WriterChainXmlregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - Biweekly.WriterChainXmlregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - Biweekly.WriterChainXmlregister(String parameterName, - ICalDataType dataType) - -
    -          Registers the data type of an experimental parameter.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public Biweekly.WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller -
    Returns:
    this
    -
    -
    -
    - -

    -register

    -
    -public Biweekly.WriterChainXml register(String parameterName,
    -                                        ICalDataType dataType)
    -
    -
    Registers the data type of an experimental parameter. Experimental - parameters use the "unknown" xCal data type by default. -

    -

    -
    Parameters:
    parameterName - the parameter name (e.g. "x-foo")
    dataType - the data type -
    Returns:
    this
    -
    -
    -
    - -

    -indent

    -
    -public Biweekly.WriterChainXml indent(int indent)
    -
    -
    Sets the number of indent spaces to use for pretty-printing. If not - set, then the XML will not be pretty-printed. -

    -

    -
    Parameters:
    indent - the number of spaces -
    Returns:
    this
    -
    -
    -
    - -

    -go

    -
    -public String go()
    -
    -
    Writes the xCal document to a string. -

    -

    - -
    Returns:
    the XML string -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.)
    -
    -
    -
    - -

    -go

    -
    -public void go(OutputStream out)
    -        throws TransformerException
    -
    -
    Writes the xCal document to an output stream. -

    -

    -
    Parameters:
    out - the output stream to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    TransformerException - if there's a problem writing the XML
    -
    -
    -
    - -

    -go

    -
    -public void go(File file)
    -        throws TransformerException,
    -               IOException
    -
    -
    Writes the xCal document to a file. -

    -

    -
    Parameters:
    file - the file to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    TransformerException - if there's a problem writing the XML -
    IOException - if there's a problem writing to the file
    -
    -
    -
    - -

    -go

    -
    -public void go(Writer writer)
    -        throws TransformerException
    -
    -
    Writes the xCal document to a writer. -

    -

    -
    Parameters:
    writer - the writer to write to -
    Throws: -
    IllegalArgumentException - if the marshaller class for a - component or property object cannot be found (only happens when an - experimental property/component marshaller is not registered with the - register method.) -
    TransformerException - if there's a problem writing the XML
    -
    -
    -
    - -

    -dom

    -
    -public Document dom()
    -
    -
    Writes the xCal document to an XML DOM. -

    -

    - -
    Returns:
    the XML DOM
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.html b/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.html deleted file mode 100644 index 0d7ad2fb..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/Biweekly.html +++ /dev/null @@ -1,957 +0,0 @@ - - - - - - - -Biweekly (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class Biweekly

    -
    -java.lang.Object
    -  extended by biweekly.Biweekly
    -
    -
    -
    -
    public class Biweekly
    extends Object
    - - -

    -

    - Contains static chaining factory methods for reading/writing iCalendar - objects. -

    - -

    - Writing an iCalendar object - -

    - ICalendar ical = new ICalendar();
    - 
    - //string
    - String icalString = Biweekly.write(ical).go();
    - 
    - //file
    - File file = new File("meeting.ics");
    - Biweekly.write(ical).go(file);
    - 
    - //output stream
    - OutputStream out = ...
    - Biweekly.write(ical).go(out);
    - out.close();
    - 
    - //writer (should be configured to use UTF-8 encoding)
    - Writer writer = ...
    - Biweekly.write(ical).go(writer);
    - writer.close();
    - 
    - -

    - -

    - Writing multiple iCalendar objects - -

    - ICalendar ical1 = new ICalendar();
    - ICalendar ical2 = new ICalendar();
    - 
    - String icalString = Biweekly.write(ical1, ical2).go();
    - 
    - -

    - -

    - Writing an XML-encoded iCalendar object (xCal)
    - -

    - //Call writeXml() instead of write()
    - ICalendar ical = new ICalendar();
    - String xml = Biweekly.writeXml(ical).indent(2).go();
    - 
    - -

    - -

    - Writing a JSON-encoded iCalendar object (jCal)
    - -

    - //Call writeJson() instead of write()
    - ICalendar ical = new ICalendar();
    - String json = Biweekly.writeJson(ical).go();
    - 
    - -

    - -

    - Reading an iCalendar object - -

    - ICalendar ical;
    - 
    - //string
    - String icalStr = ...
    - ical = Biweekly.parse(icalStr).first();
    - 
    - //file
    - File file = new File("meeting.ics");
    - ical = Biweekly.parse(file).first();
    - 
    - //input stream
    - InputStream in = ...
    - ical = Biweekly.parse(in).first();
    - in.close();  
    - 
    - //reader (should be configured to read UTF-8)
    - Reader reader = ...
    - ical = Biweekly.parse(reader).first();
    - reader.close();
    - 
    - -

    - -

    - Reading multiple iCalendar objects - -

    - String icalStr = ...
    - List<ICalendar> icals = Biweekly.parse(icalStr).all();
    - 
    - -

    - -

    - Reading an XML-encoded iCalendar object (xCal)
    - -

    - //Call parseXml() instead of parse()
    - String xml = ...
    - ICalendar ical = Biweekly.parseXml(xml).first();
    - 
    - -

    - -

    - Reading a JSON-encoded iCalendar object (Cal)
    - -

    - //Call parseJson() instead of parse()
    - String json = ...
    - ICalendar ical = Biweekly.parseJson(json).first();
    - 
    - -

    - -

    - Retrieving parser warnings - -

    - String icalStr = ...
    - List<List<String>> warnings = new ArrayList<List<String>>();
    - List<ICalendar> icals = Biweekly.parse(icalStr).warnings(warnings).all();
    - int i = 0;
    - for (List<String> icalWarnings : warnings){
    -   System.out.println("iCal #" + (i++) + " warnings:");
    -   for (String warning : icalWarnings){
    -     System.out.println(warning);
    -   }
    - }
    - 
    - -

    - -

    - The methods in this class make use of the following classes. These classes - can be used if greater control over the read/write operation is required: -

    - - - - - - - - - - - - - - - - - - - - - - - -
    ClassesSupports
    - streaming?
    TextICalReader / ICalWriteryes
    XMLXCalDocumentno
    JSONJCalReader / JCalWriteryes
    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Nested Class Summary
    -static classBiweekly.ParserChainJsonReader - -
    -          Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -static classBiweekly.ParserChainJsonString - -
    -          Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -static classBiweekly.ParserChainTextReader - -
    -          Chainer class for parsing plain text iCalendar data streams.
    -static classBiweekly.ParserChainTextString - -
    -          Chainer class for parsing plain text iCalendar strings.
    -static classBiweekly.ParserChainXmlDocument - -
    -          Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -static classBiweekly.ParserChainXmlReader - -
    -          Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -static classBiweekly.ParserChainXmlString - -
    -          Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -static classBiweekly.WriterChainJson - -
    -          Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -static classBiweekly.WriterChainText - -
    -          Chainer class for writing to plain text iCalendar data streams.
    -static classBiweekly.WriterChainXml - -
    -          Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    - - - - - - - - - - - - - - -
    -Field Summary
    -static StringURL - -
    -          The project webpage.
    -static StringVERSION - -
    -          The version of the library.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Biweekly.ParserChainTextReaderparse(File file) - -
    -          Parses an iCalendar file.
    -static Biweekly.ParserChainTextReaderparse(InputStream in) - -
    -          Parses an iCalendar data stream.
    -static Biweekly.ParserChainTextReaderparse(Reader reader) - -
    -          Parses an iCalendar data stream.
    -static Biweekly.ParserChainTextStringparse(String ical) - -
    -          Parses an iCalendar object string.
    -static Biweekly.ParserChainJsonReaderparseJson(File file) - -
    -          Parses a jCal data stream (JSON-encoded iCalendar objects).
    -static Biweekly.ParserChainJsonReaderparseJson(InputStream in) - -
    -          Parses a jCal data stream (JSON-encoded iCalendar objects).
    -static Biweekly.ParserChainJsonReaderparseJson(Reader reader) - -
    -          Parses a jCal data stream (JSON-encoded iCalendar objects).
    -static Biweekly.ParserChainJsonStringparseJson(String json) - -
    -          Parses a jCal data stream (JSON-encoded iCalendar objects).
    -static Biweekly.ParserChainXmlDocumentparseXml(Document document) - -
    -          Parses an xCal document (XML-encoded iCalendar objects).
    -static Biweekly.ParserChainXmlReaderparseXml(File file) - -
    -          Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -static Biweekly.ParserChainXmlReaderparseXml(InputStream in) - -
    -          Parses an xCal document (XML-encoded iCalendar objects) from an input - stream.
    -static Biweekly.ParserChainXmlReaderparseXml(Reader reader) - -
    -           - Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -static Biweekly.ParserChainXmlStringparseXml(String xml) - -
    -          Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -static Biweekly.WriterChainTextwrite(Collection<ICalendar> icals) - -
    -          Writes multiple iCalendar objects to a data stream.
    -static Biweekly.WriterChainTextwrite(ICalendar... icals) - -
    -          Writes multiple iCalendar objects to a data stream.
    -static Biweekly.WriterChainJsonwriteJson(Collection<ICalendar> icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -static Biweekly.WriterChainJsonwriteJson(ICalendar... icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -static Biweekly.WriterChainXmlwriteXml(Collection<ICalendar> icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -static Biweekly.WriterChainXmlwriteXml(ICalendar... icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -VERSION

    -
    -public static final String VERSION
    -
    -
    The version of the library. -

    -

    -
    -
    -
    - -

    -URL

    -
    -public static final String URL
    -
    -
    The project webpage. -

    -

    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -parse

    -
    -public static Biweekly.ParserChainTextString parse(String ical)
    -
    -
    Parses an iCalendar object string. -

    -

    -
    Parameters:
    ical - the iCalendar data -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parse

    -
    -public static Biweekly.ParserChainTextReader parse(File file)
    -
    -
    Parses an iCalendar file. -

    -

    -
    Parameters:
    file - the iCalendar file -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parse

    -
    -public static Biweekly.ParserChainTextReader parse(InputStream in)
    -
    -
    Parses an iCalendar data stream. -

    -

    -
    Parameters:
    in - the input stream -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parse

    -
    -public static Biweekly.ParserChainTextReader parse(Reader reader)
    -
    -
    Parses an iCalendar data stream. -

    -

    -
    Parameters:
    reader - the reader -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -write

    -
    -public static Biweekly.WriterChainText write(ICalendar... icals)
    -
    -
    Writes multiple iCalendar objects to a data stream. -

    -

    -
    Parameters:
    icals - the iCalendar objects to write -
    Returns:
    chainer object for completing the write operation
    -
    -
    -
    - -

    -write

    -
    -public static Biweekly.WriterChainText write(Collection<ICalendar> icals)
    -
    -
    Writes multiple iCalendar objects to a data stream. -

    -

    -
    Parameters:
    icals - the iCalendar objects to write -
    Returns:
    chainer object for completing the write operation
    -
    -
    -
    - -

    -parseXml

    -
    -public static Biweekly.ParserChainXmlString parseXml(String xml)
    -
    -
    Parses an xCal document (XML-encoded iCalendar objects) from a string. -

    -

    -
    Parameters:
    xml - the XML string -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parseXml

    -
    -public static Biweekly.ParserChainXmlReader parseXml(File file)
    -
    -
    Parses an xCal document (XML-encoded iCalendar objects) from a file. -

    -

    -
    Parameters:
    file - the XML file -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parseXml

    -
    -public static Biweekly.ParserChainXmlReader parseXml(InputStream in)
    -
    -
    Parses an xCal document (XML-encoded iCalendar objects) from an input - stream. -

    -

    -
    Parameters:
    in - the input stream -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parseXml

    -
    -public static Biweekly.ParserChainXmlReader parseXml(Reader reader)
    -
    -

    - Parses an xCal document (XML-encoded iCalendar objects) from a reader. -

    -

    - Note that use of this method is discouraged. It ignores the character - encoding that is defined within the XML document itself, and should only - be used if the encoding is undefined or if the encoding needs to be - ignored for whatever reason. The parseXml(InputStream) method - should be used instead, since it takes the XML document's character - encoding into account when parsing. -

    -

    -

    -
    Parameters:
    reader - the reader -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parseXml

    -
    -public static Biweekly.ParserChainXmlDocument parseXml(Document document)
    -
    -
    Parses an xCal document (XML-encoded iCalendar objects). -

    -

    -
    Parameters:
    document - the XML document -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -writeXml

    -
    -public static Biweekly.WriterChainXml writeXml(ICalendar... icals)
    -
    -
    Writes an xCal document (XML-encoded iCalendar objects). -

    -

    -
    Parameters:
    icals - the iCalendar object(s) to write -
    Returns:
    chainer object for completing the write operation
    -
    -
    -
    - -

    -writeXml

    -
    -public static Biweekly.WriterChainXml writeXml(Collection<ICalendar> icals)
    -
    -
    Writes an xCal document (XML-encoded iCalendar objects). -

    -

    -
    Parameters:
    icals - the iCalendar objects to write -
    Returns:
    chainer object for completing the write operation
    -
    -
    -
    - -

    -parseJson

    -
    -public static Biweekly.ParserChainJsonString parseJson(String json)
    -
    -
    Parses a jCal data stream (JSON-encoded iCalendar objects). -

    -

    -
    Parameters:
    json - the JSON data -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parseJson

    -
    -public static Biweekly.ParserChainJsonReader parseJson(File file)
    -
    -
    Parses a jCal data stream (JSON-encoded iCalendar objects). -

    -

    -
    Parameters:
    file - the JSON file -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parseJson

    -
    -public static Biweekly.ParserChainJsonReader parseJson(InputStream in)
    -
    -
    Parses a jCal data stream (JSON-encoded iCalendar objects). -

    -

    -
    Parameters:
    in - the input stream -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -parseJson

    -
    -public static Biweekly.ParserChainJsonReader parseJson(Reader reader)
    -
    -
    Parses a jCal data stream (JSON-encoded iCalendar objects). -

    -

    -
    Parameters:
    reader - the reader -
    Returns:
    chainer object for completing the parse operation
    -
    -
    -
    - -

    -writeJson

    -
    -public static Biweekly.WriterChainJson writeJson(ICalendar... icals)
    -
    -
    Writes an xCal document (XML-encoded iCalendar objects). -

    -

    -
    Parameters:
    icals - the iCalendar object(s) to write -
    Returns:
    chainer object for completing the write operation
    -
    -
    -
    - -

    -writeJson

    -
    -public static Biweekly.WriterChainJson writeJson(Collection<ICalendar> icals)
    -
    -
    Writes an xCal document (XML-encoded iCalendar objects). -

    -

    -
    Parameters:
    icals - the iCalendar objects to write -
    Returns:
    chainer object for completing the write operation
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/ICalDataType.html b/libs/biweekly-0.3.1-javadoc/biweekly/ICalDataType.html deleted file mode 100644 index 376b9d76..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/ICalDataType.html +++ /dev/null @@ -1,595 +0,0 @@ - - - - - - - -ICalDataType (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class ICalDataType

    -
    -java.lang.Object
    -  extended by biweekly.ICalDataType
    -
    -
    -
    -
    public class ICalDataType
    extends Object
    - - -

    -Defines the data type of a property's value. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.29-50
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static ICalDataTypeBINARY - -
    -           
    -static ICalDataTypeBOOLEAN - -
    -           
    -static ICalDataTypeCAL_ADDRESS - -
    -           
    -static ICalDataTypeDATE - -
    -           
    -static ICalDataTypeDATE_TIME - -
    -           
    -static ICalDataTypeDURATION - -
    -           
    -static ICalDataTypeFLOAT - -
    -           
    -static ICalDataTypeINTEGER - -
    -           
    -static ICalDataTypePERIOD - -
    -           
    -static ICalDataTypeRECUR - -
    -           
    -static ICalDataTypeTEXT - -
    -           
    -static ICalDataTypeTIME - -
    -           
    -static ICalDataTypeURI - -
    -           
    -static ICalDataTypeUTC_OFFSET - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<ICalDataType>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static ICalDataTypefind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static ICalDataTypeget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - StringgetName() - -
    -          Gets the name of the data type.
    - StringtoString() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -BINARY

    -
    -public static final ICalDataType BINARY
    -
    -
    -
    -
    -
    - -

    -BOOLEAN

    -
    -public static final ICalDataType BOOLEAN
    -
    -
    -
    -
    -
    - -

    -CAL_ADDRESS

    -
    -public static final ICalDataType CAL_ADDRESS
    -
    -
    -
    -
    -
    - -

    -DATE

    -
    -public static final ICalDataType DATE
    -
    -
    -
    -
    -
    - -

    -DATE_TIME

    -
    -public static final ICalDataType DATE_TIME
    -
    -
    -
    -
    -
    - -

    -DURATION

    -
    -public static final ICalDataType DURATION
    -
    -
    -
    -
    -
    - -

    -FLOAT

    -
    -public static final ICalDataType FLOAT
    -
    -
    -
    -
    -
    - -

    -INTEGER

    -
    -public static final ICalDataType INTEGER
    -
    -
    -
    -
    -
    - -

    -PERIOD

    -
    -public static final ICalDataType PERIOD
    -
    -
    -
    -
    -
    - -

    -RECUR

    -
    -public static final ICalDataType RECUR
    -
    -
    -
    -
    -
    - -

    -TEXT

    -
    -public static final ICalDataType TEXT
    -
    -
    -
    -
    -
    - -

    -TIME

    -
    -public static final ICalDataType TIME
    -
    -
    -
    -
    -
    - -

    -URI

    -
    -public static final ICalDataType URI
    -
    -
    -
    -
    -
    - -

    -UTC_OFFSET

    -
    -public static final ICalDataType UTC_OFFSET
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getName

    -
    -public String getName()
    -
    -
    Gets the name of the data type. -

    -

    - -
    Returns:
    the name of the data type (e.g. "text")
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -
    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -find

    -
    -public static ICalDataType find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static ICalDataType get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<ICalDataType> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/ICalException.html b/libs/biweekly-0.3.1-javadoc/biweekly/ICalException.html deleted file mode 100644 index 169497d4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/ICalException.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - -ICalException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class ICalException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by java.lang.RuntimeException
    -              extended by biweekly.ICalException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    CannotParseException, ICalRawReader.StopReadingException, JCalParseException, SkipMeException
    -
    -
    -
    -
    public class ICalException
    extends RuntimeException
    - - -

    -The common base exception that all exceptions inherit from. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    ICalException() - -
    -           
    ICalException(String message) - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalException

    -
    -public ICalException()
    -
    -
    -
    - -

    -ICalException

    -
    -public ICalException(String message)
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/ICalendar.html b/libs/biweekly-0.3.1-javadoc/biweekly/ICalendar.html deleted file mode 100644 index ea281052..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/ICalendar.html +++ /dev/null @@ -1,1141 +0,0 @@ - - - - - - - -ICalendar (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class ICalendar

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.ICalendar
    -
    -
    -
    -
    public class ICalendar
    extends ICalComponent
    - - -

    -

    - Represents an iCalendar object. -

    - -

    - Examples: - -

    - ICalendar ical = new ICalendar();
    - 
    - VEvent event = new VEvent();
    - event.setSummary("Team Meeting");
    - Date start = ...;
    - event.setDateStart(start);
    - Date end = ...;
    - event.setDateEnd(end);
    - ical.addEvent(event);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    ICalendar() - -
    -           - Creates a new iCalendar object.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddEvent(VEvent event) - -
    -          Adds an event.
    - voidaddFreeBusy(VFreeBusy freeBusy) - -
    -          Adds a free/busy entry.
    - voidaddJournal(VJournal journal) - -
    -          Adds a journal entry.
    - voidaddTimezone(VTimezone timezone) - -
    -          Adds a timezone.
    - voidaddTodo(VTodo todo) - -
    -          Adds a to-do.
    - CalendarScalegetCalendarScale() - -
    -          Gets the calendar system that this iCalendar object uses.
    - List<VEvent>getEvents() - -
    -          Gets the events.
    - List<VFreeBusy>getFreeBusies() - -
    -          Gets the free/busy entries.
    - List<VJournal>getJournals() - -
    -          Gets the journal entries.
    - MethodgetMethod() - -
    -          Gets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    - ProductIdgetProductId() - -
    -          Gets the name of the application that created the iCalendar object.
    - List<VTimezone>getTimezones() - -
    -          Gets the timezones.
    - List<VTodo>getTodos() - -
    -          Gets the to-dos.
    - VersiongetVersion() - -
    -          Gets the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    - voidsetCalendarScale(CalendarScale calendarScale) - -
    -          Sets the calendar system that this iCalendar object uses.
    - voidsetMethod(Method method) - -
    -          Sets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    - MethodsetMethod(String method) - -
    -          Sets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    - voidsetProductId(ProductId prodId) - -
    -          Sets the name of the application that created the iCalendar object.
    - ProductIdsetProductId(String prodId) - -
    -          Sets the application that created the iCalendar object.
    - voidsetVersion(Version version) - -
    -          Sets the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    - ValidationWarningsvalidate() - -
    -          Checks this iCalendar object for data consistency problems or deviations - from the spec.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - Stringwrite() - -
    -          Marshals this iCalendar object to its plain text representation.
    - voidwrite(File file) - -
    -          Marshals this iCalendar object to its plain text representation.
    - voidwrite(OutputStream out) - -
    -          Marshals this iCalendar object to its plain text representation.
    - voidwrite(Writer writer) - -
    -          Marshals this iCalendar object to its plain text representation.
    - StringwriteJson() - -
    -          Marshals this iCalendar object to its JSON representation (jCal).
    - voidwriteJson(File file) - -
    -          Marshals this iCalendar object to its JSON representation (jCal).
    - voidwriteJson(OutputStream out) - -
    -          Marshals this iCalendar object to its JSON representation (jCal).
    - voidwriteJson(Writer writer) - -
    -          Marshals this iCalendar object to its JSON representation (jCal).
    - StringwriteXml() - -
    -          Marshals this iCalendar object to its XML representation (xCal).
    - voidwriteXml(File file) - -
    -          Marshals this iCalendar object to its XML representation (xCal).
    - voidwriteXml(OutputStream out) - -
    -          Marshals this iCalendar object to its XML representation (xCal).
    - voidwriteXml(Writer writer) - -
    -          Marshals this iCalendar object to its XML representation (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalendar

    -
    -public ICalendar()
    -
    -

    - Creates a new iCalendar object. -

    -

    - The following properties are auto-generated on object creation. These - properties must be present in order for the iCalendar object to be - valid: -

      -
    • Version - Set to the default iCalendar version ("2.0").
    • -
    • ProductId - Set to a value that represents this library.
    • -
    -

    -

    -

    - - - - - - - - -
    -Method Detail
    - -

    -getVersion

    -
    -public Version getVersion()
    -
    -
    Gets the min/max versions a consumer must support in order to - successfully parse the iCalendar object. All ICalendar objects - are initialized with a version of "2.0" (the default version). It is a - required property. -

    -

    - -
    Returns:
    the version
    Specification Reference:
    RFC 5545 p.79-80
    -
    -
    -
    - -

    -setVersion

    -
    -public void setVersion(Version version)
    -
    -
    Sets the min/max versions a consumer must support in order to - successfully parse the iCalendar object. All ICalendar objects - are initialized with a version of "2.0" (the default version). It is a - required property. -

    -

    -
    Parameters:
    version - the version
    Specification Reference:
    RFC 5545 p.79-80
    -
    -
    -
    - -

    -getProductId

    -
    -public ProductId getProductId()
    -
    -
    Gets the name of the application that created the iCalendar object. All - ICalendar objects are initialized with a product ID representing - this library. It is a required property. -

    -

    - -
    Returns:
    the property instance or null if not set
    Specification Reference:
    RFC 5545 p.78-9
    -
    -
    -
    - -

    -setProductId

    -
    -public void setProductId(ProductId prodId)
    -
    -
    Sets the name of the application that created the iCalendar object. All - ICalendar objects are initialized with a product ID representing - this library. It is a required property. -

    -

    -
    Parameters:
    prodId - the property instance or null to remove
    Specification Reference:
    RFC 5545 p.78-9
    -
    -
    -
    - -

    -setProductId

    -
    -public ProductId setProductId(String prodId)
    -
    -
    Sets the application that created the iCalendar object. All - ICalendar objects are initialized with a product ID representing - this library. -

    -

    -
    Parameters:
    prodId - a unique string representing the application (e.g. - "-//Company//Application//EN") or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.78-9
    -
    -
    -
    - -

    -getCalendarScale

    -
    -public CalendarScale getCalendarScale()
    -
    -
    Gets the calendar system that this iCalendar object uses. If none is - specified, then the calendar is assumed to be in Gregorian format. -

    -

    - -
    Returns:
    the calendar system or null if not set
    Specification Reference:
    RFC 5545 p.76-7
    -
    -
    -
    - -

    -setCalendarScale

    -
    -public void setCalendarScale(CalendarScale calendarScale)
    -
    -
    Sets the calendar system that this iCalendar object uses. If none is - specified, then the calendar is assumed to be in Gregorian format. -

    -

    -
    Parameters:
    calendarScale - the calendar system or null to remove
    Specification Reference:
    RFC 5545 p.76-7
    -
    -
    -
    - -

    -getMethod

    -
    -public Method getMethod()
    -
    -
    Gets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity. -

    -

    - -
    Returns:
    the property or null if not set
    Specification Reference:
    RFC 5545 p.77-8
    -
    -
    -
    - -

    -setMethod

    -
    -public void setMethod(Method method)
    -
    -
    Sets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity. -

    -

    -
    Parameters:
    method - the property or null to remove
    Specification Reference:
    RFC 5545 p.77-8
    -
    -
    -
    - -

    -setMethod

    -
    -public Method setMethod(String method)
    -
    -
    Sets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity. -

    -

    -
    Parameters:
    method - the method or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.77-8
    -
    -
    -
    - -

    -getEvents

    -
    -public List<VEvent> getEvents()
    -
    -
    Gets the events. -

    -

    - -
    Returns:
    the events
    -
    -
    -
    - -

    -addEvent

    -
    -public void addEvent(VEvent event)
    -
    -
    Adds an event. -

    -

    -
    Parameters:
    event - the event
    -
    -
    -
    - -

    -getTodos

    -
    -public List<VTodo> getTodos()
    -
    -
    Gets the to-dos. -

    -

    - -
    Returns:
    the to-dos
    -
    -
    -
    - -

    -addTodo

    -
    -public void addTodo(VTodo todo)
    -
    -
    Adds a to-do. -

    -

    -
    Parameters:
    todo - the to-do
    -
    -
    -
    - -

    -getJournals

    -
    -public List<VJournal> getJournals()
    -
    -
    Gets the journal entries. -

    -

    - -
    Returns:
    the journal entries
    -
    -
    -
    - -

    -addJournal

    -
    -public void addJournal(VJournal journal)
    -
    -
    Adds a journal entry. -

    -

    -
    Parameters:
    journal - the journal entry
    -
    -
    -
    - -

    -getFreeBusies

    -
    -public List<VFreeBusy> getFreeBusies()
    -
    -
    Gets the free/busy entries. -

    -

    - -
    Returns:
    the free/busy entries
    -
    -
    -
    - -

    -addFreeBusy

    -
    -public void addFreeBusy(VFreeBusy freeBusy)
    -
    -
    Adds a free/busy entry. -

    -

    -
    Parameters:
    freeBusy - the free/busy entry
    -
    -
    -
    - -

    -getTimezones

    -
    -public List<VTimezone> getTimezones()
    -
    -
    Gets the timezones. -

    -

    - -
    Returns:
    the timezones
    -
    -
    -
    - -

    -addTimezone

    -
    -public void addTimezone(VTimezone timezone)
    -
    -
    Adds a timezone. -

    -

    -
    Parameters:
    timezone - the timezone
    -
    -
    -
    - -

    -validate

    -
    -public ValidationWarnings validate()
    -
    -
    Checks this iCalendar object for data consistency problems or deviations - from the spec. These problems will not prevent the iCalendar object from - being written to a data stream, but may prevent it from being parsed - correctly by the consuming application. These problems can largely be - avoided by reading the Javadocs of the component and property classes, or - by being familiar with the iCalendar standard. -

    -

    - -
    Returns:
    the validation warnings
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalComponent
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Overrides:
    validate in class ICalComponent
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    -
    - -

    -write

    -
    -public String write()
    -
    -
    Marshals this iCalendar object to its plain text representation. -

    -

    - -
    Returns:
    the plain text representation
    -
    -
    -
    - -

    -write

    -
    -public void write(File file)
    -           throws IOException
    -
    -
    Marshals this iCalendar object to its plain text representation. -

    -

    -
    Parameters:
    file - the file to write to -
    Throws: -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -write

    -
    -public void write(OutputStream out)
    -           throws IOException
    -
    -
    Marshals this iCalendar object to its plain text representation. -

    -

    -
    Parameters:
    out - the data stream to write to -
    Throws: -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -write

    -
    -public void write(Writer writer)
    -           throws IOException
    -
    -
    Marshals this iCalendar object to its plain text representation. -

    -

    -
    Parameters:
    writer - the data stream to write to -
    Throws: -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -writeXml

    -
    -public String writeXml()
    -
    -
    Marshals this iCalendar object to its XML representation (xCal). If the - iCalendar object contains user-defined property or component objects, use - the Biweekly class instead, in order to register the marshaller - classes. -

    -

    - -
    Returns:
    the XML document -
    Throws: -
    IllegalArgumentException - if the iCalendar object contains - user-defined property or component objects
    -
    -
    -
    - -

    -writeXml

    -
    -public void writeXml(File file)
    -              throws TransformerException,
    -                     IOException
    -
    -
    Marshals this iCalendar object to its XML representation (xCal). If the - iCalendar object contains user-defined property or component objects, use - the Biweekly class instead, in order to register the marshaller - classes. -

    -

    -
    Parameters:
    file - the file to write to -
    Throws: -
    IllegalArgumentException - if the iCalendar object contains - user-defined property or component objects -
    TransformerException - if there's an I/O problem -
    IOException - if the file cannot be written to
    -
    -
    -
    - -

    -writeXml

    -
    -public void writeXml(OutputStream out)
    -              throws TransformerException
    -
    -
    Marshals this iCalendar object to its XML representation (xCal). If the - iCalendar object contains user-defined property or component objects, use - the Biweekly class instead, in order to register the marshaller - classes. -

    -

    -
    Parameters:
    out - the data stream to write to -
    Throws: -
    IllegalArgumentException - if the iCalendar object contains - user-defined property or component objects -
    TransformerException - if there's an I/O problem
    -
    -
    -
    - -

    -writeXml

    -
    -public void writeXml(Writer writer)
    -              throws TransformerException
    -
    -
    Marshals this iCalendar object to its XML representation (xCal). If the - iCalendar object contains user-defined property or component objects, use - the Biweekly class instead, in order to register the marshaller - classes. -

    -

    -
    Parameters:
    writer - the data stream to write to -
    Throws: -
    IllegalArgumentException - if the iCalendar object contains - user-defined property or component objects -
    TransformerException - if there's an I/O problem
    -
    -
    -
    - -

    -writeJson

    -
    -public String writeJson()
    -
    -
    Marshals this iCalendar object to its JSON representation (jCal). If the - iCalendar object contains user-defined property or component objects, use - the Biweekly class instead, in order to register the marshaller - classes. -

    -

    - -
    Returns:
    the JSON string -
    Throws: -
    IllegalArgumentException - if the iCalendar object contains - user-defined property or component objects
    -
    -
    -
    - -

    -writeJson

    -
    -public void writeJson(File file)
    -               throws IOException
    -
    -
    Marshals this iCalendar object to its JSON representation (jCal). If the - iCalendar object contains user-defined property or component objects, use - the Biweekly class instead, in order to register the marshaller - classes. -

    -

    -
    Parameters:
    file - the file to write to -
    Throws: -
    IllegalArgumentException - if the iCalendar object contains - user-defined property or component objects -
    IOException - if there's a problem writing to the file
    -
    -
    -
    - -

    -writeJson

    -
    -public void writeJson(OutputStream out)
    -               throws IOException
    -
    -
    Marshals this iCalendar object to its JSON representation (jCal). If the - iCalendar object contains user-defined property or component objects, use - the Biweekly class instead, in order to register the marshaller - classes. -

    -

    -
    Parameters:
    out - the data stream to write to -
    Throws: -
    IllegalArgumentException - if the iCalendar object contains - user-defined property or component objects -
    IOException - if there's a problem writing to the output stream
    -
    -
    -
    - -

    -writeJson

    -
    -public void writeJson(Writer writer)
    -               throws IOException
    -
    -
    Marshals this iCalendar object to its JSON representation (jCal). If the - iCalendar object contains user-defined property or component objects, use - the Biweekly class instead, in order to register the marshaller - classes. -

    -

    -
    Parameters:
    writer - the data stream to write to -
    Throws: -
    IllegalArgumentException - if the iCalendar object contains - user-defined property or component objects -
    IOException - if there's a problem writing to the writer
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/ValidationWarnings.WarningsGroup.html b/libs/biweekly-0.3.1-javadoc/biweekly/ValidationWarnings.WarningsGroup.html deleted file mode 100644 index 6cf256d3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/ValidationWarnings.WarningsGroup.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - -ValidationWarnings.WarningsGroup (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class ValidationWarnings.WarningsGroup

    -
    -java.lang.Object
    -  extended by biweekly.ValidationWarnings.WarningsGroup
    -
    -
    -
    Enclosing class:
    ValidationWarnings
    -
    -
    -
    -
    public static class ValidationWarnings.WarningsGroup
    extends Object
    - - -

    -Holds the validation warnings of a property or component. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    ValidationWarnings.WarningsGroup(ICalComponent component, - List<ICalComponent> componentHierarchy, - List<String> messages) - -
    -          Creates a new set of validation warnings for a component.
    ValidationWarnings.WarningsGroup(ICalProperty property, - List<ICalComponent> componentHierarchy, - List<String> messages) - -
    -          Creates a new set of validation warnings for a property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ICalComponentgetComponent() - -
    -          Gets the component object that caused the validation warnings.
    - List<ICalComponent>getComponentHierarchy() - -
    -          Gets the hierarchy of components that the property or component - belongs to.
    - List<String>getMessages() - -
    -          Gets the warning messages.
    - ICalPropertygetProperty() - -
    -          Gets the property object that caused the validation warnings.
    - StringtoString() - -
    -           - Outputs each message in this warnings group as a newline-delimited - string.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ValidationWarnings.WarningsGroup

    -
    -public ValidationWarnings.WarningsGroup(ICalProperty property,
    -                                        List<ICalComponent> componentHierarchy,
    -                                        List<String> messages)
    -
    -
    Creates a new set of validation warnings for a property. -

    -

    -
    Parameters:
    property - the property that caused the warnings
    componentHierarchy - the hierarchy of components that the - property belongs to
    messages - the warning messages
    -
    -
    - -

    -ValidationWarnings.WarningsGroup

    -
    -public ValidationWarnings.WarningsGroup(ICalComponent component,
    -                                        List<ICalComponent> componentHierarchy,
    -                                        List<String> messages)
    -
    -
    Creates a new set of validation warnings for a component. -

    -

    -
    Parameters:
    component - the component that caused the warnings
    componentHierarchy - the hierarchy of components that the - component belongs to
    messages - the warning messages
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getProperty

    -
    -public ICalProperty getProperty()
    -
    -
    Gets the property object that caused the validation warnings. -

    -

    - -
    Returns:
    the property object or null if a component caused the - warnings.
    -
    -
    -
    - -

    -getComponent

    -
    -public ICalComponent getComponent()
    -
    -
    Gets the component object that caused the validation warnings. -

    -

    - -
    Returns:
    the component object or null if a property caused the - warnings.
    -
    -
    -
    - -

    -getComponentHierarchy

    -
    -public List<ICalComponent> getComponentHierarchy()
    -
    -
    Gets the hierarchy of components that the property or component - belongs to. -

    -

    - -
    Returns:
    the component hierarchy
    -
    -
    -
    - -

    -getMessages

    -
    -public List<String> getMessages()
    -
    -
    Gets the warning messages. -

    -

    - -
    Returns:
    the warning messages
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -

    - Outputs each message in this warnings group as a newline-delimited - string. Each line includes the component hierarchy and the name of - the property/component. For example: -

    - -
    - [ICalendar > VEvent > VAlarm]: Email alarms must have at least one attendee.
    - [ICalendar > VEvent > VAlarm]: The trigger must specify which date field its duration is relative to.
    - 
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/ValidationWarnings.html b/libs/biweekly-0.3.1-javadoc/biweekly/ValidationWarnings.html deleted file mode 100644 index cf461161..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/ValidationWarnings.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - -ValidationWarnings (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly -
    -Class ValidationWarnings

    -
    -java.lang.Object
    -  extended by biweekly.ValidationWarnings
    -
    -
    -
    All Implemented Interfaces:
    Iterable<ValidationWarnings.WarningsGroup>
    -
    -
    -
    -
    public class ValidationWarnings
    extends Object
    implements Iterable<ValidationWarnings.WarningsGroup>
    - - -

    -

    - Holds the validation warnings of an iCalendar object. -

    -

    - Examples: - -

    - //validate an iCalendar object
    - ValidationWarnings warnings = ical.validate();
    - 
    - //print all warnings to a string:
    - System.out.println(warnings.toString());
    - //sample output:
    - //[ICalendar]: ProductId is not set (it is a required property).
    - //[ICalendar > VEvent > DateStart]: DateStart must come before DateEnd.
    - //[ICalendar > VEvent > VAlarm]: The trigger must specify which date field its duration is relative to.
    - 
    - //iterate over each warnings group
    - //this gives you access to the property/component object and its parent components
    - for (WarningsGroup group : warnings) {
    -        ICalProperty prop = group.getProperty();
    -        if (prop == null) {
    -                //then it was a component that caused the warnings
    -                ICalComponent comp = group.getComponent();
    -        }
    - 
    -        //get parent components
    -        List<ICalComponent> hierarchy = group.getComponentHierarchy();
    - 
    -        //get warning messages
    -        List<String> messages = group.getMessages();
    - }
    - 
    - //you can also get the warnings of specific properties/components
    - List<WarningsGroup> dtstartWarnings = warnings.getByProperty(DateStart.class);
    - List<WarningsGroup> veventWarnings = warnings.getByComponent(VEvent.class);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    ICalendar.validate()
    -
    - -

    - - - - - - - - - - - -
    -Nested Class Summary
    -static classValidationWarnings.WarningsGroup - -
    -          Holds the validation warnings of a property or component.
    -  - - - - - - - - - - -
    -Constructor Summary
    ValidationWarnings(List<ValidationWarnings.WarningsGroup> warnings) - -
    -          Creates a new validation warnings list.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<ValidationWarnings.WarningsGroup>getByComponent(Class<? extends ICalComponent> componentClass) - -
    -          Gets all validation warnings of a given component.
    - List<ValidationWarnings.WarningsGroup>getByProperty(Class<? extends ICalProperty> propertyClass) - -
    -          Gets all validation warnings of a given property.
    - List<ValidationWarnings.WarningsGroup>getWarnings() - -
    -          Gets all the validation warnings.
    - booleanisEmpty() - -
    -          Determines whether there are any validation warnings.
    - Iterator<ValidationWarnings.WarningsGroup>iterator() - -
    -          Iterates over each warning group (same as calling - getWarnings().iterator()).
    - StringtoString() - -
    -           - Outputs all validation warnings as a newline-delimited string.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ValidationWarnings

    -
    -public ValidationWarnings(List<ValidationWarnings.WarningsGroup> warnings)
    -
    -
    Creates a new validation warnings list. -

    -

    -
    Parameters:
    warnings - the validation warnings
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getByProperty

    -
    -public List<ValidationWarnings.WarningsGroup> getByProperty(Class<? extends ICalProperty> propertyClass)
    -
    -
    Gets all validation warnings of a given property. -

    -

    -
    -
    -
    -
    Parameters:
    propertyClass - the property (e.g. DateStart.class) -
    Returns:
    the validation warnings
    -
    -
    -
    - -

    -getByComponent

    -
    -public List<ValidationWarnings.WarningsGroup> getByComponent(Class<? extends ICalComponent> componentClass)
    -
    -
    Gets all validation warnings of a given component. -

    -

    -
    -
    -
    -
    Parameters:
    componentClass - the component (e.g. VEvent.class) -
    Returns:
    the validation warnings
    -
    -
    -
    - -

    -getWarnings

    -
    -public List<ValidationWarnings.WarningsGroup> getWarnings()
    -
    -
    Gets all the validation warnings. -

    -

    -
    -
    -
    - -
    Returns:
    the validation warnings
    -
    -
    -
    - -

    -isEmpty

    -
    -public boolean isEmpty()
    -
    -
    Determines whether there are any validation warnings. -

    -

    -
    -
    -
    - -
    Returns:
    true if there are none, false if there are one or more
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -

    - Outputs all validation warnings as a newline-delimited string. For - example: -

    - -
    - [ICalendar]: ProductId is not set (it is a required property).
    - [ICalendar > VEvent > DateStart]: DateStart must come before DateEnd.
    - [ICalendar > VEvent > VAlarm]: The trigger must specify which date field its duration is relative to.
    - 
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -iterator

    -
    -public Iterator<ValidationWarnings.WarningsGroup> iterator()
    -
    -
    Iterates over each warning group (same as calling - getWarnings().iterator()). -

    -

    -
    Specified by:
    iterator in interface Iterable<ValidationWarnings.WarningsGroup>
    -
    -
    - -
    Returns:
    the iterator
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainJsonReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainJsonReader.html deleted file mode 100644 index b505eba0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainJsonReader.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.ParserChainJsonReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.ParserChainJsonReader

    -
    - - - - - - - - - -
    -Packages that use Biweekly.ParserChainJsonReader
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.ParserChainJsonReader in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.ParserChainJsonReader
    -static Biweekly.ParserChainJsonReaderBiweekly.parseJson(File file) - -
    -          Parses a jCal data stream (JSON-encoded iCalendar objects).
    -static Biweekly.ParserChainJsonReaderBiweekly.parseJson(InputStream in) - -
    -          Parses a jCal data stream (JSON-encoded iCalendar objects).
    -static Biweekly.ParserChainJsonReaderBiweekly.parseJson(Reader reader) - -
    -          Parses a jCal data stream (JSON-encoded iCalendar objects).
    - Biweekly.ParserChainJsonReaderBiweekly.ParserChainJsonReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainJsonReaderBiweekly.ParserChainJsonReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainJsonReaderBiweekly.ParserChainJsonReader.warnings(List<List<String>> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainJsonString.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainJsonString.html deleted file mode 100644 index 3662fddb..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainJsonString.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.ParserChainJsonString (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.ParserChainJsonString

    -
    - - - - - - - - - -
    -Packages that use Biweekly.ParserChainJsonString
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.ParserChainJsonString in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.ParserChainJsonString
    -static Biweekly.ParserChainJsonStringBiweekly.parseJson(String json) - -
    -          Parses a jCal data stream (JSON-encoded iCalendar objects).
    - Biweekly.ParserChainJsonStringBiweekly.ParserChainJsonString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainJsonStringBiweekly.ParserChainJsonString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainJsonStringBiweekly.ParserChainJsonString.warnings(List<List<String>> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainTextReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainTextReader.html deleted file mode 100644 index cf966c65..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainTextReader.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.ParserChainTextReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.ParserChainTextReader

    -
    - - - - - - - - - -
    -Packages that use Biweekly.ParserChainTextReader
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.ParserChainTextReader in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.ParserChainTextReader
    - Biweekly.ParserChainTextReaderBiweekly.ParserChainTextReader.caretDecoding(boolean enable) - -
    -           
    -static Biweekly.ParserChainTextReaderBiweekly.parse(File file) - -
    -          Parses an iCalendar file.
    -static Biweekly.ParserChainTextReaderBiweekly.parse(InputStream in) - -
    -          Parses an iCalendar data stream.
    -static Biweekly.ParserChainTextReaderBiweekly.parse(Reader reader) - -
    -          Parses an iCalendar data stream.
    - Biweekly.ParserChainTextReaderBiweekly.ParserChainTextReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainTextReaderBiweekly.ParserChainTextReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainTextReaderBiweekly.ParserChainTextReader.warnings(List<List<String>> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainTextString.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainTextString.html deleted file mode 100644 index 4579d82c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainTextString.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.ParserChainTextString (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.ParserChainTextString

    -
    - - - - - - - - - -
    -Packages that use Biweekly.ParserChainTextString
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.ParserChainTextString in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.ParserChainTextString
    - Biweekly.ParserChainTextStringBiweekly.ParserChainTextString.caretDecoding(boolean enable) - -
    -           
    -static Biweekly.ParserChainTextStringBiweekly.parse(String ical) - -
    -          Parses an iCalendar object string.
    - Biweekly.ParserChainTextStringBiweekly.ParserChainTextString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainTextStringBiweekly.ParserChainTextString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainTextStringBiweekly.ParserChainTextString.warnings(List<List<String>> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlDocument.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlDocument.html deleted file mode 100644 index 465bb2b6..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlDocument.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.ParserChainXmlDocument (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.ParserChainXmlDocument

    -
    - - - - - - - - - -
    -Packages that use Biweekly.ParserChainXmlDocument
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.ParserChainXmlDocument in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.ParserChainXmlDocument
    -static Biweekly.ParserChainXmlDocumentBiweekly.parseXml(Document document) - -
    -          Parses an xCal document (XML-encoded iCalendar objects).
    - Biweekly.ParserChainXmlDocumentBiweekly.ParserChainXmlDocument.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlDocumentBiweekly.ParserChainXmlDocument.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlDocumentBiweekly.ParserChainXmlDocument.warnings(List<List<String>> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlReader.html deleted file mode 100644 index bfb7fb52..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlReader.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.ParserChainXmlReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.ParserChainXmlReader

    -
    - - - - - - - - - -
    -Packages that use Biweekly.ParserChainXmlReader
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.ParserChainXmlReader in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.ParserChainXmlReader
    -static Biweekly.ParserChainXmlReaderBiweekly.parseXml(File file) - -
    -          Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -static Biweekly.ParserChainXmlReaderBiweekly.parseXml(InputStream in) - -
    -          Parses an xCal document (XML-encoded iCalendar objects) from an input - stream.
    -static Biweekly.ParserChainXmlReaderBiweekly.parseXml(Reader reader) - -
    -           - Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    - Biweekly.ParserChainXmlReaderBiweekly.ParserChainXmlReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlReaderBiweekly.ParserChainXmlReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlReaderBiweekly.ParserChainXmlReader.warnings(List<List<String>> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlString.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlString.html deleted file mode 100644 index 96eb2d09..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.ParserChainXmlString.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.ParserChainXmlString (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.ParserChainXmlString

    -
    - - - - - - - - - -
    -Packages that use Biweekly.ParserChainXmlString
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.ParserChainXmlString in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.ParserChainXmlString
    -static Biweekly.ParserChainXmlStringBiweekly.parseXml(String xml) - -
    -          Parses an xCal document (XML-encoded iCalendar objects) from a string.
    - Biweekly.ParserChainXmlStringBiweekly.ParserChainXmlString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlStringBiweekly.ParserChainXmlString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlStringBiweekly.ParserChainXmlString.warnings(List<List<String>> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainJson.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainJson.html deleted file mode 100644 index c1c83329..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainJson.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.WriterChainJson (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.WriterChainJson

    -
    - - - - - - - - - -
    -Packages that use Biweekly.WriterChainJson
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.WriterChainJson in biweekly
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.WriterChainJson
    - Biweekly.WriterChainJsonBiweekly.WriterChainJson.indent(boolean indent) - -
    -          Sets whether or not to pretty-print the JSON.
    -static Biweekly.WriterChainJsonBiweekly.writeJson(Collection<ICalendar> icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -static Biweekly.WriterChainJsonBiweekly.writeJson(ICalendar... icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainText.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainText.html deleted file mode 100644 index 51e5f06b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainText.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.WriterChainText (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.WriterChainText

    -
    - - - - - - - - - -
    -Packages that use Biweekly.WriterChainText
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.WriterChainText in biweekly
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.WriterChainText
    - Biweekly.WriterChainTextBiweekly.WriterChainText.caretEncoding(boolean enable) - -
    -           - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default).
    -static Biweekly.WriterChainTextBiweekly.write(Collection<ICalendar> icals) - -
    -          Writes multiple iCalendar objects to a data stream.
    -static Biweekly.WriterChainTextBiweekly.write(ICalendar... icals) - -
    -          Writes multiple iCalendar objects to a data stream.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainXml.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainXml.html deleted file mode 100644 index 9643f649..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.WriterChainXml.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly.WriterChainXml (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly.WriterChainXml

    -
    - - - - - - - - - -
    -Packages that use Biweekly.WriterChainXml
    biweekly  
    -  -

    - - - - - -
    -Uses of Biweekly.WriterChainXml in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return Biweekly.WriterChainXml
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.indent(int indent) - -
    -          Sets the number of indent spaces to use for pretty-printing.
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.register(String parameterName, - ICalDataType dataType) - -
    -          Registers the data type of an experimental parameter.
    -static Biweekly.WriterChainXmlBiweekly.writeXml(Collection<ICalendar> icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -static Biweekly.WriterChainXmlBiweekly.writeXml(ICalendar... icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.html deleted file mode 100644 index 866f721f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/Biweekly.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.Biweekly (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.Biweekly

    -
    -No usage of biweekly.Biweekly -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalDataType.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalDataType.html deleted file mode 100644 index 86dd7c83..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalDataType.html +++ /dev/null @@ -1,1265 +0,0 @@ - - - - - - - -Uses of Class biweekly.ICalDataType (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.ICalDataType

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ICalDataType
    biweekly  
    biweekly.component  
    biweekly.io.json  
    biweekly.io.xml  
    biweekly.parameter  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalDataType in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in biweekly declared as ICalDataType
    -static ICalDataTypeICalDataType.BINARY - -
    -           
    -static ICalDataTypeICalDataType.BOOLEAN - -
    -           
    -static ICalDataTypeICalDataType.CAL_ADDRESS - -
    -           
    -static ICalDataTypeICalDataType.DATE - -
    -           
    -static ICalDataTypeICalDataType.DATE_TIME - -
    -           
    -static ICalDataTypeICalDataType.DURATION - -
    -           
    -static ICalDataTypeICalDataType.FLOAT - -
    -           
    -static ICalDataTypeICalDataType.INTEGER - -
    -           
    -static ICalDataTypeICalDataType.PERIOD - -
    -           
    -static ICalDataTypeICalDataType.RECUR - -
    -           
    -static ICalDataTypeICalDataType.TEXT - -
    -           
    -static ICalDataTypeICalDataType.TIME - -
    -           
    -static ICalDataTypeICalDataType.URI - -
    -           
    -static ICalDataTypeICalDataType.UTC_OFFSET - -
    -           
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly that return ICalDataType
    -static ICalDataTypeICalDataType.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static ICalDataTypeICalDataType.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    -  -

    - - - - - - - - - -
    Methods in biweekly that return types with arguments of type ICalDataType
    -static Collection<ICalDataType>ICalDataType.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type ICalDataType
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.register(String parameterName, - ICalDataType dataType) - -
    -          Registers the data type of an experimental parameter.
    -  -

    - - - - - -
    -Uses of ICalDataType in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type ICalDataType
    - RawPropertyICalComponent.addExperimentalProperty(String name, - ICalDataType dataType, - String value) - -
    -          Adds an experimental property to this component.
    - RawPropertyICalComponent.setExperimentalProperty(String name, - ICalDataType dataType, - String value) - -
    -          Adds an experimental property to this component, removing all existing - properties that have the same name.
    -  -

    - - - - - -
    -Uses of ICalDataType in biweekly.io.json
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type ICalDataType
    - voidJCalRawReader.JCalDataStreamListener.readProperty(List<String> componentHierarchy, - String propertyName, - ICalParameters parameters, - ICalDataType dataType, - JCalValue value) - -
    -          Called when a property is read.
    - voidJCalRawWriter.writeProperty(String propertyName, - ICalDataType dataType, - JCalValue value) - -
    -          Writes a property to the current component.
    - voidJCalRawWriter.writeProperty(String propertyName, - ICalParameters parameters, - ICalDataType dataType, - JCalValue value) - -
    -          Writes a property to the current component.
    -  -

    - - - - - -
    -Uses of ICalDataType in biweekly.io.xml
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io.xml with parameters of type ICalDataType
    - List<String>XCalElement.all(ICalDataType dataType) - -
    -          Gets all the values of a given data type.
    - XCalElementXCalElement.append(ICalDataType dataType) - -
    -          Adds an empty value.
    - ElementXCalElement.append(ICalDataType dataType, - String value) - -
    -          Adds a value.
    - XCalElementXCalElement.child(ICalDataType dataType) - -
    -          Gets the first child element with the given data type.
    - List<XCalElement>XCalElement.children(ICalDataType dataType) - -
    -          Gets all child elements with the given data type.
    - StringXCalElement.first(ICalDataType dataType) - -
    -          Gets the first value of the given data type.
    - voidXCalDocument.registerParameterDataType(String parameterName, - ICalDataType dataType) - -
    -          Registers the data type of an experimental parameter.
    -  -

    - - - - - -
    -Uses of ICalDataType in biweekly.parameter
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return ICalDataType
    - ICalDataTypeICalParameters.getValue() - -
    -          Gets the data type of the property's value (for example, "text" or - "datetime").
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type ICalDataType
    - voidICalParameters.setValue(ICalDataType value) - -
    -          Sets the data type of the property's value (for example, "text" or - "datetime").
    -  -

    - - - - - -
    -Uses of ICalDataType in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return ICalDataType
    - ICalDataTypeRawProperty.getDataType() - -
    -           
    -  -

    - - - - - - - - -
    Constructors in biweekly.property with parameters of type ICalDataType
    RawProperty(String name, - ICalDataType dataType, - String value) - -
    -           
    -  -

    - - - - - -
    -Uses of ICalDataType in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Fields in biweekly.property.marshaller declared as ICalDataType
    -protected  ICalDataTypeICalPropertyMarshaller.defaultDataType - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ICalDataType
    -protected  ICalDataTypeAttachmentMarshaller._dataType(Attachment property) - -
    -           
    -protected  ICalDataTypeExceptionDatesMarshaller._dataType(ExceptionDates property) - -
    -           
    -protected  ICalDataTypeRawPropertyMarshaller._dataType(RawProperty property) - -
    -           
    -protected  ICalDataTypeRecurrenceDatesMarshaller._dataType(RecurrenceDates property) - -
    -           
    -protected  ICalDataTypeICalPropertyMarshaller._dataType(T property) - -
    -           - Determines the data type of a property instance.
    -protected  ICalDataTypeDateOrDateTimePropertyMarshaller._dataType(T property) - -
    -           
    -protected  ICalDataTypeTriggerMarshaller._dataType(Trigger property) - -
    -           
    - ICalDataTypeICalPropertyMarshaller.dataType(T property) - -
    -          Determines the data type of a property instance.
    - ICalDataTypeICalPropertyMarshaller.getDefaultDataType() - -
    -          Gets the property's default data type.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type ICalDataType
    -protected  XmlXmlMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TUtcOffsetPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TTextPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TRecurrencePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TListPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TIntegerPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TICalPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  GeoGeoMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateTimePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateOrDateTimePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  XmlXmlMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TUtcOffsetPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TTextPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TRecurrencePropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RawPropertyRawPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TListPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TIntegerPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected abstract  TICalPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  GeoGeoMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateTimePropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateOrDateTimePropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected static CannotParseExceptionICalPropertyMarshaller.missingXmlElements(ICalDataType... dataTypes) - -
    -          Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from the property's XML - element.
    - ResourcesResourcesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -protected abstract  TListPropertyMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    - CategoriesCategoriesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property's value from a JSON data stream (jCal).
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseText(String value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  StringTextListPropertyMarshaller.readValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected abstract  VListPropertyMarshaller.readValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DateExceptionDatesMarshaller.readValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in biweekly.property.marshaller with parameters of type ICalDataType
    ICalPropertyMarshaller(Class<T> clazz, - String propertyName, - ICalDataType defaultDataType) - -
    -          Creates a new marshaller.
    ICalPropertyMarshaller(Class<T> clazz, - String propertyName, - ICalDataType defaultDataType, - QName qname) - -
    -          Creates a new marshaller.
    ListPropertyMarshaller(Class<T> clazz, - String propertyName, - ICalDataType dataType) - -
    -           
    TextPropertyMarshaller(Class<T> clazz, - String propertyName, - ICalDataType dataType) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalException.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalException.html deleted file mode 100644 index a0494e37..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalException.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -Uses of Class biweekly.ICalException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.ICalException

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use ICalException
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    -  -

    - - - - - -
    -Uses of ICalException in biweekly.io
    -  -

    - - - - - - - - - - - - - -
    Subclasses of ICalException in biweekly.io
    - classCannotParseException - -
    -          Thrown during the unmarshalling of an iCalendar property to signal that the - property's value could not be parsed (for example, being unable to parse a - date string).
    - classSkipMeException - -
    -          Thrown during the reading or writing of an iCalendar property to show that - the property should not be written to the iCalendar data stream or not be - included in the parsed ICalendar object.
    -  -

    - - - - - -
    -Uses of ICalException in biweekly.io.json
    -  -

    - - - - - - - - - -
    Subclasses of ICalException in biweekly.io.json
    - classJCalParseException - -
    -          Thrown during the parsing of a JSON-encoded iCalendar object (jCal) when the - jCal object is not formatted in the correct way (the JSON syntax is valid, - but it's not in the correct jCal format).
    -  -

    - - - - - -
    -Uses of ICalException in biweekly.io.text
    -  -

    - - - - - - - - - -
    Subclasses of ICalException in biweekly.io.text
    -static classICalRawReader.StopReadingException - -
    -          Instructs an ICalRawReader to stop reading from the data stream - when thrown from an ICalRawReader.ICalDataStreamListener implementation.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalendar.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalendar.html deleted file mode 100644 index 17dec92d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ICalendar.html +++ /dev/null @@ -1,489 +0,0 @@ - - - - - - - -Uses of Class biweekly.ICalendar (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.ICalendar

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ICalendar
    biweekly  
    biweekly.component.marshaller  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    -  -

    - - - - - -
    -Uses of ICalendar in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return ICalendar
    - ICalendarBiweekly.ParserChainTextString.first() - -
    -           
    - ICalendarBiweekly.ParserChainXmlString.first() - -
    -           
    - ICalendarBiweekly.ParserChainXmlDocument.first() - -
    -           
    - ICalendarBiweekly.ParserChainJsonString.first() - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return types with arguments of type ICalendar
    - List<ICalendar>Biweekly.ParserChainTextString.all() - -
    -           
    - List<ICalendar>Biweekly.ParserChainXmlString.all() - -
    -           
    - List<ICalendar>Biweekly.ParserChainXmlDocument.all() - -
    -           
    - List<ICalendar>Biweekly.ParserChainJsonString.all() - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly with parameters of type ICalendar
    -static Biweekly.WriterChainTextBiweekly.write(ICalendar... icals) - -
    -          Writes multiple iCalendar objects to a data stream.
    -static Biweekly.WriterChainJsonBiweekly.writeJson(ICalendar... icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -static Biweekly.WriterChainXmlBiweekly.writeXml(ICalendar... icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -  -

    - - - - - - - - - - - - - - - - - -
    Method parameters in biweekly with type arguments of type ICalendar
    -static Biweekly.WriterChainTextBiweekly.write(Collection<ICalendar> icals) - -
    -          Writes multiple iCalendar objects to a data stream.
    -static Biweekly.WriterChainJsonBiweekly.writeJson(Collection<ICalendar> icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -static Biweekly.WriterChainXmlBiweekly.writeXml(Collection<ICalendar> icals) - -
    -          Writes an xCal document (XML-encoded iCalendar objects).
    -  -

    - - - - - -
    -Uses of ICalendar in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return ICalendar
    -protected  ICalendarICalendarMarshaller._newInstance() - -
    -           
    -  -

    - - - - - -
    -Uses of ICalendar in biweekly.io.json
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.json that return ICalendar
    - ICalendarJCalReader.readNext() - -
    -          Reads the next iCalendar object from the JSON data stream.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type ICalendar
    - voidJCalWriter.write(ICalendar ical) - -
    -          Writes an iCalendar object to the data stream.
    -  -

    - - - - - -
    -Uses of ICalendar in biweekly.io.text
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.text that return ICalendar
    - ICalendarICalReader.readNext() - -
    -          Reads the next iCalendar object.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.text with parameters of type ICalendar
    - voidICalWriter.write(ICalendar ical) - -
    -          Writes an iCalendar object to the data stream.
    -  -

    - - - - - -
    -Uses of ICalendar in biweekly.io.xml
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.xml that return ICalendar
    - ICalendarXCalDocument.parseFirst() - -
    -          Parses the first ICalendar object from the xCal document.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.xml that return types with arguments of type ICalendar
    - List<ICalendar>XCalDocument.parseAll() - -
    -          Parses all the ICalendar objects from the xCal document.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.xml with parameters of type ICalendar
    - voidXCalDocument.add(ICalendar ical) - -
    -          Adds an iCalendar object to the xCal document.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ValidationWarnings.WarningsGroup.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ValidationWarnings.WarningsGroup.html deleted file mode 100644 index a15be41d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ValidationWarnings.WarningsGroup.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - -Uses of Class biweekly.ValidationWarnings.WarningsGroup (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.ValidationWarnings.WarningsGroup

    -
    - - - - - - - - - - - - - -
    -Packages that use ValidationWarnings.WarningsGroup
    biweekly  
    biweekly.component  
    -  -

    - - - - - -
    -Uses of ValidationWarnings.WarningsGroup in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly that return types with arguments of type ValidationWarnings.WarningsGroup
    - List<ValidationWarnings.WarningsGroup>ValidationWarnings.getByComponent(Class<? extends ICalComponent> componentClass) - -
    -          Gets all validation warnings of a given component.
    - List<ValidationWarnings.WarningsGroup>ValidationWarnings.getByProperty(Class<? extends ICalProperty> propertyClass) - -
    -          Gets all validation warnings of a given property.
    - List<ValidationWarnings.WarningsGroup>ValidationWarnings.getWarnings() - -
    -          Gets all the validation warnings.
    - Iterator<ValidationWarnings.WarningsGroup>ValidationWarnings.iterator() - -
    -          Iterates over each warning group (same as calling - getWarnings().iterator()).
    -  -

    - - - - - - - - -
    Constructor parameters in biweekly with type arguments of type ValidationWarnings.WarningsGroup
    ValidationWarnings(List<ValidationWarnings.WarningsGroup> warnings) - -
    -          Creates a new validation warnings list.
    -  -

    - - - - - -
    -Uses of ValidationWarnings.WarningsGroup in biweekly.component
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type ValidationWarnings.WarningsGroup
    - List<ValidationWarnings.WarningsGroup>ICalComponent.validate(List<ICalComponent> hierarchy) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ValidationWarnings.html b/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ValidationWarnings.html deleted file mode 100644 index c987228f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/class-use/ValidationWarnings.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Uses of Class biweekly.ValidationWarnings (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.ValidationWarnings

    -
    - - - - - - - - - -
    -Packages that use ValidationWarnings
    biweekly  
    -  -

    - - - - - -
    -Uses of ValidationWarnings in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return ValidationWarnings
    - ValidationWarningsICalendar.validate() - -
    -          Checks this iCalendar object for data consistency problems or deviations - from the spec.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/DaylightSavingsTime.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/DaylightSavingsTime.html deleted file mode 100644 index 852afa07..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/DaylightSavingsTime.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - -DaylightSavingsTime (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class DaylightSavingsTime

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.Observance
    -          extended by biweekly.component.DaylightSavingsTime
    -
    -
    -
    -
    public class DaylightSavingsTime
    extends Observance
    - - -

    -

    - Defines a daylight savings time range within a VTimezone. -

    -

    - Examples: - -

    - VTimezone timezone = new VTimezone("Eastern Standard Time");
    - DaylightSavingsTime daylight = new DaylightSavingsTime();
    - DateTimeComponents components = new DateTimeComponents(1999, 4, 4, 2, 0, 0, false);
    - daylight.setDateStart(components);
    - daylight.setTimezoneOffsetFrom(-5, 0);
    - daylight.setTimezoneOffsetTo(-4, 0);
    - timezone.addDaylightSavingsTime(daylight);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.62-71
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    DaylightSavingsTime() - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.component.Observance
    addComment, addComment, addExceptionDates, addRecurrenceDates, addTimezoneName, addTimezoneName, getComments, getDateStart, getExceptionDates, getRecurrenceDates, getRecurrenceRule, getTimezoneNames, getTimezoneOffsetFrom, getTimezoneOffsetTo, setDateStart, setDateStart, setRecurrenceRule, setRecurrenceRule, setTimezoneOffsetFrom, setTimezoneOffsetFrom, setTimezoneOffsetTo, setTimezoneOffsetTo, validate
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DaylightSavingsTime

    -
    -public DaylightSavingsTime()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/ICalComponent.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/ICalComponent.html deleted file mode 100644 index 155819f6..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/ICalComponent.html +++ /dev/null @@ -1,1072 +0,0 @@ - - - - - - - -ICalComponent (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class ICalComponent

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -
    -
    -
    Direct Known Subclasses:
    ICalendar, Observance, RawComponent, VAlarm, VEvent, VFreeBusy, VJournal, VTimezone, VTodo
    -
    -
    -
    -
    public abstract class ICalComponent
    extends Object
    - - -

    -The base class for iCalendar components. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -protected  ListMultimap<Class<? extends ICalComponent>,ICalComponent>components - -
    -           
    -protected  ListMultimap<Class<? extends ICalProperty>,ICalProperty>properties - -
    -           
    -  - - - - - - - - - - -
    -Constructor Summary
    ICalComponent() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddComponent(ICalComponent component) - -
    -          Adds a sub-component to this component.
    - RawComponentaddExperimentalComponent(String name) - -
    -          Adds an experimental sub-component to this component.
    - RawPropertyaddExperimentalProperty(String name, - ICalDataType dataType, - String value) - -
    -          Adds an experimental property to this component.
    - RawPropertyaddExperimentalProperty(String name, - String value) - -
    -          Adds an experimental property to this component.
    - voidaddProperty(ICalProperty property) - -
    -          Adds a property to this component.
    -protected  voidcheckOptionalCardinality(List<String> warnings, - Class<? extends ICalProperty>... classes) - -
    -          Utility method for validating that there is no more than one instance of - each of the given properties.
    -protected  voidcheckRequiredCardinality(List<String> warnings, - Class<? extends ICalProperty>... classes) - -
    -          Utility method for validating that there is exactly one instance of each - of the given properties.
    - - - - - -
    -<T extends ICalComponent> -
    -T
    -
    getComponent(Class<T> clazz) - -
    -          Gets the first component of a given class.
    - ListMultimap<Class<? extends ICalComponent>,ICalComponent>getComponents() - -
    -          Gets all the sub-components associated with this component.
    - - - - - -
    -<T extends ICalComponent> -
    -List<T>
    -
    getComponents(Class<T> clazz) - -
    -          Gets all components of a given class.
    - RawComponentgetExperimentalComponent(String name) - -
    -          Gets the first experimental sub-component with a given name.
    - List<RawComponent>getExperimentalComponents() - -
    -          Gets all experimental sub-components associated with this component.
    - List<RawComponent>getExperimentalComponents(String name) - -
    -          Gets all experimental sub-component with a given name.
    - List<RawProperty>getExperimentalProperties() - -
    -          Gets all experimental properties associated with this component.
    - List<RawProperty>getExperimentalProperties(String name) - -
    -          Gets all experimental properties with a given name.
    - RawPropertygetExperimentalProperty(String name) - -
    -          Gets the first experimental property with a given name.
    - ListMultimap<Class<? extends ICalProperty>,ICalProperty>getProperties() - -
    -          Gets all the properties associated with this component.
    - - - - - -
    -<T extends ICalProperty> -
    -List<T>
    -
    getProperties(Class<T> clazz) - -
    -          Gets all properties of a given class.
    - - - - - -
    -<T extends ICalProperty> -
    -T
    -
    getProperty(Class<T> clazz) - -
    -          Gets the first property of a given class.
    - voidremoveExperimentalComponents(String name) - -
    -          Removes all experimental sub-components that have the given name.
    - voidremoveExperimentalProperty(String name) - -
    -          Removes all experimental properties that have the given name.
    - voidremoveProperties(Class<? extends ICalProperty> clazz) - -
    -          Removes properties from the iCalendar object.
    - - - - - -
    -<T extends ICalComponent> -
    -void
    -
    setComponent(Class<T> clazz, - T component) - -
    -          Replaces all components of a given class with the given component.
    - voidsetComponent(ICalComponent component) - -
    -          Replaces all components of a given class with the given component.
    - RawComponentsetExperimentalComponents(String name) - -
    -          Adds an experimental sub-component to this component, removing all - existing components that have the same name.
    - RawPropertysetExperimentalProperty(String name, - ICalDataType dataType, - String value) - -
    -          Adds an experimental property to this component, removing all existing - properties that have the same name.
    - RawPropertysetExperimentalProperty(String name, - String value) - -
    -          Adds an experimental property to this component, removing all existing - properties that have the same name.
    - - - - - -
    -<T extends ICalProperty> -
    -void
    -
    setProperty(Class<T> clazz, - T property) - -
    -          Replaces all existing properties of the given class with a single - property instance.
    - voidsetProperty(ICalProperty property) - -
    -          Replaces all existing properties of the given class with a single - property instance.
    - List<ValidationWarnings.WarningsGroup>validate(List<ICalComponent> hierarchy) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -components

    -
    -protected final ListMultimap<Class<? extends ICalComponent>,ICalComponent> components
    -
    -
    -
    -
    -
    - -

    -properties

    -
    -protected final ListMultimap<Class<? extends ICalProperty>,ICalProperty> properties
    -
    -
    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalComponent

    -
    -public ICalComponent()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getProperty

    -
    -public <T extends ICalProperty> T getProperty(Class<T> clazz)
    -
    -
    Gets the first property of a given class. -

    -

    -
    Parameters:
    clazz - the property class -
    Returns:
    the property or null if not found
    -
    -
    -
    - -

    -getProperties

    -
    -public <T extends ICalProperty> List<T> getProperties(Class<T> clazz)
    -
    -
    Gets all properties of a given class. -

    -

    -
    Parameters:
    clazz - the property class -
    Returns:
    the properties
    -
    -
    -
    - -

    -getProperties

    -
    -public ListMultimap<Class<? extends ICalProperty>,ICalProperty> getProperties()
    -
    -
    Gets all the properties associated with this component. -

    -

    - -
    Returns:
    the properties
    -
    -
    -
    - -

    -addProperty

    -
    -public void addProperty(ICalProperty property)
    -
    -
    Adds a property to this component. -

    -

    -
    Parameters:
    property - the property to add
    -
    -
    -
    - -

    -setProperty

    -
    -public void setProperty(ICalProperty property)
    -
    -
    Replaces all existing properties of the given class with a single - property instance. -

    -

    -
    Parameters:
    property - the property (must not be null)
    -
    -
    -
    - -

    -setProperty

    -
    -public <T extends ICalProperty> void setProperty(Class<T> clazz,
    -                                                 T property)
    -
    -
    Replaces all existing properties of the given class with a single - property instance. If the property instance is null, then all instances - of that property will be removed. -

    -

    -
    Parameters:
    clazz - the property class (e.g. "Version.class")
    property - the property or null to remove
    -
    -
    -
    - -

    -removeProperties

    -
    -public void removeProperties(Class<? extends ICalProperty> clazz)
    -
    -
    Removes properties from the iCalendar object. -

    -

    -
    Parameters:
    clazz - the class of the properties to remove (e.g. "Version.class")
    -
    -
    -
    - -

    -getExperimentalProperty

    -
    -public RawProperty getExperimentalProperty(String name)
    -
    -
    Gets the first experimental property with a given name. -

    -

    -
    Parameters:
    name - the property name (e.g. "X-ALT-DESC") -
    Returns:
    the property or null if none were found
    -
    -
    -
    - -

    -getExperimentalProperties

    -
    -public List<RawProperty> getExperimentalProperties(String name)
    -
    -
    Gets all experimental properties with a given name. -

    -

    -
    Parameters:
    name - the property name (e.g. "X-ALT-DESC") -
    Returns:
    the properties
    -
    -
    -
    - -

    -getExperimentalProperties

    -
    -public List<RawProperty> getExperimentalProperties()
    -
    -
    Gets all experimental properties associated with this component. -

    -

    - -
    Returns:
    the properties
    -
    -
    -
    - -

    -addExperimentalProperty

    -
    -public RawProperty addExperimentalProperty(String name,
    -                                           String value)
    -
    -
    Adds an experimental property to this component. -

    -

    -
    Parameters:
    name - the property name (e.g. "X-ALT-DESC")
    value - the property value -
    Returns:
    the property object that was created
    -
    -
    -
    - -

    -addExperimentalProperty

    -
    -public RawProperty addExperimentalProperty(String name,
    -                                           ICalDataType dataType,
    -                                           String value)
    -
    -
    Adds an experimental property to this component. -

    -

    -
    Parameters:
    name - the property name (e.g. "X-ALT-DESC")
    dataType - the property's data type (e.g. "text") or null if unknown
    value - the property value -
    Returns:
    the property object that was created
    -
    -
    -
    - -

    -setExperimentalProperty

    -
    -public RawProperty setExperimentalProperty(String name,
    -                                           String value)
    -
    -
    Adds an experimental property to this component, removing all existing - properties that have the same name. -

    -

    -
    Parameters:
    name - the property name (e.g. "X-ALT-DESC")
    value - the property value -
    Returns:
    the property object that was created
    -
    -
    -
    - -

    -setExperimentalProperty

    -
    -public RawProperty setExperimentalProperty(String name,
    -                                           ICalDataType dataType,
    -                                           String value)
    -
    -
    Adds an experimental property to this component, removing all existing - properties that have the same name. -

    -

    -
    Parameters:
    name - the property name (e.g. "X-ALT-DESC")
    dataType - the property's data type (e.g. "text") or null if unknown
    value - the property value -
    Returns:
    the property object that was created
    -
    -
    -
    - -

    -removeExperimentalProperty

    -
    -public void removeExperimentalProperty(String name)
    -
    -
    Removes all experimental properties that have the given name. -

    -

    -
    Parameters:
    name - the component name (e.g. "X-ALT-DESC")
    -
    -
    -
    - -

    -getComponent

    -
    -public <T extends ICalComponent> T getComponent(Class<T> clazz)
    -
    -
    Gets the first component of a given class. -

    -

    -
    Parameters:
    clazz - the component class -
    Returns:
    the component or null if not found
    -
    -
    -
    - -

    -getComponents

    -
    -public <T extends ICalComponent> List<T> getComponents(Class<T> clazz)
    -
    -
    Gets all components of a given class. -

    -

    -
    Parameters:
    clazz - the component class -
    Returns:
    the components
    -
    -
    -
    - -

    -getComponents

    -
    -public ListMultimap<Class<? extends ICalComponent>,ICalComponent> getComponents()
    -
    -
    Gets all the sub-components associated with this component. -

    -

    - -
    Returns:
    the sub-components
    -
    -
    -
    - -

    -addComponent

    -
    -public void addComponent(ICalComponent component)
    -
    -
    Adds a sub-component to this component. -

    -

    -
    Parameters:
    component - the component to add
    -
    -
    -
    - -

    -setComponent

    -
    -public void setComponent(ICalComponent component)
    -
    -
    Replaces all components of a given class with the given component. -

    -

    -
    Parameters:
    component - the component (must not be null)
    -
    -
    -
    - -

    -setComponent

    -
    -public <T extends ICalComponent> void setComponent(Class<T> clazz,
    -                                                   T component)
    -
    -
    Replaces all components of a given class with the given component. If the - component instance is null, then all instances of that component will be - removed. -

    -

    -
    Parameters:
    clazz - the component's class
    component - the component or null to remove
    -
    -
    -
    - -

    -getExperimentalComponent

    -
    -public RawComponent getExperimentalComponent(String name)
    -
    -
    Gets the first experimental sub-component with a given name. -

    -

    -
    Parameters:
    name - the component name (e.g. "X-PARTY") -
    Returns:
    the component or null if none were found
    -
    -
    -
    - -

    -getExperimentalComponents

    -
    -public List<RawComponent> getExperimentalComponents(String name)
    -
    -
    Gets all experimental sub-component with a given name. -

    -

    -
    Parameters:
    name - the component name (e.g. "X-PARTY") -
    Returns:
    the components
    -
    -
    -
    - -

    -getExperimentalComponents

    -
    -public List<RawComponent> getExperimentalComponents()
    -
    -
    Gets all experimental sub-components associated with this component. -

    -

    - -
    Returns:
    the sub-components
    -
    -
    -
    - -

    -addExperimentalComponent

    -
    -public RawComponent addExperimentalComponent(String name)
    -
    -
    Adds an experimental sub-component to this component. -

    -

    -
    Parameters:
    name - the component name (e.g. "X-PARTY") -
    Returns:
    the component object that was created
    -
    -
    -
    - -

    -setExperimentalComponents

    -
    -public RawComponent setExperimentalComponents(String name)
    -
    -
    Adds an experimental sub-component to this component, removing all - existing components that have the same name. -

    -

    -
    Parameters:
    name - the component name (e.g. "X-PARTY") -
    Returns:
    the component object that was created
    -
    -
    -
    - -

    -removeExperimentalComponents

    -
    -public void removeExperimentalComponents(String name)
    -
    -
    Removes all experimental sub-components that have the given name. -

    -

    -
    Parameters:
    name - the component name (e.g. "X-PARTY")
    -
    -
    -
    - -

    -validate

    -
    -public final List<ValidationWarnings.WarningsGroup> validate(List<ICalComponent> hierarchy)
    -
    -
    Checks the component for data consistency problems or deviations from the - spec. These problems will not prevent the component from being written to - a data stream, but may prevent it from being parsed correctly by the - consuming application. These problems can largely be avoided by reading - the Javadocs of the component class, or by being familiar with the - iCalendar standard. -

    -

    -
    Parameters:
    hierarchy - the hierarchy of components that the component belongs - to -
    Returns:
    a list of warnings or an empty list if no problems were found
    See Also:
    ICalendar.validate()
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    -
    - -

    -checkRequiredCardinality

    -
    -protected void checkRequiredCardinality(List<String> warnings,
    -                                        Class<? extends ICalProperty>... classes)
    -
    -
    Utility method for validating that there is exactly one instance of each - of the given properties. -

    -

    -
    Parameters:
    warnings - the list to add the warnings to
    classes - the properties to check
    -
    -
    -
    - -

    -checkOptionalCardinality

    -
    -protected void checkOptionalCardinality(List<String> warnings,
    -                                        Class<? extends ICalProperty>... classes)
    -
    -
    Utility method for validating that there is no more than one instance of - each of the given properties. -

    -

    -
    Parameters:
    warnings - the list to add the warnings to
    classes - the properties to check
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/Observance.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/Observance.html deleted file mode 100644 index 554a99b2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/Observance.html +++ /dev/null @@ -1,789 +0,0 @@ - - - - - - - -Observance (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class Observance

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.Observance
    -
    -
    -
    Direct Known Subclasses:
    DaylightSavingsTime, StandardTime
    -
    -
    -
    -
    public abstract class Observance
    extends ICalComponent
    - - -

    -Parent class for the "daylight" and "standard" timezone observances. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    DaylightSavingsTime, -StandardTime
    Specification Reference:
    RFC 5545 p.62-71
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    Observance() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddComment(Comment comment) - -
    -          Adds a comment to the timezone observance.
    - CommentaddComment(String comment) - -
    -          Adds a comment to the timezone observance.
    - voidaddExceptionDates(ExceptionDates exceptionDates) - -
    -          Adds a list of exceptions to the timezone observance.
    - voidaddRecurrenceDates(RecurrenceDates recurrenceDates) - -
    -          Adds a list of dates/periods that help define the recurrence rule of this - timezone observance (if one is defined).
    - TimezoneNameaddTimezoneName(String timezoneName) - -
    -          Adds a traditional, non-standard name for the timezone observance.
    - voidaddTimezoneName(TimezoneName timezoneName) - -
    -          Adds a traditional, non-standard name for the timezone observance.
    - List<Comment>getComments() - -
    -          Gets the comments attached to the timezone observance.
    - DateStartgetDateStart() - -
    -          Gets the date that the timezone observance starts.
    - List<ExceptionDates>getExceptionDates() - -
    -          Gets the list of exceptions to the timezone observance.
    - List<RecurrenceDates>getRecurrenceDates() - -
    -          Gets the list of dates/periods that help define the recurrence rule of - this timezone observance (if one is defined).
    - RecurrenceRulegetRecurrenceRule() - -
    -          Gets how often the timezone observance repeats.
    - List<TimezoneName>getTimezoneNames() - -
    -          Gets the traditional, non-standard names for the timezone observance.
    - TimezoneOffsetFromgetTimezoneOffsetFrom() - -
    -          Gets the UTC offset that the timezone observance transitions from.
    - TimezoneOffsetTogetTimezoneOffsetTo() - -
    -          Gets the UTC offset that the timezone observance transitions to.
    - voidsetDateStart(DateStart dateStart) - -
    -          Sets the date that the timezone observance starts.
    - DateStartsetDateStart(DateTimeComponents components) - -
    -          Sets the date that the timezone observance starts.
    - RecurrenceRulesetRecurrenceRule(Recurrence recur) - -
    -          Sets how often the timezone observance repeats.
    - voidsetRecurrenceRule(RecurrenceRule recurrenceRule) - -
    -          Sets how often the timezone observance repeats.
    - TimezoneOffsetFromsetTimezoneOffsetFrom(Integer hour, - Integer minute) - -
    -          Sets the UTC offset that the timezone observance transitions from.
    - voidsetTimezoneOffsetFrom(TimezoneOffsetFrom timezoneOffsetFrom) - -
    -          Sets the UTC offset that the timezone observance transitions from.
    - TimezoneOffsetTosetTimezoneOffsetTo(Integer hour, - Integer minute) - -
    -          Sets the UTC offset that the timezone observance transitions to.
    - voidsetTimezoneOffsetTo(TimezoneOffsetTo timezoneOffsetTo) - -
    -          Sets the UTC offset that the timezone observance transitions to.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Observance

    -
    -public Observance()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDateStart

    -
    -public DateStart getDateStart()
    -
    -
    Gets the date that the timezone observance starts. -

    -

    - -
    Returns:
    the start date or null if not set
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public void setDateStart(DateStart dateStart)
    -
    -
    Sets the date that the timezone observance starts. -

    -

    -
    Parameters:
    dateStart - the start date or null to remove
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public DateStart setDateStart(DateTimeComponents components)
    -
    -
    Sets the date that the timezone observance starts. -

    -

    -
    Parameters:
    components - the raw components of the start date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -getTimezoneOffsetTo

    -
    -public TimezoneOffsetTo getTimezoneOffsetTo()
    -
    -
    Gets the UTC offset that the timezone observance transitions to. -

    -

    - -
    Returns:
    the UTC offset or null if not set
    Specification Reference:
    RFC 5545 p.105-6
    -
    -
    -
    - -

    -setTimezoneOffsetTo

    -
    -public void setTimezoneOffsetTo(TimezoneOffsetTo timezoneOffsetTo)
    -
    -
    Sets the UTC offset that the timezone observance transitions to. -

    -

    -
    Parameters:
    timezoneOffsetTo - the UTC offset or null to remove
    Specification Reference:
    RFC 5545 p.105-6
    -
    -
    -
    - -

    -setTimezoneOffsetTo

    -
    -public TimezoneOffsetTo setTimezoneOffsetTo(Integer hour,
    -                                            Integer minute)
    -
    -
    Sets the UTC offset that the timezone observance transitions to. -

    -

    -
    Parameters:
    hour - the hour offset (e.g. "-5")
    minute - the minute offset (e.g. "0") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.105-6
    -
    -
    -
    - -

    -getTimezoneOffsetFrom

    -
    -public TimezoneOffsetFrom getTimezoneOffsetFrom()
    -
    -
    Gets the UTC offset that the timezone observance transitions from. -

    -

    - -
    Returns:
    the UTC offset or null if not set
    Specification Reference:
    RFC 5545 p.104-5
    -
    -
    -
    - -

    -setTimezoneOffsetFrom

    -
    -public void setTimezoneOffsetFrom(TimezoneOffsetFrom timezoneOffsetFrom)
    -
    -
    Sets the UTC offset that the timezone observance transitions from. -

    -

    -
    Parameters:
    timezoneOffsetFrom - the UTC offset or null to remove
    Specification Reference:
    RFC 5545 p.104-5
    -
    -
    -
    - -

    -setTimezoneOffsetFrom

    -
    -public TimezoneOffsetFrom setTimezoneOffsetFrom(Integer hour,
    -                                                Integer minute)
    -
    -
    Sets the UTC offset that the timezone observance transitions from. -

    -

    -
    Parameters:
    hour - the hour offset (e.g. "-5")
    minute - the minute offset (e.g. "0") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.104-5
    -
    -
    -
    - -

    -getRecurrenceRule

    -
    -public RecurrenceRule getRecurrenceRule()
    -
    -
    Gets how often the timezone observance repeats. -

    -

    - -
    Returns:
    the recurrence rule or null if not set
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -setRecurrenceRule

    -
    -public RecurrenceRule setRecurrenceRule(Recurrence recur)
    -
    -
    Sets how often the timezone observance repeats. -

    -

    -
    Parameters:
    recur - the recurrence rule or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -setRecurrenceRule

    -
    -public void setRecurrenceRule(RecurrenceRule recurrenceRule)
    -
    -
    Sets how often the timezone observance repeats. -

    -

    -
    Parameters:
    recurrenceRule - the recurrence rule or null to remove
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -getComments

    -
    -public List<Comment> getComments()
    -
    -
    Gets the comments attached to the timezone observance. -

    -

    - -
    Returns:
    the comments
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public void addComment(Comment comment)
    -
    -
    Adds a comment to the timezone observance. -

    -

    -
    Parameters:
    comment - the comment to add
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public Comment addComment(String comment)
    -
    -
    Adds a comment to the timezone observance. -

    -

    -
    Parameters:
    comment - the comment to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -getRecurrenceDates

    -
    -public List<RecurrenceDates> getRecurrenceDates()
    -
    -
    Gets the list of dates/periods that help define the recurrence rule of - this timezone observance (if one is defined). -

    -

    - -
    Returns:
    the recurrence dates
    Specification Reference:
    RFC 5545 p.120-2
    -
    -
    -
    - -

    -addRecurrenceDates

    -
    -public void addRecurrenceDates(RecurrenceDates recurrenceDates)
    -
    -
    Adds a list of dates/periods that help define the recurrence rule of this - timezone observance (if one is defined). -

    -

    -
    Parameters:
    recurrenceDates - the recurrence dates
    Specification Reference:
    RFC 5545 p.120-2
    -
    -
    -
    - -

    -getTimezoneNames

    -
    -public List<TimezoneName> getTimezoneNames()
    -
    -
    Gets the traditional, non-standard names for the timezone observance. -

    -

    - -
    Returns:
    the timezone observance names
    Specification Reference:
    RFC 5545 p.103-4
    -
    -
    -
    - -

    -addTimezoneName

    -
    -public void addTimezoneName(TimezoneName timezoneName)
    -
    -
    Adds a traditional, non-standard name for the timezone observance. -

    -

    -
    Parameters:
    timezoneName - the timezone observance name
    Specification Reference:
    RFC 5545 p.103-4
    -
    -
    -
    - -

    -addTimezoneName

    -
    -public TimezoneName addTimezoneName(String timezoneName)
    -
    -
    Adds a traditional, non-standard name for the timezone observance. -

    -

    -
    Parameters:
    timezoneName - the timezone observance name (e.g. "EST") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.103-4
    -
    -
    -
    - -

    -getExceptionDates

    -
    -public List<ExceptionDates> getExceptionDates()
    -
    -
    Gets the list of exceptions to the timezone observance. -

    -

    - -
    Returns:
    the list of exceptions
    Specification Reference:
    RFC 5545 p.118-20
    -
    -
    -
    - -

    -addExceptionDates

    -
    -public void addExceptionDates(ExceptionDates exceptionDates)
    -
    -
    Adds a list of exceptions to the timezone observance. Note that this - property can contain multiple dates. -

    -

    -
    Parameters:
    exceptionDates - the list of exceptions
    Specification Reference:
    RFC 5545 p.118-20
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalComponent
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Overrides:
    validate in class ICalComponent
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/RawComponent.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/RawComponent.html deleted file mode 100644 index c95f18fb..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/RawComponent.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - -RawComponent (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class RawComponent

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.RawComponent
    -
    -
    -
    -
    public class RawComponent
    extends ICalComponent
    - - -

    -A component that does not have a marshaller associated with it. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    RawComponent(String name) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetName() - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RawComponent

    -
    -public RawComponent(String name)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getName

    -
    -public String getName()
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/StandardTime.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/StandardTime.html deleted file mode 100644 index fbd13d84..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/StandardTime.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - -StandardTime (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class StandardTime

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.Observance
    -          extended by biweekly.component.StandardTime
    -
    -
    -
    -
    public class StandardTime
    extends Observance
    - - -

    -

    - Defines a standard time range within a VTimezone. -

    -

    - Examples: - -

    - VTimezone timezone = new VTimezone("Eastern Standard Time");
    - StandardTime standard = new StandardTime();
    - DateTimeComponents components = new DateTimeComponents(1998, 10, 25, 2, 0, 0, false);
    - standard.setDateStart(components);
    - standard.setTimezoneOffsetFrom(-4, 0);
    - standard.setTimezoneOffsetTo(-5, 0);
    - timezone.addStandardTime(standard);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.62-71
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    StandardTime() - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.component.Observance
    addComment, addComment, addExceptionDates, addRecurrenceDates, addTimezoneName, addTimezoneName, getComments, getDateStart, getExceptionDates, getRecurrenceDates, getRecurrenceRule, getTimezoneNames, getTimezoneOffsetFrom, getTimezoneOffsetTo, setDateStart, setDateStart, setRecurrenceRule, setRecurrenceRule, setTimezoneOffsetFrom, setTimezoneOffsetFrom, setTimezoneOffsetTo, setTimezoneOffsetTo, validate
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -StandardTime

    -
    -public StandardTime()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/VAlarm.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/VAlarm.html deleted file mode 100644 index d83b3764..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/VAlarm.html +++ /dev/null @@ -1,994 +0,0 @@ - - - - - - - -VAlarm (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class VAlarm

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.VAlarm
    -
    -
    -
    -
    public class VAlarm
    extends ICalComponent
    - - -

    -

    - Defines a reminder for an event or to-do task. This class contains static - factory methods to aid in the construction of valid alarms. -

    - -

    - Examples: - -

    - //audio alarm
    - Trigger trigger = ...
    - Attachment sound = ...
    - VAlarm audio = VAlarm.audio(trigger, sound);
    - 
    - //display alarm
    - Trigger trigger = ...
    - String message = "Meeting at 1pm";
    - VAlarm display = VAlarm.display(trigger, message);
    - 
    - //email alarm
    - Trigger trigger = ...
    - String subject = "Reminder: Meeting at 1pm";
    - String body = "Team,\n\nThe team meeting scheduled for 1pm is about to start.  Snacks will be served!\n\nThanks,\nJohn";
    - List<String> to = Arrays.asList("janedoe@example.com", "bobsmith@example.com");
    - VAlarm email = VAlarm.email(trigger, subject, body, to);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.71-6
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    VAlarm(Action action, - Trigger trigger) - -
    -          Creates a new alarm.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddAttachment(Attachment attachment) - -
    -          Adds an attachment to the alarm.
    - voidaddAttendee(Attendee attendee) - -
    -          Adds a person who will be emailed when the alarm fires (only applicable - for EMAIL alarms).
    -static VAlarmaudio(Trigger trigger) - -
    -          Creates an audio alarm.
    -static VAlarmaudio(Trigger trigger, - Attachment sound) - -
    -          Creates an audio alarm.
    -static VAlarmdisplay(Trigger trigger, - String displayText) - -
    -          Creates a display alarm.
    -static VAlarmemail(Trigger trigger, - String subject, - String body, - List<String> recipients) - -
    -          Creates an email alarm.
    -static VAlarmemail(Trigger trigger, - String subject, - String body, - String... recipients) - -
    -          Creates an email alarm.
    - ActiongetAction() - -
    -          Gets the type of action to invoke when the alarm is triggered.
    - List<Attachment>getAttachments() - -
    -          Gets any attachments that are associated with the alarm.
    - List<Attendee>getAttendees() - -
    -          Gets the people who will be emailed when the alarm fires (only applicable - for EMAIL alarms).
    - DescriptiongetDescription() - -
    -           - Gets a detailed description of the alarm.
    - DurationPropertygetDuration() - -
    -          Gets the length of the pause between alarm repetitions.
    - RepeatgetRepeat() - -
    -          Gets the number of times an alarm should be repeated after its initial - trigger.
    - SummarygetSummary() - -
    -           - Gets the summary of the alarm.
    - TriggergetTrigger() - -
    -          Gets when the alarm will be triggered.
    - voidsetAction(Action action) - -
    -          Sets the type of action to invoke when the alarm is triggered.
    - voidsetDescription(Description description) - -
    -           - Sets a detailed description of the alarm.
    - DescriptionsetDescription(String description) - -
    -           - Sets a detailed description of the alarm.
    - DurationPropertysetDuration(Duration duration) - -
    -          Sets the length of the pause between alarm repetitions.
    - voidsetDuration(DurationProperty duration) - -
    -          Sets the length of the pause between alarm repetitions.
    - voidsetRepeat(int count, - Duration pauseDuration) - -
    -          Sets the repetition information for the alarm.
    - RepeatsetRepeat(Integer count) - -
    -          Sets the number of times an alarm should be repeated after its initial - trigger.
    - voidsetRepeat(Repeat repeat) - -
    -          Sets the number of times an alarm should be repeated after its initial - trigger.
    - SummarysetSummary(String summary) - -
    -           - Sets the summary of the alarm.
    - voidsetSummary(Summary summary) - -
    -           - Sets the summary of the alarm.
    - voidsetTrigger(Trigger trigger) - -
    -          Sets when the alarm will be triggered.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VAlarm

    -
    -public VAlarm(Action action,
    -              Trigger trigger)
    -
    -
    Creates a new alarm. Consider using one of the static factory methods - instead. -

    -

    -
    Parameters:
    action - the alarm action (e.g. "email")
    trigger - the trigger
    -
    - - - - - - - - -
    -Method Detail
    - -

    -audio

    -
    -public static VAlarm audio(Trigger trigger)
    -
    -
    Creates an audio alarm. -

    -

    -
    Parameters:
    trigger - the trigger -
    Returns:
    the alarm
    -
    -
    -
    - -

    -audio

    -
    -public static VAlarm audio(Trigger trigger,
    -                           Attachment sound)
    -
    -
    Creates an audio alarm. -

    -

    -
    Parameters:
    trigger - the trigger
    sound - a sound to play when the alarm triggers -
    Returns:
    the alarm
    -
    -
    -
    - -

    -display

    -
    -public static VAlarm display(Trigger trigger,
    -                             String displayText)
    -
    -
    Creates a display alarm. -

    -

    -
    Parameters:
    trigger - the trigger
    displayText - the display text -
    Returns:
    the alarm
    -
    -
    -
    - -

    -email

    -
    -public static VAlarm email(Trigger trigger,
    -                           String subject,
    -                           String body,
    -                           String... recipients)
    -
    -
    Creates an email alarm. -

    -

    -
    Parameters:
    trigger - the trigger
    subject - the email subject
    body - the email body
    recipients - the email address(es) to send the alert to -
    Returns:
    the alarm
    -
    -
    -
    - -

    -email

    -
    -public static VAlarm email(Trigger trigger,
    -                           String subject,
    -                           String body,
    -                           List<String> recipients)
    -
    -
    Creates an email alarm. -

    -

    -
    Parameters:
    trigger - the trigger
    subject - the email subject
    body - the email body
    recipients - the email address(es) to send the alert to -
    Returns:
    the alarm
    -
    -
    -
    - -

    -getAttachments

    -
    -public List<Attachment> getAttachments()
    -
    -
    Gets any attachments that are associated with the alarm. -

    -

    - -
    Returns:
    the attachments
    Specification Reference:
    RFC 5545 p.80-1
    -
    -
    -
    - -

    -addAttachment

    -
    -public void addAttachment(Attachment attachment)
    -
    -
    Adds an attachment to the alarm. Note that AUDIO alarms should only have - 1 attachment. -

    -

    -
    Parameters:
    attachment - the attachment to add
    Specification Reference:
    RFC 5545 p.80-1
    -
    -
    -
    - -

    -getDescription

    -
    -public Description getDescription()
    -
    -

    - Gets a detailed description of the alarm. The description should be more - detailed than the one provided by the Summary property. -

    -

    - This property has different meanings, depending on the alarm action: -

      -
    • DISPLAY - the display text
    • -
    • EMAIL - the body of the email message
    • -
    • all others - a general description of the alarm
    • -
    -

    -

    -

    - -
    Returns:
    the description or null if not set
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -setDescription

    -
    -public void setDescription(Description description)
    -
    -

    - Sets a detailed description of the alarm. The description should be more - detailed than the one provided by the Summary property. -

    -

    - This property has different meanings, depending on the alarm action: -

      -
    • DISPLAY - the display text
    • -
    • EMAIL - the body of the email message
    • -
    • all others - a general description of the alarm
    • -
    -

    -

    -

    -
    Parameters:
    description - the description or null to remove
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -setDescription

    -
    -public Description setDescription(String description)
    -
    -

    - Sets a detailed description of the alarm. The description should be more - detailed than the one provided by the Summary property. -

    -

    - This property has different meanings, depending on the alarm action: -

      -
    • DISPLAY - the display text
    • -
    • EMAIL - the body of the email message
    • -
    • all others - a general description of the alarm
    • -
    -

    -

    -

    -
    Parameters:
    description - the description or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -getSummary

    -
    -public Summary getSummary()
    -
    -

    - Gets the summary of the alarm. -

    -

    - This property has different meanings, depending on the alarm action: -

      -
    • EMAIL - the subject line of the email
    • -
    • all others - a one-line summary of the alarm
    • -
    -

    -

    -

    - -
    Returns:
    the summary or null if not set
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -setSummary

    -
    -public void setSummary(Summary summary)
    -
    -

    - Sets the summary of the alarm. -

    -

    - This property has different meanings, depending on the alarm action: -

      -
    • EMAIL - the subject line of the email
    • -
    • all others - a one-line summary of the alarm
    • -
    -

    -

    -

    -
    Parameters:
    summary - the summary or null to remove
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -setSummary

    -
    -public Summary setSummary(String summary)
    -
    -

    - Sets the summary of the alarm. -

    -

    - This property has different meanings, depending on the alarm action: -

      -
    • EMAIL - the subject line of the email
    • -
    • all others - a one-line summary of the alarm
    • -
    -

    -

    -

    -
    Parameters:
    summary - the summary or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -getAttendees

    -
    -public List<Attendee> getAttendees()
    -
    -
    Gets the people who will be emailed when the alarm fires (only applicable - for EMAIL alarms). -

    -

    - -
    Returns:
    the email recipients
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -addAttendee

    -
    -public void addAttendee(Attendee attendee)
    -
    -
    Adds a person who will be emailed when the alarm fires (only applicable - for EMAIL alarms). -

    -

    -
    Parameters:
    attendee - the email recipient
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -getAction

    -
    -public Action getAction()
    -
    -
    Gets the type of action to invoke when the alarm is triggered. -

    -

    - -
    Returns:
    the action or null if not set
    Specification Reference:
    RFC 5545 p.132-3
    -
    -
    -
    - -

    -setAction

    -
    -public void setAction(Action action)
    -
    -
    Sets the type of action to invoke when the alarm is triggered. -

    -

    -
    Parameters:
    action - the action or null to remove
    Specification Reference:
    RFC 5545 p.132-3
    -
    -
    -
    - -

    -getDuration

    -
    -public DurationProperty getDuration()
    -
    -
    Gets the length of the pause between alarm repetitions. -

    -

    - -
    Returns:
    the duration or null if not set
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -setDuration

    -
    -public void setDuration(DurationProperty duration)
    -
    -
    Sets the length of the pause between alarm repetitions. -

    -

    -
    Parameters:
    duration - the duration or null to remove
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -setDuration

    -
    -public DurationProperty setDuration(Duration duration)
    -
    -
    Sets the length of the pause between alarm repetitions. -

    -

    -
    Parameters:
    duration - the duration or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -getRepeat

    -
    -public Repeat getRepeat()
    -
    -
    Gets the number of times an alarm should be repeated after its initial - trigger. -

    -

    - -
    Returns:
    the repeat count or null if not set
    Specification Reference:
    RFC 5545 p.133
    -
    -
    -
    - -

    -setRepeat

    -
    -public void setRepeat(Repeat repeat)
    -
    -
    Sets the number of times an alarm should be repeated after its initial - trigger. -

    -

    -
    Parameters:
    repeat - the repeat count or null to remove
    Specification Reference:
    RFC 5545 p.133
    -
    -
    -
    - -

    -setRepeat

    -
    -public Repeat setRepeat(Integer count)
    -
    -
    Sets the number of times an alarm should be repeated after its initial - trigger. -

    -

    -
    Parameters:
    count - the repeat count (e.g. "2" to repeat it two more times after - it was initially triggered, for a total of three times) or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.133
    -
    -
    -
    - -

    -setRepeat

    -
    -public void setRepeat(int count,
    -                      Duration pauseDuration)
    -
    -
    Sets the repetition information for the alarm. -

    -

    -
    Parameters:
    count - the repeat count (e.g. "2" to repeat it two more times after - it was initially triggered, for a total of three times)
    pauseDuration - the length of the pause between repeats
    Specification Reference:
    RFC 5545 p.133
    -
    -
    -
    - -

    -getTrigger

    -
    -public Trigger getTrigger()
    -
    -
    Gets when the alarm will be triggered. -

    -

    - -
    Returns:
    the trigger time or null if not set
    Specification Reference:
    RFC 5545 p.133-6
    -
    -
    -
    - -

    -setTrigger

    -
    -public void setTrigger(Trigger trigger)
    -
    -
    Sets when the alarm will be triggered. -

    -

    -
    Parameters:
    trigger - the trigger time or null to remove
    Specification Reference:
    RFC 5545 p.133-6
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalComponent
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Overrides:
    validate in class ICalComponent
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/VEvent.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/VEvent.html deleted file mode 100644 index 5864df8a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/VEvent.html +++ /dev/null @@ -1,2430 +0,0 @@ - - - - - - - -VEvent (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class VEvent

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.VEvent
    -
    -
    -
    -
    public class VEvent
    extends ICalComponent
    - - -

    -

    - Defines a scheduled activity, such as a meeting that's two hours long. -

    -

    - Examples: - -

    - VEvent event = new VEvent();
    - Date start = ...
    - event.setDateStart(start);
    - Date end = ...
    - event.setDateEnd(end);
    - event.setSummary("Team Meeting");
    - event.setLocation("Room 21C");
    - event.setCreated(new Date());
    - event.setRecurrenceRule(new Recurrence.Builder(Frequency.WEEKLY).build());
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.52-5
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    VEvent() - -
    -           - Creates a new event.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddAlarm(VAlarm alarm) - -
    -          Adds an alarm to this event.
    - voidaddAttachment(Attachment attachment) - -
    -          Adds an attachment to the event.
    - voidaddAttendee(Attendee attendee) - -
    -          Adds a person who is attending the event.
    - AttendeeaddAttendee(String email) - -
    -          Adds a person who is attending the event.
    - voidaddCategories(Categories categories) - -
    -          Adds a list of "tags" or "keywords" that describe the event.
    - CategoriesaddCategories(List<String> categories) - -
    -          Adds a list of "tags" or "keywords" that describe the event.
    - CategoriesaddCategories(String... categories) - -
    -          Adds a list of "tags" or "keywords" that describe the event.
    - voidaddComment(Comment comment) - -
    -          Adds a comment to the event.
    - CommentaddComment(String comment) - -
    -          Adds a comment to the event.
    - voidaddContact(Contact contact) - -
    -          Adds a contact to the event.
    - ContactaddContact(String contact) - -
    -          Adds a contact to the event.
    - voidaddExceptionDates(ExceptionDates exceptionDates) - -
    -          Adds a list of exceptions to the recurrence rule defined in the event (if - one is defined).
    - voidaddExceptionRule(ExceptionRule exceptionRule) - -
    -           - Adds an exception for the RecurrenceRule property.
    - ExceptionRuleaddExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    - voidaddRecurrenceDates(RecurrenceDates recurrenceDates) - -
    -          Adds a list of dates/periods that help define the recurrence rule of this - event (if one is defined).
    - voidaddRelatedTo(RelatedTo relatedTo) - -
    -          Adds a component that the event is related to.
    - RelatedToaddRelatedTo(String uid) - -
    -          Adds a component that the event is related to.
    - ResourcesaddResources(List<String> resources) - -
    -          Adds a list of resources that are needed for the event.
    - voidaddResources(Resources resources) - -
    -          Adds a list of resources that are needed for the event.
    - ResourcesaddResources(String... resources) - -
    -          Adds a list of resources that are needed for the event.
    - List<VAlarm>getAlarms() - -
    -          Gets the alarms that are assigned to this event.
    - List<Attachment>getAttachments() - -
    -          Gets any attachments that are associated with the event.
    - List<Attendee>getAttendees() - -
    -          Gets the people who are attending the event.
    - List<Categories>getCategories() - -
    -          Gets a list of "tags" or "keywords" that describe the event.
    - ClassificationgetClassification() - -
    -          Gets the level of sensitivity of the event data.
    - List<Comment>getComments() - -
    -          Gets the comments attached to the event.
    - List<Contact>getContacts() - -
    -          Gets the contacts associated with the event.
    - CreatedgetCreated() - -
    -          Gets the date-time that the event was initially created.
    - DateEndgetDateEnd() - -
    -          Gets the date that the event ends.
    - DateStartgetDateStart() - -
    -          Gets the date that the event starts.
    - DateTimeStampgetDateTimeStamp() - -
    -          Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information).
    - DescriptiongetDescription() - -
    -          Gets a detailed description of the event.
    - DurationPropertygetDuration() - -
    -          Gets the duration of the event.
    - List<ExceptionDates>getExceptionDates() - -
    -          Gets the list of exceptions to the recurrence rule defined in the event - (if one is defined).
    - List<ExceptionRule>getExceptionRules() - -
    -           - Gets the exceptions for the RecurrenceRule property.
    - GeogetGeo() - -
    -          Gets a set of geographical coordinates.
    - LastModifiedgetLastModified() - -
    -          Gets the date-time that the event was last changed.
    - LocationgetLocation() - -
    -          Gets the physical location of the event.
    - OrganizergetOrganizer() - -
    -          Gets the organizer of the event.
    - PrioritygetPriority() - -
    -          Gets the priority of the event.
    - List<RecurrenceDates>getRecurrenceDates() - -
    -          Gets the list of dates/periods that help define the recurrence rule of - this event (if one is defined).
    - RecurrenceIdgetRecurrenceId() - -
    -          Gets the original value of the DateStart property if the event is - recurring and has been modified.
    - RecurrenceRulegetRecurrenceRule() - -
    -          Gets how often the event repeats.
    - List<RelatedTo>getRelatedTo() - -
    -          Gets the components that the event is related to.
    - RequestStatusgetRequestStatus() - -
    -          Gets the response to a scheduling request.
    - List<Resources>getResources() - -
    -          Gets the resources that are needed for the event.
    - SequencegetSequence() - -
    -          Gets the revision number of the event.
    - StatusgetStatus() - -
    -          Gets the status of the event.
    - SummarygetSummary() - -
    -          Gets the summary of the event.
    - TransparencygetTransparency() - -
    -          Gets whether an event is visible to free/busy time searches.
    - UidgetUid() - -
    -          Gets the unique identifier for this event.
    - UrlgetUrl() - -
    -          Gets a URL to a resource that contains additional information about the - event.
    - voidincrementSequence() - -
    -          Increments the revision number of the event.
    - voidsetClassification(Classification classification) - -
    -          Sets the level of sensitivity of the event data.
    - ClassificationsetClassification(String classification) - -
    -          Sets the level of sensitivity of the event data.
    - voidsetCreated(Created created) - -
    -          Sets the date-time that the event was initially created.
    - CreatedsetCreated(Date created) - -
    -          Sets the date-time that the event was initially created.
    - DateEndsetDateEnd(Date dateEnd) - -
    -          Sets the date that the event ends.
    - voidsetDateEnd(DateEnd dateEnd) - -
    -          Sets the date that the event ends.
    - DateStartsetDateStart(Date dateStart) - -
    -          Sets the date that the event starts (required if no Method - property is defined).
    - voidsetDateStart(DateStart dateStart) - -
    -          Sets the date that the event starts (required if no Method - property is defined).
    - DateTimeStampsetDateTimeStamp(Date dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information).
    - voidsetDateTimeStamp(DateTimeStamp dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information).
    - voidsetDescription(Description description) - -
    -          Sets a detailed description of the event.
    - DescriptionsetDescription(String description) - -
    -          Sets a detailed description of the event.
    - DurationPropertysetDuration(Duration duration) - -
    -          Sets the duration of the event.
    - voidsetDuration(DurationProperty duration) - -
    -          Sets the duration of the event.
    - voidsetGeo(Geo geo) - -
    -          Sets a set of geographical coordinates.
    - LastModifiedsetLastModified(Date lastModified) - -
    -          Sets the date-time that the event was last changed.
    - voidsetLastModified(LastModified lastModified) - -
    -          Sets the date-time that event was last changed.
    - voidsetLocation(Location location) - -
    -          Sets the physical location of the event.
    - LocationsetLocation(String location) - -
    -          Sets the physical location of the event.
    - voidsetOrganizer(Organizer organizer) - -
    -          Sets the organizer of the event.
    - OrganizersetOrganizer(String email) - -
    -          Sets the organizer of the event.
    - PrioritysetPriority(Integer priority) - -
    -          Sets the priority of the event.
    - voidsetPriority(Priority priority) - -
    -          Sets the priority of the event.
    - RecurrenceIdsetRecurrenceId(Date originalStartDate) - -
    -          Sets the original value of the DateStart property if the event is - recurring and has been modified.
    - voidsetRecurrenceId(RecurrenceId recurrenceId) - -
    -          Sets the original value of the DateStart property if the event is - recurring and has been modified.
    - RecurrenceRulesetRecurrenceRule(Recurrence recur) - -
    -          Sets how often the event repeats.
    - voidsetRecurrenceRule(RecurrenceRule recurrenceRule) - -
    -          Sets how often the event repeats.
    - voidsetRequestStatus(RequestStatus requestStatus) - -
    -          Sets the response to a scheduling request.
    - SequencesetSequence(Integer sequence) - -
    -          Sets the revision number of the event.
    - voidsetSequence(Sequence sequence) - -
    -          Sets the revision number of the event.
    - voidsetStatus(Status status) - -
    -          Sets the status of the event.
    - SummarysetSummary(String summary) - -
    -          Sets the summary of the event.
    - voidsetSummary(Summary summary) - -
    -          Sets the summary of the event.
    - TransparencysetTransparency(Boolean transparent) - -
    -          Sets whether an event is visible to free/busy time searches.
    - voidsetTransparency(Transparency transparency) - -
    -          Sets whether an event is visible to free/busy time searches.
    - UidsetUid(String uid) - -
    -          Sets the unique identifier for this event.
    - voidsetUid(Uid uid) - -
    -          Sets the unique identifier for this event.
    - UrlsetUrl(String url) - -
    -          Sets a URL to a resource that contains additional information about the - event.
    - voidsetUrl(Url url) - -
    -          Sets a URL to a resource that contains additional information about the - event.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VEvent

    -
    -public VEvent()
    -
    -

    - Creates a new event. -

    -

    - The following properties are auto-generated on object creation. These - properties must be present in order for the event to be valid: -

    -

    -

    -

    - - - - - - - - -
    -Method Detail
    - -

    -getUid

    -
    -public Uid getUid()
    -
    -
    Gets the unique identifier for this event. This component object comes - populated with a UID on creation. This is a required property. -

    -

    - -
    Returns:
    the UID or null if not set
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -setUid

    -
    -public void setUid(Uid uid)
    -
    -
    Sets the unique identifier for this event. This component object comes - populated with a UID on creation. This is a required property. -

    -

    -
    Parameters:
    uid - the UID or null to remove
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -setUid

    -
    -public Uid setUid(String uid)
    -
    -
    Sets the unique identifier for this event. This component object comes - populated with a UID on creation. This is a required property. -

    -

    -
    Parameters:
    uid - the UID or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -getDateTimeStamp

    -
    -public DateTimeStamp getDateTimeStamp()
    -
    -
    Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information). This event object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    - -
    Returns:
    the date time stamp or null if not set
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -setDateTimeStamp

    -
    -public void setDateTimeStamp(DateTimeStamp dateTimeStamp)
    -
    -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information). This event object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    -
    Parameters:
    dateTimeStamp - the date time stamp or null to remove
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -setDateTimeStamp

    -
    -public DateTimeStamp setDateTimeStamp(Date dateTimeStamp)
    -
    -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information). This event object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    -
    Parameters:
    dateTimeStamp - the date time stamp or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -getDateStart

    -
    -public DateStart getDateStart()
    -
    -
    Gets the date that the event starts. -

    -

    - -
    Returns:
    the start date or null if not set
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public void setDateStart(DateStart dateStart)
    -
    -
    Sets the date that the event starts (required if no Method - property is defined). -

    -

    -
    Parameters:
    dateStart - the start date or null to remove
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public DateStart setDateStart(Date dateStart)
    -
    -
    Sets the date that the event starts (required if no Method - property is defined). -

    -

    -
    Parameters:
    dateStart - the start date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -getClassification

    -
    -public Classification getClassification()
    -
    -
    Gets the level of sensitivity of the event data. If not specified, the - data within the event should be considered "public". -

    -

    - -
    Returns:
    the classification level or null if not set
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -setClassification

    -
    -public void setClassification(Classification classification)
    -
    -
    Sets the level of sensitivity of the event data. If not specified, the - data within the event should be considered "public". -

    -

    -
    Parameters:
    classification - the classification level or null to remove
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -setClassification

    -
    -public Classification setClassification(String classification)
    -
    -
    Sets the level of sensitivity of the event data. If not specified, the - data within the event should be considered "public". -

    -

    -
    Parameters:
    classification - the classification level (e.g. "CONFIDENTIAL") or - null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -getDescription

    -
    -public Description getDescription()
    -
    -
    Gets a detailed description of the event. The description should be more - detailed than the one provided by the Summary property. -

    -

    - -
    Returns:
    the description or null if not set
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -setDescription

    -
    -public void setDescription(Description description)
    -
    -
    Sets a detailed description of the event. The description should be more - detailed than the one provided by the Summary property. -

    -

    -
    Parameters:
    description - the description or null to remove
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -setDescription

    -
    -public Description setDescription(String description)
    -
    -
    Sets a detailed description of the event. The description should be more - detailed than the one provided by the Summary property. -

    -

    -
    Parameters:
    description - the description or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -getGeo

    -
    -public Geo getGeo()
    -
    -
    Gets a set of geographical coordinates. -

    -

    - -
    Returns:
    the geographical coordinates or null if not set
    Specification Reference:
    RFC 5545 p.85-7
    -
    -
    -
    - -

    -setGeo

    -
    -public void setGeo(Geo geo)
    -
    -
    Sets a set of geographical coordinates. -

    -

    -
    Parameters:
    geo - the geographical coordinates or null to remove
    Specification Reference:
    RFC 5545 p.85-7
    -
    -
    -
    - -

    -getLocation

    -
    -public Location getLocation()
    -
    -
    Gets the physical location of the event. -

    -

    - -
    Returns:
    the location or null if not set
    Specification Reference:
    RFC 5545 p.87-8
    -
    -
    -
    - -

    -setLocation

    -
    -public void setLocation(Location location)
    -
    -
    Sets the physical location of the event. -

    -

    -
    Parameters:
    location - the location or null to remove
    Specification Reference:
    RFC 5545 p.87-8
    -
    -
    -
    - -

    -setLocation

    -
    -public Location setLocation(String location)
    -
    -
    Sets the physical location of the event. -

    -

    -
    Parameters:
    location - the location (e.g. "Room 101") or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.87-8
    -
    -
    -
    - -

    -getPriority

    -
    -public Priority getPriority()
    -
    -
    Gets the priority of the event. -

    -

    - -
    Returns:
    the priority or null if not set
    Specification Reference:
    RFC 5545 p.89-90
    -
    -
    -
    - -

    -setPriority

    -
    -public void setPriority(Priority priority)
    -
    -
    Sets the priority of the event. -

    -

    -
    Parameters:
    priority - the priority or null to remove
    Specification Reference:
    RFC 5545 p.89-90
    -
    -
    -
    - -

    -setPriority

    -
    -public Priority setPriority(Integer priority)
    -
    -
    Sets the priority of the event. -

    -

    -
    Parameters:
    priority - the priority ("0" is undefined, "1" is the highest, "9" - is the lowest) or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.89-90
    -
    -
    -
    - -

    -getStatus

    -
    -public Status getStatus()
    -
    -
    Gets the status of the event. -

    -

    - -
    Returns:
    the status or null if not set
    Specification Reference:
    RFC 5545 p.92-3
    -
    -
    -
    - -

    -setStatus

    -
    -public void setStatus(Status status)
    -
    -
    Sets the status of the event. -

    - Valid event status codes are: -

      -
    • TENTATIVE
    • -
    • CONFIRMED
    • -
    • CANCELLED
    • -
    -

    -

    -

    -
    Parameters:
    status - the status or null to remove
    Specification Reference:
    RFC 5545 p.92-3
    -
    -
    -
    - -

    -getSummary

    -
    -public Summary getSummary()
    -
    -
    Gets the summary of the event. -

    -

    - -
    Returns:
    the summary or null if not set
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -setSummary

    -
    -public void setSummary(Summary summary)
    -
    -
    Sets the summary of the event. -

    -

    -
    Parameters:
    summary - the summary or null to remove
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -setSummary

    -
    -public Summary setSummary(String summary)
    -
    -
    Sets the summary of the event. -

    -

    -
    Parameters:
    summary - the summary or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -getTransparency

    -
    -public Transparency getTransparency()
    -
    -
    Gets whether an event is visible to free/busy time searches. If the event - does not have this property, it should be considered visible ("opaque"). -

    -

    - -
    Returns:
    the transparency or null if not set
    Specification Reference:
    RFC 5545 p.101-2
    -
    -
    -
    - -

    -setTransparency

    -
    -public void setTransparency(Transparency transparency)
    -
    -
    Sets whether an event is visible to free/busy time searches. -

    -

    -
    Parameters:
    transparency - the transparency or null to remove
    Specification Reference:
    RFC 5545 p.101-2
    -
    -
    -
    - -

    -setTransparency

    -
    -public Transparency setTransparency(Boolean transparent)
    -
    -
    Sets whether an event is visible to free/busy time searches. -

    -

    -
    Parameters:
    transparent - true to hide the event, false to make it visible it, - or null to remove the property -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.101-2
    -
    -
    -
    - -

    -getOrganizer

    -
    -public Organizer getOrganizer()
    -
    -
    Gets the organizer of the event. -

    -

    - -
    Returns:
    the organizer or null if not set
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -setOrganizer

    -
    -public void setOrganizer(Organizer organizer)
    -
    -
    Sets the organizer of the event. -

    -

    -
    Parameters:
    organizer - the organizer or null to remove
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -setOrganizer

    -
    -public Organizer setOrganizer(String email)
    -
    -
    Sets the organizer of the event. -

    -

    -
    Parameters:
    email - the organizer's email address (e.g. "johndoe@example.com") - or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -getRecurrenceId

    -
    -public RecurrenceId getRecurrenceId()
    -
    -
    Gets the original value of the DateStart property if the event is - recurring and has been modified. Used in conjunction with the Uid - and Sequence properties to uniquely identify a recurrence - instance. -

    -

    - -
    Returns:
    the recurrence ID or null if not set
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -setRecurrenceId

    -
    -public void setRecurrenceId(RecurrenceId recurrenceId)
    -
    -
    Sets the original value of the DateStart property if the event is - recurring and has been modified. Used in conjunction with the Uid - and Sequence properties to uniquely identify a recurrence - instance. -

    -

    -
    Parameters:
    recurrenceId - the recurrence ID or null to remove
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -setRecurrenceId

    -
    -public RecurrenceId setRecurrenceId(Date originalStartDate)
    -
    -
    Sets the original value of the DateStart property if the event is - recurring and has been modified. Used in conjunction with the Uid - and Sequence properties to uniquely identify a recurrence - instance. -

    -

    -
    Parameters:
    originalStartDate - the original start date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -getUrl

    -
    -public Url getUrl()
    -
    -
    Gets a URL to a resource that contains additional information about the - event. -

    -

    - -
    Returns:
    the URL or null if not set
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -setUrl

    -
    -public void setUrl(Url url)
    -
    -
    Sets a URL to a resource that contains additional information about the - event. -

    -

    -
    Parameters:
    url - the URL or null to remove
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -setUrl

    -
    -public Url setUrl(String url)
    -
    -
    Sets a URL to a resource that contains additional information about the - event. -

    -

    -
    Parameters:
    url - the URL (e.g. "http://example.com/resource.ics") or null to - remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -getRecurrenceRule

    -
    -public RecurrenceRule getRecurrenceRule()
    -
    -
    Gets how often the event repeats. -

    -

    - -
    Returns:
    the recurrence rule or null if not set
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -setRecurrenceRule

    -
    -public RecurrenceRule setRecurrenceRule(Recurrence recur)
    -
    -
    Sets how often the event repeats. -

    -

    -
    Parameters:
    recur - the recurrence rule or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -setRecurrenceRule

    -
    -public void setRecurrenceRule(RecurrenceRule recurrenceRule)
    -
    -
    Sets how often the event repeats. -

    -

    -
    Parameters:
    recurrenceRule - the recurrence rule or null to remove
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -getDateEnd

    -
    -public DateEnd getDateEnd()
    -
    -
    Gets the date that the event ends. -

    -

    - -
    Returns:
    the end date or null if not set
    Specification Reference:
    RFC 5545 p.95-6
    -
    -
    -
    - -

    -setDateEnd

    -
    -public void setDateEnd(DateEnd dateEnd)
    -
    -
    Sets the date that the event ends. This must NOT be set if a - DurationProperty is defined. -

    -

    -
    Parameters:
    dateEnd - the end date or null to remove
    Specification Reference:
    RFC 5545 p.95-6
    -
    -
    -
    - -

    -setDateEnd

    -
    -public DateEnd setDateEnd(Date dateEnd)
    -
    -
    Sets the date that the event ends. This must NOT be set if a - DurationProperty is defined. -

    -

    -
    Parameters:
    dateEnd - the end date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.95-6
    -
    -
    -
    - -

    -getDuration

    -
    -public DurationProperty getDuration()
    -
    -
    Gets the duration of the event. -

    -

    - -
    Returns:
    the duration or null if not set
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -setDuration

    -
    -public void setDuration(DurationProperty duration)
    -
    -
    Sets the duration of the event. This must NOT be set if a DateEnd - is defined. -

    -

    -
    Parameters:
    duration - the duration or null to remove
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -setDuration

    -
    -public DurationProperty setDuration(Duration duration)
    -
    -
    Sets the duration of the event. This must NOT be set if a DateEnd - is defined. -

    -

    -
    Parameters:
    duration - the duration or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -getCreated

    -
    -public Created getCreated()
    -
    -
    Gets the date-time that the event was initially created. -

    -

    - -
    Returns:
    the creation date-time or null if not set
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -setCreated

    -
    -public void setCreated(Created created)
    -
    -
    Sets the date-time that the event was initially created. -

    -

    -
    Parameters:
    created - the creation date-time or null to remove
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -setCreated

    -
    -public Created setCreated(Date created)
    -
    -
    Sets the date-time that the event was initially created. -

    -

    -
    Parameters:
    created - the creation date-time or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -getLastModified

    -
    -public LastModified getLastModified()
    -
    -
    Gets the date-time that the event was last changed. -

    -

    - -
    Returns:
    the last modified date or null if not set
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -setLastModified

    -
    -public void setLastModified(LastModified lastModified)
    -
    -
    Sets the date-time that event was last changed. -

    -

    -
    Parameters:
    lastModified - the last modified date or null to remove
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -setLastModified

    -
    -public LastModified setLastModified(Date lastModified)
    -
    -
    Sets the date-time that the event was last changed. -

    -

    -
    Parameters:
    lastModified - the last modified date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -getSequence

    -
    -public Sequence getSequence()
    -
    -
    Gets the revision number of the event. The organizer can increment this - number every time he or she makes a significant change. -

    -

    - -
    Returns:
    the sequence number
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -setSequence

    -
    -public void setSequence(Sequence sequence)
    -
    -
    Sets the revision number of the event. The organizer can increment this - number every time he or she makes a significant change. -

    -

    -
    Parameters:
    sequence - the sequence number
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -setSequence

    -
    -public Sequence setSequence(Integer sequence)
    -
    -
    Sets the revision number of the event. The organizer can increment this - number every time he or she makes a significant change. -

    -

    -
    Parameters:
    sequence - the sequence number -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -incrementSequence

    -
    -public void incrementSequence()
    -
    -
    Increments the revision number of the event. The organizer can increment - this number every time he or she makes a significant change. -

    -

    -
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -getAttachments

    -
    -public List<Attachment> getAttachments()
    -
    -
    Gets any attachments that are associated with the event. -

    -

    - -
    Returns:
    the attachments
    Specification Reference:
    RFC 5545 p.80-1
    -
    -
    -
    - -

    -addAttachment

    -
    -public void addAttachment(Attachment attachment)
    -
    -
    Adds an attachment to the event. -

    -

    -
    Parameters:
    attachment - the attachment to add
    Specification Reference:
    RFC 5545 p.80-1
    -
    -
    -
    - -

    -getAttendees

    -
    -public List<Attendee> getAttendees()
    -
    -
    Gets the people who are attending the event. -

    -

    - -
    Returns:
    the attendees
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -addAttendee

    -
    -public void addAttendee(Attendee attendee)
    -
    -
    Adds a person who is attending the event. -

    -

    -
    Parameters:
    attendee - the attendee
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -addAttendee

    -
    -public Attendee addAttendee(String email)
    -
    -
    Adds a person who is attending the event. -

    -

    -
    Parameters:
    email - the attendee's email address -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -getCategories

    -
    -public List<Categories> getCategories()
    -
    -
    Gets a list of "tags" or "keywords" that describe the event. -

    -

    - -
    Returns:
    the categories
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public void addCategories(Categories categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the event. Note that a - single property can hold multiple keywords. -

    -

    -
    Parameters:
    categories - the categories to add
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public Categories addCategories(String... categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the event. -

    -

    -
    Parameters:
    categories - the categories to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public Categories addCategories(List<String> categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the event. -

    -

    -
    Parameters:
    categories - the categories to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -getComments

    -
    -public List<Comment> getComments()
    -
    -
    Gets the comments attached to the event. -

    -

    - -
    Returns:
    the comments
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public void addComment(Comment comment)
    -
    -
    Adds a comment to the event. -

    -

    -
    Parameters:
    comment - the comment to add
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public Comment addComment(String comment)
    -
    -
    Adds a comment to the event. -

    -

    -
    Parameters:
    comment - the comment to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -getContacts

    -
    -public List<Contact> getContacts()
    -
    -
    Gets the contacts associated with the event. -

    -

    - -
    Returns:
    the contacts
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -addContact

    -
    -public void addContact(Contact contact)
    -
    -
    Adds a contact to the event. -

    -

    -
    Parameters:
    contact - the contact
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -addContact

    -
    -public Contact addContact(String contact)
    -
    -
    Adds a contact to the event. -

    -

    -
    Parameters:
    contact - the contact (e.g. "ACME Co - (123) 555-1234") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -getExceptionDates

    -
    -public List<ExceptionDates> getExceptionDates()
    -
    -
    Gets the list of exceptions to the recurrence rule defined in the event - (if one is defined). -

    -

    - -
    Returns:
    the list of exceptions
    Specification Reference:
    RFC 5545 p.118-20
    -
    -
    -
    - -

    -addExceptionDates

    -
    -public void addExceptionDates(ExceptionDates exceptionDates)
    -
    -
    Adds a list of exceptions to the recurrence rule defined in the event (if - one is defined). Note that this property can contain multiple dates. -

    -

    -
    Parameters:
    exceptionDates - the list of exceptions
    Specification Reference:
    RFC 5545 p.118-20
    -
    -
    -
    - -

    -getRequestStatus

    -
    -public RequestStatus getRequestStatus()
    -
    -
    Gets the response to a scheduling request. -

    -

    - -
    Returns:
    the response
    Specification Reference:
    RFC 5545 p.141-3
    -
    -
    -
    - -

    -setRequestStatus

    -
    -public void setRequestStatus(RequestStatus requestStatus)
    -
    -
    Sets the response to a scheduling request. -

    -

    -
    Parameters:
    requestStatus - the response
    Specification Reference:
    RFC 5545 p.141-3
    -
    -
    -
    - -

    -getRelatedTo

    -
    -public List<RelatedTo> getRelatedTo()
    -
    -
    Gets the components that the event is related to. -

    -

    - -
    Returns:
    the relationships
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -addRelatedTo

    -
    -public void addRelatedTo(RelatedTo relatedTo)
    -
    -
    Adds a component that the event is related to. -

    -

    -
    Parameters:
    relatedTo - the relationship
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -addRelatedTo

    -
    -public RelatedTo addRelatedTo(String uid)
    -
    -
    Adds a component that the event is related to. -

    -

    -
    Parameters:
    uid - the UID of the other component -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -getResources

    -
    -public List<Resources> getResources()
    -
    -
    Gets the resources that are needed for the event. -

    -

    - -
    Returns:
    the resources
    Specification Reference:
    RFC 5545 p.91
    -
    -
    -
    - -

    -addResources

    -
    -public void addResources(Resources resources)
    -
    -
    Adds a list of resources that are needed for the event. Note that a - single property can hold multiple resources. -

    -

    -
    Parameters:
    resources - the resources to add
    Specification Reference:
    RFC 5545 p.91
    -
    -
    -
    - -

    -addResources

    -
    -public Resources addResources(String... resources)
    -
    -
    Adds a list of resources that are needed for the event. -

    -

    -
    Parameters:
    resources - the resources to add (e.g. "easel", "projector") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.91
    -
    -
    -
    - -

    -addResources

    -
    -public Resources addResources(List<String> resources)
    -
    -
    Adds a list of resources that are needed for the event. -

    -

    -
    Parameters:
    resources - the resources to add (e.g. "easel", "projector") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.91
    -
    -
    -
    - -

    -getRecurrenceDates

    -
    -public List<RecurrenceDates> getRecurrenceDates()
    -
    -
    Gets the list of dates/periods that help define the recurrence rule of - this event (if one is defined). -

    -

    - -
    Returns:
    the recurrence dates
    Specification Reference:
    RFC 5545 p.120-2
    -
    -
    -
    - -

    -addRecurrenceDates

    -
    -public void addRecurrenceDates(RecurrenceDates recurrenceDates)
    -
    -
    Adds a list of dates/periods that help define the recurrence rule of this - event (if one is defined). -

    -

    -
    Parameters:
    recurrenceDates - the recurrence dates
    Specification Reference:
    RFC 5545 p.120-2
    -
    -
    -
    - -

    -getAlarms

    -
    -public List<VAlarm> getAlarms()
    -
    -
    Gets the alarms that are assigned to this event. -

    -

    - -
    Returns:
    the alarms
    Specification Reference:
    RFC 5545 p.71-6
    -
    -
    -
    - -

    -addAlarm

    -
    -public void addAlarm(VAlarm alarm)
    -
    -
    Adds an alarm to this event. -

    -

    -
    Parameters:
    alarm - the alarm
    Specification Reference:
    RFC 5545 p.71-6
    -
    -
    -
    - -

    -getExceptionRules

    -
    -public List<ExceptionRule> getExceptionRules()
    -
    -

    - Gets the exceptions for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    - -
    Returns:
    the exception rules
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -addExceptionRule

    -
    -public ExceptionRule addExceptionRule(Recurrence recur)
    -
    -

    - Adds an exception for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    -
    Parameters:
    recur - the exception rule to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -addExceptionRule

    -
    -public void addExceptionRule(ExceptionRule exceptionRule)
    -
    -

    - Adds an exception for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    -
    Parameters:
    exceptionRule - the exception rule to add
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalComponent
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Overrides:
    validate in class ICalComponent
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/VFreeBusy.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/VFreeBusy.html deleted file mode 100644 index 1c5e8dd7..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/VFreeBusy.html +++ /dev/null @@ -1,1087 +0,0 @@ - - - - - - - -VFreeBusy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class VFreeBusy

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.VFreeBusy
    -
    -
    -
    -
    public class VFreeBusy
    extends ICalComponent
    - - -

    -

    - Defines a collection of time ranges that describe when the person is - available or unavailable. -

    -

    - Examples: - -

    - VFreeBusy freebusy = new VFreeBusy();
    - 
    - Date start = ...
    - Date end = ...
    - freebusy.addFreeBusy(FreeBusyType.FREE, start, end);
    - 
    - start = ...
    - Duration duration = Duration.builder().hours(2).build();
    - freebusy.addFreeBusy(FreeBusyType.BUSY, start, duration);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.59-62
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    VFreeBusy() - -
    -           - Creates a new free/busy component.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddAttendee(Attendee attendee) - -
    -          Adds a person who is involved in the free/busy entry.
    - voidaddComment(Comment comment) - -
    -          Adds a comment to the free/busy entry.
    - CommentaddComment(String comment) - -
    -          Adds a comment to the free/busy entry.
    - ContactaddContact(String contact) - -
    -          Sets the contact for the free/busy entry.
    - voidaddFreeBusy(FreeBusy freeBusy) - -
    -          Adds a list of time periods for which the person is free or busy (for - example, "free" between 1pm-3pm and 4pm-5pm).
    - FreeBusyaddFreeBusy(FreeBusyType type, - Date start, - Date end) - -
    -          Adds a single time period for which the person is free or busy (for - example, "free" between 1pm-3pm).
    - FreeBusyaddFreeBusy(FreeBusyType type, - Date start, - Duration duration) - -
    -          Adds a single time period for which the person is free or busy (for - example, "free" for 2 hours after 1pm).
    - List<Attendee>getAttendees() - -
    -          Gets the people who are involved in the free/busy entry.
    - List<Comment>getComments() - -
    -          Gets the comments attached to the free/busy entry.
    - ContactgetContact() - -
    -          Gets the contact associated with the free/busy entry.
    - DateEndgetDateEnd() - -
    -          Gets the date that the free/busy entry ends.
    - DateStartgetDateStart() - -
    -          Gets the date that the free/busy entry starts.
    - DateTimeStampgetDateTimeStamp() - -
    -          Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information).
    - List<FreeBusy>getFreeBusy() - -
    -          Gets the person's availabilities over certain time periods (for example, - "free" between 1pm-3pm, but "busy" between 3pm-4pm).
    - OrganizergetOrganizer() - -
    -          Gets the person requesting the free/busy time.
    - RequestStatusgetRequestStatus() - -
    -          Gets the response to a scheduling request.
    - UidgetUid() - -
    -          Gets the unique identifier for this free/busy entry.
    - UrlgetUrl() - -
    -          Gets a URL to a resource that contains additional information about the - free/busy entry.
    - voidsetContact(Contact contact) - -
    -          Sets the contact for the free/busy entry.
    - DateEndsetDateEnd(Date dateEnd) - -
    -          Sets the date that the free/busy entry ends.
    - voidsetDateEnd(DateEnd dateEnd) - -
    -          Sets the date that the free/busy entry ends.
    - DateStartsetDateStart(Date dateStart) - -
    -          Sets the date that the free/busy entry starts.
    - voidsetDateStart(DateStart dateStart) - -
    -          Sets the date that the free/busy entry starts.
    - DateTimeStampsetDateTimeStamp(Date dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information).
    - voidsetDateTimeStamp(DateTimeStamp dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information).
    - voidsetOrganizer(Organizer organizer) - -
    -          Sets the person requesting the free/busy time.
    - OrganizersetOrganizer(String email) - -
    -          Sets the person requesting the free/busy time.
    - voidsetRequestStatus(RequestStatus requestStatus) - -
    -          Sets the response to a scheduling request.
    - UidsetUid(String uid) - -
    -          Sets the unique identifier for this free/busy entry.
    - voidsetUid(Uid uid) - -
    -          Sets the unique identifier for this free/busy entry.
    - UrlsetUrl(String url) - -
    -          Sets a URL to a resource that contains additional information about the - free/busy entry.
    - voidsetUrl(Url url) - -
    -          Sets a URL to a resource that contains additional information about the - free/busy entry.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VFreeBusy

    -
    -public VFreeBusy()
    -
    -

    - Creates a new free/busy component. -

    -

    - The following properties are auto-generated on object creation. These - properties must be present in order for the free/busy component to - be valid: -

    -

    -

    -

    - - - - - - - - -
    -Method Detail
    - -

    -getUid

    -
    -public Uid getUid()
    -
    -
    Gets the unique identifier for this free/busy entry. This component - object comes populated with a UID on creation. This is a required - property. -

    -

    - -
    Returns:
    the UID or null if not set
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -setUid

    -
    -public void setUid(Uid uid)
    -
    -
    Sets the unique identifier for this free/busy entry. This component - object comes populated with a UID on creation. This is a required - property. -

    -

    -
    Parameters:
    uid - the UID or null to remove
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -setUid

    -
    -public Uid setUid(String uid)
    -
    -
    Sets the unique identifier for this free/busy entry. This component - object comes populated with a UID on creation. This is a required - property. -

    -

    -
    Parameters:
    uid - the UID or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -getDateTimeStamp

    -
    -public DateTimeStamp getDateTimeStamp()
    -
    -
    Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information). This free/busy object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    - -
    Returns:
    the date time stamp or null if not set
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -setDateTimeStamp

    -
    -public void setDateTimeStamp(DateTimeStamp dateTimeStamp)
    -
    -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information). This free/busy object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    -
    Parameters:
    dateTimeStamp - the date time stamp or null to remove
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -setDateTimeStamp

    -
    -public DateTimeStamp setDateTimeStamp(Date dateTimeStamp)
    -
    -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information). This free/busy object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    -
    Parameters:
    dateTimeStamp - the date time stamp or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -getContact

    -
    -public Contact getContact()
    -
    -
    Gets the contact associated with the free/busy entry. -

    -

    - -
    Returns:
    the contact or null if not set
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -setContact

    -
    -public void setContact(Contact contact)
    -
    -
    Sets the contact for the free/busy entry. -

    -

    -
    Parameters:
    contact - the contact or null to remove
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -addContact

    -
    -public Contact addContact(String contact)
    -
    -
    Sets the contact for the free/busy entry. -

    -

    -
    Parameters:
    contact - the contact (e.g. "ACME Co - (123) 555-1234") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -getDateStart

    -
    -public DateStart getDateStart()
    -
    -
    Gets the date that the free/busy entry starts. -

    -

    - -
    Returns:
    the start date or null if not set
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public void setDateStart(DateStart dateStart)
    -
    -
    Sets the date that the free/busy entry starts. -

    -

    -
    Parameters:
    dateStart - the start date or null to remove
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public DateStart setDateStart(Date dateStart)
    -
    -
    Sets the date that the free/busy entry starts. -

    -

    -
    Parameters:
    dateStart - the start date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -getDateEnd

    -
    -public DateEnd getDateEnd()
    -
    -
    Gets the date that the free/busy entry ends. -

    -

    - -
    Returns:
    the end date or null if not set
    Specification Reference:
    RFC 5545 p.95-6
    -
    -
    -
    - -

    -setDateEnd

    -
    -public void setDateEnd(DateEnd dateEnd)
    -
    -
    Sets the date that the free/busy entry ends. -

    -

    -
    Parameters:
    dateEnd - the end date or null to remove
    Specification Reference:
    RFC 5545 p.95-6
    -
    -
    -
    - -

    -setDateEnd

    -
    -public DateEnd setDateEnd(Date dateEnd)
    -
    -
    Sets the date that the free/busy entry ends. -

    -

    -
    Parameters:
    dateEnd - the end date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.95-6
    -
    -
    -
    - -

    -getOrganizer

    -
    -public Organizer getOrganizer()
    -
    -
    Gets the person requesting the free/busy time. -

    -

    - -
    Returns:
    the person requesting the free/busy time or null if not set
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -setOrganizer

    -
    -public void setOrganizer(Organizer organizer)
    -
    -
    Sets the person requesting the free/busy time. -

    -

    -
    Parameters:
    organizer - the person requesting the free/busy time or null to - remove
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -setOrganizer

    -
    -public Organizer setOrganizer(String email)
    -
    -
    Sets the person requesting the free/busy time. -

    -

    -
    Parameters:
    email - the email address of the person requesting the free/busy - time (e.g. "johndoe@example.com") or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -getUrl

    -
    -public Url getUrl()
    -
    -
    Gets a URL to a resource that contains additional information about the - free/busy entry. -

    -

    - -
    Returns:
    the URL or null if not set
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -setUrl

    -
    -public void setUrl(Url url)
    -
    -
    Sets a URL to a resource that contains additional information about the - free/busy entry. -

    -

    -
    Parameters:
    url - the URL or null to remove
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -setUrl

    -
    -public Url setUrl(String url)
    -
    -
    Sets a URL to a resource that contains additional information about the - free/busy entry. -

    -

    -
    Parameters:
    url - the URL (e.g. "http://example.com/resource.ics") or null to - remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -getAttendees

    -
    -public List<Attendee> getAttendees()
    -
    -
    Gets the people who are involved in the free/busy entry. -

    -

    - -
    Returns:
    the attendees
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -addAttendee

    -
    -public void addAttendee(Attendee attendee)
    -
    -
    Adds a person who is involved in the free/busy entry. -

    -

    -
    Parameters:
    attendee - the attendee
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -getComments

    -
    -public List<Comment> getComments()
    -
    -
    Gets the comments attached to the free/busy entry. -

    -

    - -
    Returns:
    the comments
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public void addComment(Comment comment)
    -
    -
    Adds a comment to the free/busy entry. -

    -

    -
    Parameters:
    comment - the comment to add
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public Comment addComment(String comment)
    -
    -
    Adds a comment to the free/busy entry. -

    -

    -
    Parameters:
    comment - the comment to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -getFreeBusy

    -
    -public List<FreeBusy> getFreeBusy()
    -
    -
    Gets the person's availabilities over certain time periods (for example, - "free" between 1pm-3pm, but "busy" between 3pm-4pm). -

    -

    - -
    Returns:
    the availabilities
    Specification Reference:
    RFC 5545 p.100-1
    -
    -
    -
    - -

    -addFreeBusy

    -
    -public void addFreeBusy(FreeBusy freeBusy)
    -
    -
    Adds a list of time periods for which the person is free or busy (for - example, "free" between 1pm-3pm and 4pm-5pm). Note that a - FreeBusy property can contain multiple time periods, but only one - availability type (e.g. "busy"). -

    -

    -
    Parameters:
    freeBusy - the availabilities
    Specification Reference:
    RFC 5545 p.100-1
    -
    -
    -
    - -

    -addFreeBusy

    -
    -public FreeBusy addFreeBusy(FreeBusyType type,
    -                            Date start,
    -                            Date end)
    -
    -
    Adds a single time period for which the person is free or busy (for - example, "free" between 1pm-3pm). This method will look for an existing - property that has the given FreeBusyType and add the time period - to it, or create a new property is one cannot be found. -

    -

    -
    Parameters:
    type - the availability type (e.g. "free" or "busy")
    start - the start date-time
    end - the end date-time -
    Returns:
    the property that was created/modified
    Specification Reference:
    RFC 5545 p.100-1
    -
    -
    -
    - -

    -addFreeBusy

    -
    -public FreeBusy addFreeBusy(FreeBusyType type,
    -                            Date start,
    -                            Duration duration)
    -
    -
    Adds a single time period for which the person is free or busy (for - example, "free" for 2 hours after 1pm). This method will look for an - existing property that has the given FreeBusyType and add the - time period to it, or create a new property is one cannot be found. -

    -

    -
    Parameters:
    type - the availability type (e.g. "free" or "busy")
    start - the start date-time
    duration - the length of time -
    Returns:
    the property that was created/modified
    Specification Reference:
    RFC 5545 p.100-1
    -
    -
    -
    - -

    -getRequestStatus

    -
    -public RequestStatus getRequestStatus()
    -
    -
    Gets the response to a scheduling request. -

    -

    - -
    Returns:
    the response
    Specification Reference:
    RFC 5545 p.141-3
    -
    -
    -
    - -

    -setRequestStatus

    -
    -public void setRequestStatus(RequestStatus requestStatus)
    -
    -
    Sets the response to a scheduling request. -

    -

    -
    Parameters:
    requestStatus - the response
    Specification Reference:
    RFC 5545 p.141-3
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalComponent
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Overrides:
    validate in class ICalComponent
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/VJournal.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/VJournal.html deleted file mode 100644 index d0171a13..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/VJournal.html +++ /dev/null @@ -1,1924 +0,0 @@ - - - - - - - -VJournal (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class VJournal

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.VJournal
    -
    -
    -
    -
    public class VJournal
    extends ICalComponent
    - - -

    -

    - Defines descriptive text associated with the calendar data. -

    -

    - Examples: - -

    - VJournal journal = new VJournal();
    - journal.setSummary("Team Meeting");
    - journal.setDescription("The following items were discussed: ...");
    - byte[] slides = ...
    - journal.addAttachment(new Attachment("application/vnd.ms-powerpoint", slides));
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.57-9
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    VJournal() - -
    -           - Creates a new journal entry.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddAttachment(Attachment attachment) - -
    -          Adds an attachment to the journal entry.
    - voidaddAttendee(Attendee attendee) - -
    -          Adds a person who is involved in the journal entry.
    - AttendeeaddAttendee(String email) - -
    -          Adds a person who is involved in the journal entry.
    - voidaddCategories(Categories categories) - -
    -          Adds a list of "tags" or "keywords" that describe the journal entry.
    - CategoriesaddCategories(List<String> categories) - -
    -          Adds a list of "tags" or "keywords" that describe the journal entry.
    - CategoriesaddCategories(String... categories) - -
    -          Adds a list of "tags" or "keywords" that describe the journal entry.
    - voidaddComment(Comment comment) - -
    -          Adds a comment to the journal entry.
    - CommentaddComment(String comment) - -
    -          Adds a comment to the journal entry.
    - voidaddContact(Contact contact) - -
    -          Adds a contact to the journal entry.
    - ContactaddContact(String contact) - -
    -          Adds a contact to the journal entry.
    - voidaddDescription(Description description) - -
    -          Adds a detailed description to the journal entry.
    - DescriptionaddDescription(String description) - -
    -          Adds a detailed description to the journal entry.
    - voidaddExceptionDates(ExceptionDates exceptionDates) - -
    -          Adds a list of exceptions to the recurrence rule defined in the journal - entry (if one is defined).
    - voidaddExceptionRule(ExceptionRule exceptionRule) - -
    -           - Adds an exception for the RecurrenceRule property.
    - ExceptionRuleaddExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    - voidaddRecurrenceDates(RecurrenceDates recurrenceDates) - -
    -          Adds a list of dates/periods that help define the recurrence rule of this - journal entry (if one is defined).
    - voidaddRelatedTo(RelatedTo relatedTo) - -
    -          Adds a component that the journal entry is related to.
    - RelatedToaddRelatedTo(String uid) - -
    -          Adds a component that the journal entry is related to.
    - List<Attachment>getAttachments() - -
    -          Gets any attachments that are associated with the journal entry.
    - List<Attendee>getAttendees() - -
    -          Gets the people who are involved in the journal entry.
    - List<Categories>getCategories() - -
    -          Gets a list of "tags" or "keywords" that describe the journal entry.
    - ClassificationgetClassification() - -
    -          Gets the level of sensitivity of the journal entry.
    - List<Comment>getComments() - -
    -          Gets the comments attached to the journal entry.
    - List<Contact>getContacts() - -
    -          Gets the contacts associated with the journal entry.
    - CreatedgetCreated() - -
    -          Gets the date-time that the journal entry was initially created.
    - DateStartgetDateStart() - -
    -          Gets the date that the journal entry starts.
    - DateTimeStampgetDateTimeStamp() - -
    -          Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information).
    - List<Description>getDescriptions() - -
    -          Gets the detailed descriptions to the journal entry.
    - List<ExceptionDates>getExceptionDates() - -
    -          Gets the list of exceptions to the recurrence rule defined in the journal - entry (if one is defined).
    - List<ExceptionRule>getExceptionRules() - -
    -           - Gets the exceptions for the RecurrenceRule property.
    - LastModifiedgetLastModified() - -
    -          Gets the date-time that the journal entry was last changed.
    - OrganizergetOrganizer() - -
    -          Gets the organizer of the journal entry.
    - List<RecurrenceDates>getRecurrenceDates() - -
    -          Gets the list of dates/periods that help define the recurrence rule of - this journal entry (if one is defined).
    - RecurrenceIdgetRecurrenceId() - -
    -          Gets the original value of the DateStart property if the event is - recurring and has been modified.
    - RecurrenceRulegetRecurrenceRule() - -
    -          Gets how often the journal entry repeats.
    - List<RelatedTo>getRelatedTo() - -
    -          Gets the components that the journal entry is related to.
    - RequestStatusgetRequestStatus() - -
    -          Gets the response to a scheduling request.
    - SequencegetSequence() - -
    -          Gets the revision number of the journal entry.
    - StatusgetStatus() - -
    -          Gets the status of the journal entry.
    - SummarygetSummary() - -
    -          Gets the summary of the journal entry.
    - UidgetUid() - -
    -          Gets the unique identifier for this journal entry.
    - UrlgetUrl() - -
    -          Gets a URL to a resource that contains additional information about the - journal entry.
    - voidincrementSequence() - -
    -          Increments the revision number of the journal entry.
    - voidsetClassification(Classification classification) - -
    -          Sets the level of sensitivity of the journal entry.
    - ClassificationsetClassification(String classification) - -
    -          Sets the level of sensitivity of the journal entry.
    - voidsetCreated(Created created) - -
    -          Sets the date-time that the journal entry was initially created.
    - CreatedsetCreated(Date created) - -
    -          Sets the date-time that the journal entry was initially created.
    - DateStartsetDateStart(Date dateStart) - -
    -          Sets the date that the journal entry starts.
    - voidsetDateStart(DateStart dateStart) - -
    -          Sets the date that the journal entry starts.
    - DateTimeStampsetDateTimeStamp(Date dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information).
    - voidsetDateTimeStamp(DateTimeStamp dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information).
    - LastModifiedsetLastModified(Date lastModified) - -
    -          Sets the date-time that the journal entry was last changed.
    - voidsetLastModified(LastModified lastModified) - -
    -          Sets the date-time that the journal entry was last changed.
    - voidsetOrganizer(Organizer organizer) - -
    -          Sets the organizer of the journal entry.
    - OrganizersetOrganizer(String email) - -
    -          Sets the organizer of the journal entry.
    - RecurrenceIdsetRecurrenceId(Date originalStartDate) - -
    -          Sets the original value of the DateStart property if the journal - entry is recurring and has been modified.
    - voidsetRecurrenceId(RecurrenceId recurrenceId) - -
    -          Sets the original value of the DateStart property if the event is - recurring and has been modified.
    - RecurrenceRulesetRecurrenceRule(Recurrence recur) - -
    -          Sets how often the journal entry repeats.
    - voidsetRecurrenceRule(RecurrenceRule recurrenceRule) - -
    -          Sets how often the journal entry repeats.
    - voidsetRequestStatus(RequestStatus requestStatus) - -
    -          Sets the response to a scheduling request.
    - SequencesetSequence(Integer sequence) - -
    -          Sets the revision number of the journal entry.
    - voidsetSequence(Sequence sequence) - -
    -          Sets the revision number of the journal entry.
    - voidsetStatus(Status status) - -
    -          Sets the status of the journal entry.
    - SummarysetSummary(String summary) - -
    -          Sets the summary of the journal entry.
    - voidsetSummary(Summary summary) - -
    -          Sets the summary of the journal entry.
    - UidsetUid(String uid) - -
    -          Sets the unique identifier for this journal entry.
    - voidsetUid(Uid uid) - -
    -          Sets the unique identifier for this journal entry.
    - UrlsetUrl(String url) - -
    -          Sets a URL to a resource that contains additional information about the - journal entry.
    - voidsetUrl(Url url) - -
    -          Sets a URL to a resource that contains additional information about the - journal entry.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VJournal

    -
    -public VJournal()
    -
    -

    - Creates a new journal entry. -

    -

    - The following properties are auto-generated on object creation. These - properties must be present in order for the journal entry to be - valid: -

    -

    -

    -

    - - - - - - - - -
    -Method Detail
    - -

    -getUid

    -
    -public Uid getUid()
    -
    -
    Gets the unique identifier for this journal entry. This component object - comes populated with a UID on creation. This is a required - property. -

    -

    - -
    Returns:
    the UID or null if not set
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -setUid

    -
    -public void setUid(Uid uid)
    -
    -
    Sets the unique identifier for this journal entry. This component object - comes populated with a UID on creation. This is a required - property. -

    -

    -
    Parameters:
    uid - the UID or null to remove
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -setUid

    -
    -public Uid setUid(String uid)
    -
    -
    Sets the unique identifier for this journal entry. This component object - comes populated with a UID on creation. This is a required - property. -

    -

    -
    Parameters:
    uid - the UID or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -getDateTimeStamp

    -
    -public DateTimeStamp getDateTimeStamp()
    -
    -
    Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information). This journal entry object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    - -
    Returns:
    the date time stamp or null if not set
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -setDateTimeStamp

    -
    -public void setDateTimeStamp(DateTimeStamp dateTimeStamp)
    -
    -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information). This journal entry object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    -
    Parameters:
    dateTimeStamp - the date time stamp or null to remove
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -setDateTimeStamp

    -
    -public DateTimeStamp setDateTimeStamp(Date dateTimeStamp)
    -
    -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information). This journal entry object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    -
    Parameters:
    dateTimeStamp - the date time stamp or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -getClassification

    -
    -public Classification getClassification()
    -
    -
    Gets the level of sensitivity of the journal entry. If not specified, the - data within the journal entry should be considered "public". -

    -

    - -
    Returns:
    the classification level or null if not set
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -setClassification

    -
    -public void setClassification(Classification classification)
    -
    -
    Sets the level of sensitivity of the journal entry. If not specified, the - data within the journal entry should be considered "public". -

    -

    -
    Parameters:
    classification - the classification level or null to remove
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -setClassification

    -
    -public Classification setClassification(String classification)
    -
    -
    Sets the level of sensitivity of the journal entry. If not specified, the - data within the journal entry should be considered "public". -

    -

    -
    Parameters:
    classification - the classification level (e.g. "CONFIDENTIAL") or - null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -getCreated

    -
    -public Created getCreated()
    -
    -
    Gets the date-time that the journal entry was initially created. -

    -

    - -
    Returns:
    the creation date-time or null if not set
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -setCreated

    -
    -public void setCreated(Created created)
    -
    -
    Sets the date-time that the journal entry was initially created. -

    -

    -
    Parameters:
    created - the creation date-time or null to remove
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -setCreated

    -
    -public Created setCreated(Date created)
    -
    -
    Sets the date-time that the journal entry was initially created. -

    -

    -
    Parameters:
    created - the creation date-time or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -getDateStart

    -
    -public DateStart getDateStart()
    -
    -
    Gets the date that the journal entry starts. -

    -

    - -
    Returns:
    the start date or null if not set
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public void setDateStart(DateStart dateStart)
    -
    -
    Sets the date that the journal entry starts. -

    -

    -
    Parameters:
    dateStart - the start date or null to remove
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public DateStart setDateStart(Date dateStart)
    -
    -
    Sets the date that the journal entry starts. -

    -

    -
    Parameters:
    dateStart - the start date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -getLastModified

    -
    -public LastModified getLastModified()
    -
    -
    Gets the date-time that the journal entry was last changed. -

    -

    - -
    Returns:
    the last modified date or null if not set
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -setLastModified

    -
    -public void setLastModified(LastModified lastModified)
    -
    -
    Sets the date-time that the journal entry was last changed. -

    -

    -
    Parameters:
    lastModified - the last modified date or null to remove
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -setLastModified

    -
    -public LastModified setLastModified(Date lastModified)
    -
    -
    Sets the date-time that the journal entry was last changed. -

    -

    -
    Parameters:
    lastModified - the last modified date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -getOrganizer

    -
    -public Organizer getOrganizer()
    -
    -
    Gets the organizer of the journal entry. -

    -

    - -
    Returns:
    the organizer or null if not set
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -setOrganizer

    -
    -public void setOrganizer(Organizer organizer)
    -
    -
    Sets the organizer of the journal entry. -

    -

    -
    Parameters:
    organizer - the organizer or null to remove
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -setOrganizer

    -
    -public Organizer setOrganizer(String email)
    -
    -
    Sets the organizer of the journal entry. -

    -

    -
    Parameters:
    email - the organizer's email address (e.g. "johndoe@example.com") - or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -getRecurrenceId

    -
    -public RecurrenceId getRecurrenceId()
    -
    -
    Gets the original value of the DateStart property if the event is - recurring and has been modified. Used in conjunction with the Uid - and Sequence properties to uniquely identify a recurrence - instance. -

    -

    - -
    Returns:
    the recurrence ID or null if not set
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -setRecurrenceId

    -
    -public void setRecurrenceId(RecurrenceId recurrenceId)
    -
    -
    Sets the original value of the DateStart property if the event is - recurring and has been modified. Used in conjunction with the Uid - and Sequence properties to uniquely identify a recurrence - instance. -

    -

    -
    Parameters:
    recurrenceId - the recurrence ID or null to remove
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -setRecurrenceId

    -
    -public RecurrenceId setRecurrenceId(Date originalStartDate)
    -
    -
    Sets the original value of the DateStart property if the journal - entry is recurring and has been modified. Used in conjunction with the - Uid and Sequence properties to uniquely identify a - recurrence instance. -

    -

    -
    Parameters:
    originalStartDate - the original start date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -getSequence

    -
    -public Sequence getSequence()
    -
    -
    Gets the revision number of the journal entry. The organizer can - increment this number every time he or she makes a significant change. -

    -

    - -
    Returns:
    the sequence number
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -setSequence

    -
    -public void setSequence(Sequence sequence)
    -
    -
    Sets the revision number of the journal entry. The organizer can - increment this number every time he or she makes a significant change. -

    -

    -
    Parameters:
    sequence - the sequence number
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -setSequence

    -
    -public Sequence setSequence(Integer sequence)
    -
    -
    Sets the revision number of the journal entry. The organizer can - increment this number every time he or she makes a significant change. -

    -

    -
    Parameters:
    sequence - the sequence number -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -incrementSequence

    -
    -public void incrementSequence()
    -
    -
    Increments the revision number of the journal entry. The organizer can - increment this number every time he or she makes a significant change. -

    -

    -
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -getStatus

    -
    -public Status getStatus()
    -
    -
    Gets the status of the journal entry. -

    -

    - -
    Returns:
    the status or null if not set
    Specification Reference:
    RFC 5545 p.92-3
    -
    -
    -
    - -

    -setStatus

    -
    -public void setStatus(Status status)
    -
    -
    Sets the status of the journal entry. -

    - Valid journal status codes are: -

      -
    • DRAFT
    • -
    • FINAL
    • -
    • CANCELLED
    • -
    -

    -

    -

    -
    Parameters:
    status - the status or null to remove
    Specification Reference:
    RFC 5545 p.92-3
    -
    -
    -
    - -

    -getSummary

    -
    -public Summary getSummary()
    -
    -
    Gets the summary of the journal entry. -

    -

    - -
    Returns:
    the summary or null if not set
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -setSummary

    -
    -public void setSummary(Summary summary)
    -
    -
    Sets the summary of the journal entry. -

    -

    -
    Parameters:
    summary - the summary or null to remove
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -setSummary

    -
    -public Summary setSummary(String summary)
    -
    -
    Sets the summary of the journal entry. -

    -

    -
    Parameters:
    summary - the summary or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -getUrl

    -
    -public Url getUrl()
    -
    -
    Gets a URL to a resource that contains additional information about the - journal entry. -

    -

    - -
    Returns:
    the URL or null if not set
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -setUrl

    -
    -public void setUrl(Url url)
    -
    -
    Sets a URL to a resource that contains additional information about the - journal entry. -

    -

    -
    Parameters:
    url - the URL or null to remove
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -setUrl

    -
    -public Url setUrl(String url)
    -
    -
    Sets a URL to a resource that contains additional information about the - journal entry. -

    -

    -
    Parameters:
    url - the URL (e.g. "http://example.com/resource.ics") or null to - remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -getRecurrenceRule

    -
    -public RecurrenceRule getRecurrenceRule()
    -
    -
    Gets how often the journal entry repeats. -

    -

    - -
    Returns:
    the recurrence rule or null if not set
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -setRecurrenceRule

    -
    -public RecurrenceRule setRecurrenceRule(Recurrence recur)
    -
    -
    Sets how often the journal entry repeats. -

    -

    -
    Parameters:
    recur - the recurrence rule or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -setRecurrenceRule

    -
    -public void setRecurrenceRule(RecurrenceRule recurrenceRule)
    -
    -
    Sets how often the journal entry repeats. -

    -

    -
    Parameters:
    recurrenceRule - the recurrence rule or null to remove
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -getAttachments

    -
    -public List<Attachment> getAttachments()
    -
    -
    Gets any attachments that are associated with the journal entry. -

    -

    - -
    Returns:
    the attachments
    Specification Reference:
    RFC 5545 p.80-1
    -
    -
    -
    - -

    -addAttachment

    -
    -public void addAttachment(Attachment attachment)
    -
    -
    Adds an attachment to the journal entry. -

    -

    -
    Parameters:
    attachment - the attachment to add
    Specification Reference:
    RFC 5545 p.80-1
    -
    -
    -
    - -

    -getAttendees

    -
    -public List<Attendee> getAttendees()
    -
    -
    Gets the people who are involved in the journal entry. -

    -

    - -
    Returns:
    the attendees
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -addAttendee

    -
    -public void addAttendee(Attendee attendee)
    -
    -
    Adds a person who is involved in the journal entry. -

    -

    -
    Parameters:
    attendee - the attendee
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -addAttendee

    -
    -public Attendee addAttendee(String email)
    -
    -
    Adds a person who is involved in the journal entry. -

    -

    -
    Parameters:
    email - the attendee's email address -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -getCategories

    -
    -public List<Categories> getCategories()
    -
    -
    Gets a list of "tags" or "keywords" that describe the journal entry. -

    -

    - -
    Returns:
    the categories
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public void addCategories(Categories categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the journal entry. Note - that a single property can hold multiple keywords. -

    -

    -
    Parameters:
    categories - the categories to add
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public Categories addCategories(String... categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the journal entry. -

    -

    -
    Parameters:
    categories - the categories to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public Categories addCategories(List<String> categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the journal entry. -

    -

    -
    Parameters:
    categories - the categories to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -getComments

    -
    -public List<Comment> getComments()
    -
    -
    Gets the comments attached to the journal entry. -

    -

    - -
    Returns:
    the comments
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public void addComment(Comment comment)
    -
    -
    Adds a comment to the journal entry. -

    -

    -
    Parameters:
    comment - the comment to add
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public Comment addComment(String comment)
    -
    -
    Adds a comment to the journal entry. -

    -

    -
    Parameters:
    comment - the comment to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -getContacts

    -
    -public List<Contact> getContacts()
    -
    -
    Gets the contacts associated with the journal entry. -

    -

    - -
    Returns:
    the contacts
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -addContact

    -
    -public void addContact(Contact contact)
    -
    -
    Adds a contact to the journal entry. -

    -

    -
    Parameters:
    contact - the contact
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -addContact

    -
    -public Contact addContact(String contact)
    -
    -
    Adds a contact to the journal entry. -

    -

    -
    Parameters:
    contact - the contact (e.g. "ACME Co - (123) 555-1234") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -getDescriptions

    -
    -public List<Description> getDescriptions()
    -
    -
    Gets the detailed descriptions to the journal entry. The descriptions - should be a more detailed version of the one provided by the - Summary property. -

    -

    - -
    Returns:
    the descriptions
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -addDescription

    -
    -public void addDescription(Description description)
    -
    -
    Adds a detailed description to the journal entry. The description should - be a more detailed version of the one provided by the Summary - property. -

    -

    -
    Parameters:
    description - the description
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -addDescription

    -
    -public Description addDescription(String description)
    -
    -
    Adds a detailed description to the journal entry. The description should - be a more detailed version of the one provided by the Summary - property. -

    -

    -
    Parameters:
    description - the description -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -getExceptionDates

    -
    -public List<ExceptionDates> getExceptionDates()
    -
    -
    Gets the list of exceptions to the recurrence rule defined in the journal - entry (if one is defined). -

    -

    - -
    Returns:
    the list of exceptions
    Specification Reference:
    RFC 5545 p.118-20
    -
    -
    -
    - -

    -addExceptionDates

    -
    -public void addExceptionDates(ExceptionDates exceptionDates)
    -
    -
    Adds a list of exceptions to the recurrence rule defined in the journal - entry (if one is defined). Note that this property can contain multiple - dates. -

    -

    -
    Parameters:
    exceptionDates - the list of exceptions
    Specification Reference:
    RFC 5545 p.118-20
    -
    -
    -
    - -

    -getRelatedTo

    -
    -public List<RelatedTo> getRelatedTo()
    -
    -
    Gets the components that the journal entry is related to. -

    -

    - -
    Returns:
    the relationships
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -addRelatedTo

    -
    -public void addRelatedTo(RelatedTo relatedTo)
    -
    -
    Adds a component that the journal entry is related to. -

    -

    -
    Parameters:
    relatedTo - the relationship
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -addRelatedTo

    -
    -public RelatedTo addRelatedTo(String uid)
    -
    -
    Adds a component that the journal entry is related to. -

    -

    -
    Parameters:
    uid - the UID of the other component -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -getRecurrenceDates

    -
    -public List<RecurrenceDates> getRecurrenceDates()
    -
    -
    Gets the list of dates/periods that help define the recurrence rule of - this journal entry (if one is defined). -

    -

    - -
    Returns:
    the recurrence dates
    Specification Reference:
    RFC 5545 p.120-2
    -
    -
    -
    - -

    -addRecurrenceDates

    -
    -public void addRecurrenceDates(RecurrenceDates recurrenceDates)
    -
    -
    Adds a list of dates/periods that help define the recurrence rule of this - journal entry (if one is defined). -

    -

    -
    Parameters:
    recurrenceDates - the recurrence dates
    Specification Reference:
    RFC 5545 p.120-2
    -
    -
    -
    - -

    -getRequestStatus

    -
    -public RequestStatus getRequestStatus()
    -
    -
    Gets the response to a scheduling request. -

    -

    - -
    Returns:
    the response
    Specification Reference:
    RFC 5545 p.141-3
    -
    -
    -
    - -

    -setRequestStatus

    -
    -public void setRequestStatus(RequestStatus requestStatus)
    -
    -
    Sets the response to a scheduling request. -

    -

    -
    Parameters:
    requestStatus - the response
    Specification Reference:
    RFC 5545 p.141-3
    -
    -
    -
    - -

    -getExceptionRules

    -
    -public List<ExceptionRule> getExceptionRules()
    -
    -

    - Gets the exceptions for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    - -
    Returns:
    the exception rules
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -addExceptionRule

    -
    -public ExceptionRule addExceptionRule(Recurrence recur)
    -
    -

    - Adds an exception for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    -
    Parameters:
    recur - the exception rule to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -addExceptionRule

    -
    -public void addExceptionRule(ExceptionRule exceptionRule)
    -
    -

    - Adds an exception for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    -
    Parameters:
    exceptionRule - the exception rule to add
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalComponent
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Overrides:
    validate in class ICalComponent
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/VTimezone.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/VTimezone.html deleted file mode 100644 index 2d177c88..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/VTimezone.html +++ /dev/null @@ -1,618 +0,0 @@ - - - - - - - -VTimezone (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class VTimezone

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.VTimezone
    -
    -
    -
    -
    public class VTimezone
    extends ICalComponent
    - - -

    -

    - Defines a timezone's UTC offsets throughout the year. -

    - -

    - Examples: - -

    - VTimezone timezone = new VTimezone("Eastern Standard Time");
    - 
    - StandardTime standard = new StandardTime();
    - DateTimeComponents componentsStandard = new DateTimeComponents(1998, 10, 25, 2, 0, 0, false);
    - standard.setDateStart(componentsStandard);
    - standard.setTimezoneOffsetFrom(-4, 0);
    - standard.setTimezoneOffsetTo(-5, 0);
    - timezone.addStandardTime(standard);
    - 
    - DaylightSavingsTime daylight = new DaylightSavingsTime();
    - DateTimeComponents componentsDaylight = new DateTimeComponents(1999, 4, 4, 2, 0, 0, false);
    - daylight.setDateStart(componentsDaylight);
    - daylight.setTimezoneOffsetFrom(-5, 0);
    - daylight.setTimezoneOffsetTo(-4, 0);
    - timezone.addDaylightSavingsTime(daylight);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.62-71
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    VTimezone(String identifier) - -
    -          Creates a new timezone component.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddDaylightSavingsTime(DaylightSavingsTime daylightSavingsTime) - -
    -          Adds a "daylight savings" observance time range.
    - voidaddStandardTime(StandardTime standardTime) - -
    -          Adds a "standard" observance time range.
    - List<DaylightSavingsTime>getDaylightSavingsTime() - -
    -          Gets the timezone's "daylight savings" observance time ranges.
    - LastModifiedgetLastModified() - -
    -          Gets the date-time that the timezone data was last changed.
    - List<StandardTime>getStandardTimes() - -
    -          Gets the timezone's "standard" observance time ranges.
    - TimezoneIdgetTimezoneId() - -
    -          Gets the ID for this timezone.
    - TimezoneUrlgetTimezoneUrl() - -
    -          Gets the timezone URL, which points to an iCalendar object that contains - further information on the timezone.
    - LastModifiedsetLastModified(Date lastModified) - -
    -          Sets the date-time that the timezone data was last changed.
    - voidsetLastModified(LastModified lastModified) - -
    -          Sets the date-time that the timezone data was last changed.
    - TimezoneIdsetTimezoneId(String timezoneId) - -
    -          Sets an ID for this timezone.
    - voidsetTimezoneId(TimezoneId timezoneId) - -
    -          Sets an ID for this timezone.
    - TimezoneUrlsetTimezoneUrl(String url) - -
    -          Sets the timezone URL, which points to an iCalendar object that contains - further information on the timezone.
    - voidsetTimezoneUrl(TimezoneUrl url) - -
    -          Sets the timezone URL, which points to an iCalendar object that contains - further information on the timezone.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VTimezone

    -
    -public VTimezone(String identifier)
    -
    -
    Creates a new timezone component. -

    -

    -
    Parameters:
    identifier - a unique identifier for this timezone (allows it to be - referenced by date-time properties that support timezones).
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getTimezoneId

    -
    -public TimezoneId getTimezoneId()
    -
    -
    Gets the ID for this timezone. This is a required property. -

    -

    - -
    Returns:
    the timezone ID or null if not set
    Specification Reference:
    RFC 5545 p.102-3
    -
    -
    -
    - -

    -setTimezoneId

    -
    -public void setTimezoneId(TimezoneId timezoneId)
    -
    -
    Sets an ID for this timezone. This is a required property. -

    -

    -
    Parameters:
    timezoneId - the timezone ID or null to remove
    Specification Reference:
    RFC 5545 p.102-3
    -
    -
    -
    - -

    -setTimezoneId

    -
    -public TimezoneId setTimezoneId(String timezoneId)
    -
    -
    Sets an ID for this timezone. This is a required property. -

    -

    -
    Parameters:
    timezoneId - the timezone ID or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.102-3
    -
    -
    -
    - -

    -getLastModified

    -
    -public LastModified getLastModified()
    -
    -
    Gets the date-time that the timezone data was last changed. -

    -

    - -
    Returns:
    the last modified date or null if not set
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -setLastModified

    -
    -public void setLastModified(LastModified lastModified)
    -
    -
    Sets the date-time that the timezone data was last changed. -

    -

    -
    Parameters:
    lastModified - the last modified date or null to remove
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -setLastModified

    -
    -public LastModified setLastModified(Date lastModified)
    -
    -
    Sets the date-time that the timezone data was last changed. -

    -

    -
    Parameters:
    lastModified - the last modified date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -getTimezoneUrl

    -
    -public TimezoneUrl getTimezoneUrl()
    -
    -
    Gets the timezone URL, which points to an iCalendar object that contains - further information on the timezone. -

    -

    - -
    Returns:
    the URL or null if not set
    Specification Reference:
    RFC 5545 p.106
    -
    -
    -
    - -

    -setTimezoneUrl

    -
    -public void setTimezoneUrl(TimezoneUrl url)
    -
    -
    Sets the timezone URL, which points to an iCalendar object that contains - further information on the timezone. -

    -

    -
    Parameters:
    url - the URL or null to remove
    Specification Reference:
    RFC 5545 p.106
    -
    -
    -
    - -

    -setTimezoneUrl

    -
    -public TimezoneUrl setTimezoneUrl(String url)
    -
    -
    Sets the timezone URL, which points to an iCalendar object that contains - further information on the timezone. -

    -

    -
    Parameters:
    url - the timezone URL (e.g. - "http://example.com/America-New_York.ics") or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.106
    -
    -
    -
    - -

    -getStandardTimes

    -
    -public List<StandardTime> getStandardTimes()
    -
    -
    Gets the timezone's "standard" observance time ranges. -

    -

    - -
    Returns:
    the "standard" observance time ranges
    -
    -
    -
    - -

    -addStandardTime

    -
    -public void addStandardTime(StandardTime standardTime)
    -
    -
    Adds a "standard" observance time range. -

    -

    -
    Parameters:
    standardTime - the "standard" observance time
    -
    -
    -
    - -

    -getDaylightSavingsTime

    -
    -public List<DaylightSavingsTime> getDaylightSavingsTime()
    -
    -
    Gets the timezone's "daylight savings" observance time ranges. -

    -

    - -
    Returns:
    the "daylight savings" observance time ranges
    -
    -
    -
    - -

    -addDaylightSavingsTime

    -
    -public void addDaylightSavingsTime(DaylightSavingsTime daylightSavingsTime)
    -
    -
    Adds a "daylight savings" observance time range. -

    -

    -
    Parameters:
    daylightSavingsTime - the "daylight savings" observance time
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalComponent
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Overrides:
    validate in class ICalComponent
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/VTodo.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/VTodo.html deleted file mode 100644 index 25b908c9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/VTodo.html +++ /dev/null @@ -1,2486 +0,0 @@ - - - - - - - -VTodo (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component -
    -Class VTodo

    -
    -java.lang.Object
    -  extended by biweekly.component.ICalComponent
    -      extended by biweekly.component.VTodo
    -
    -
    -
    -
    public class VTodo
    extends ICalComponent
    - - -

    -

    - Defines a task or assignment. -

    -

    - Examples: - -

    - VTodo todo = new VTodo();
    - todo.setSummary("Complete report");
    - Date due = ...
    - todo.setDateDue(due);
    - todo.setStatus(Status.confirmed());
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.55-7
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.ICalComponent
    components, properties
    -  - - - - - - - - - - -
    -Constructor Summary
    VTodo() - -
    -           - Creates a new to-do entry.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddAlarm(VAlarm alarm) - -
    -          Adds an alarm to this to-do.
    - voidaddAttachment(Attachment attachment) - -
    -          Adds an attachment to the to-do.
    - voidaddAttendee(Attendee attendee) - -
    -          Adds a person who is involved in the to-do.
    - AttendeeaddAttendee(String email) - -
    -          Adds a person who is involved in the to-do.
    - voidaddCategories(Categories categories) - -
    -          Adds a list of "tags" or "keywords" that describe the to-do.
    - CategoriesaddCategories(List<String> categories) - -
    -          Adds a list of "tags" or "keywords" that describe the to-do.
    - CategoriesaddCategories(String... categories) - -
    -          Adds a list of "tags" or "keywords" that describe the to-do.
    - voidaddComment(Comment comment) - -
    -          Adds a comment to the to-do.
    - CommentaddComment(String comment) - -
    -          Adds a comment to the to-do.
    - voidaddContact(Contact contact) - -
    -          Adds a contact to the to-do.
    - ContactaddContact(String contact) - -
    -          Adds a contact to the to-do.
    - voidaddExceptionDates(ExceptionDates exceptionDates) - -
    -          Adds a list of exceptions to the recurrence rule defined in the to-do (if - one is defined).
    - voidaddExceptionRule(ExceptionRule exceptionRule) - -
    -           - Adds an exception for the RecurrenceRule property.
    - ExceptionRuleaddExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    - voidaddRecurrenceDates(RecurrenceDates recurrenceDates) - -
    -          Adds a list of dates/periods that help define the recurrence rule of this - to-do (if one is defined).
    - voidaddRelatedTo(RelatedTo relatedTo) - -
    -          Adds a component that the to-do is related to.
    - RelatedToaddRelatedTo(String uid) - -
    -          Adds a component that the to-do is related to.
    - ResourcesaddResources(List<String> resources) - -
    -          Adds a list of resources that are needed for the to-do.
    - voidaddResources(Resources resources) - -
    -          Adds a list of resources that are needed for the to-do.
    - ResourcesaddResources(String... resources) - -
    -          Adds a list of resources that are needed for the to-do.
    - List<VAlarm>getAlarms() - -
    -          Gets the alarms that are assigned to this to-do.
    - List<Attachment>getAttachments() - -
    -          Gets any attachments that are associated with the to-do.
    - List<Attendee>getAttendees() - -
    -          Gets the people who are involved in the to-do.
    - List<Categories>getCategories() - -
    -          Gets a list of "tags" or "keywords" that describe the to-do.
    - ClassificationgetClassification() - -
    -          Gets the level of sensitivity of the to-do data.
    - List<Comment>getComments() - -
    -          Gets the comments attached to the to-do.
    - CompletedgetCompleted() - -
    -          Gets the date and time that the to-do was completed.
    - List<Contact>getContacts() - -
    -          Gets the contacts associated with the to-do.
    - CreatedgetCreated() - -
    -          Gets the date-time that the to-do was initially created.
    - DateDuegetDateDue() - -
    -          Gets the date that a to-do is due by.
    - DateStartgetDateStart() - -
    -          Gets the date that the to-do starts.
    - DateTimeStampgetDateTimeStamp() - -
    -          Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information).
    - DescriptiongetDescription() - -
    -          Gets a detailed description of the to-do.
    - DurationPropertygetDuration() - -
    -          Gets the duration of the to-do.
    - List<ExceptionDates>getExceptionDates() - -
    -          Gets the list of exceptions to the recurrence rule defined in the to-do - (if one is defined).
    - List<ExceptionRule>getExceptionRules() - -
    -           - Gets the exceptions for the RecurrenceRule property.
    - GeogetGeo() - -
    -          Gets a set of geographical coordinates.
    - LastModifiedgetLastModified() - -
    -          Gets the date-time that the to-do was last changed.
    - LocationgetLocation() - -
    -          Gets the physical location of the to-do.
    - OrganizergetOrganizer() - -
    -          Gets the organizer of the to-do.
    - PercentCompletegetPercentComplete() - -
    -          Gets the amount that the to-do task has been completed.
    - PrioritygetPriority() - -
    -          Gets the priority of the to-do.
    - List<RecurrenceDates>getRecurrenceDates() - -
    -          Gets the list of dates/periods that help define the recurrence rule of - this to-do (if one is defined).
    - RecurrenceIdgetRecurrenceId() - -
    -          Gets the original value of the DateStart property if the to-do is - recurring and has been modified.
    - RecurrenceRulegetRecurrenceRule() - -
    -          Gets how often the to-do repeats.
    - List<RelatedTo>getRelatedTo() - -
    -          Gets the components that the to-do is related to.
    - RequestStatusgetRequestStatus() - -
    -          Gets the response to a scheduling request.
    - List<Resources>getResources() - -
    -          Gets the resources that are needed for the to-do.
    - SequencegetSequence() - -
    -          Gets the revision number of the to-do.
    - StatusgetStatus() - -
    -          Gets the status of the to-do.
    - SummarygetSummary() - -
    -          Gets the summary of the to-do.
    - UidgetUid() - -
    -          Gets the unique identifier for this to-do.
    - UrlgetUrl() - -
    -          Gets a URL to a resource that contains additional information about the - to-do.
    - voidincrementSequence() - -
    -          Increments the revision number of the to-do.
    - voidsetClassification(Classification classification) - -
    -          Sets the level of sensitivity of the to-do data.
    - ClassificationsetClassification(String classification) - -
    -          Sets the level of sensitivity of the to-do data.
    - voidsetCompleted(Completed completed) - -
    -          Sets the date and time that the to-do was completed.
    - CompletedsetCompleted(Date completed) - -
    -          Sets the date and time that the to-do was completed.
    - voidsetCreated(Created created) - -
    -          Sets the date-time that the to-do was initially created.
    - CreatedsetCreated(Date created) - -
    -          Sets the date-time that the to-do was initially created.
    - DateDuesetDateDue(Date dateDue) - -
    -          Sets the date that a to-do is due by.
    - voidsetDateDue(DateDue dateDue) - -
    -          Sets the date that a to-do is due by.
    - DateStartsetDateStart(Date dateStart) - -
    -          Sets the date that the to-do starts.
    - voidsetDateStart(DateStart dateStart) - -
    -          Sets the date that the to-do starts.
    - DateTimeStampsetDateTimeStamp(Date dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information).
    - voidsetDateTimeStamp(DateTimeStamp dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information).
    - voidsetDescription(Description description) - -
    -          Sets a detailed description of the to-do.
    - DescriptionsetDescription(String description) - -
    -          Sets a detailed description of the to-do.
    - DurationPropertysetDuration(Duration duration) - -
    -          Sets the duration of the to-do.
    - voidsetDuration(DurationProperty duration) - -
    -          Sets the duration of the to-do.
    - voidsetGeo(Geo geo) - -
    -          Sets a set of geographical coordinates.
    - LastModifiedsetLastModified(Date lastModified) - -
    -          Sets the date-time that the to-do was last changed.
    - voidsetLastModified(LastModified lastModified) - -
    -          Sets the date-time that the to-do was last changed.
    - voidsetLocation(Location location) - -
    -          Sets the physical location of the to-do.
    - LocationsetLocation(String location) - -
    -          Sets the physical location of the to-do.
    - voidsetOrganizer(Organizer organizer) - -
    -          Sets the organizer of the to-do.
    - OrganizersetOrganizer(String email) - -
    -          Sets the organizer of the to-do.
    - PercentCompletesetPercentComplete(Integer percent) - -
    -          Sets the amount that the to-do task has been completed.
    - voidsetPercentComplete(PercentComplete percentComplete) - -
    -          Sets the amount that the to-do task has been completed.
    - PrioritysetPriority(Integer priority) - -
    -          Sets the priority of the to-do.
    - voidsetPriority(Priority priority) - -
    -          Sets the priority of the to-do.
    - RecurrenceIdsetRecurrenceId(Date originalStartDate) - -
    -          Sets the original value of the DateStart property if the to-do is - recurring and has been modified.
    - voidsetRecurrenceId(RecurrenceId recurrenceId) - -
    -          Sets the original value of the DateStart property if the to-do is - recurring and has been modified.
    - RecurrenceRulesetRecurrenceRule(Recurrence recur) - -
    -          Sets how often the to-do repeats.
    - voidsetRecurrenceRule(RecurrenceRule recurrenceRule) - -
    -          Sets how often the to-do repeats.
    - voidsetRequestStatus(RequestStatus requestStatus) - -
    -          Sets the response to a scheduling request.
    - SequencesetSequence(Integer sequence) - -
    -          Sets the revision number of the to-do.
    - voidsetSequence(Sequence sequence) - -
    -          Sets the revision number of the to-do.
    - voidsetStatus(Status status) - -
    -          Sets the status of the to-do.
    - SummarysetSummary(String summary) - -
    -          Sets the summary of the to-do.
    - voidsetSummary(Summary summary) - -
    -          Sets the summary of the to-do.
    - UidsetUid(String uid) - -
    -          Sets the unique identifier for this to-do.
    - voidsetUid(Uid uid) - -
    -          Sets the unique identifier for this to-do.
    - UrlsetUrl(String url) - -
    -          Sets a URL to a resource that contains additional information about the - to-do.
    - voidsetUrl(Url url) - -
    -          Sets a URL to a resource that contains additional information about the - to-do.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.component.ICalComponent
    addComponent, addExperimentalComponent, addExperimentalProperty, addExperimentalProperty, addProperty, checkOptionalCardinality, checkRequiredCardinality, getComponent, getComponents, getComponents, getExperimentalComponent, getExperimentalComponents, getExperimentalComponents, getExperimentalProperties, getExperimentalProperties, getExperimentalProperty, getProperties, getProperties, getProperty, removeExperimentalComponents, removeExperimentalProperty, removeProperties, setComponent, setComponent, setExperimentalComponents, setExperimentalProperty, setExperimentalProperty, setProperty, setProperty, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VTodo

    -
    -public VTodo()
    -
    -

    - Creates a new to-do entry. -

    -

    - The following properties are auto-generated on object creation. These - properties must be present in order for the to-do to be valid: -

    -

    -

    -

    - - - - - - - - -
    -Method Detail
    - -

    -getUid

    -
    -public Uid getUid()
    -
    -
    Gets the unique identifier for this to-do. This component object comes - populated with a UID on creation. This is a required property. -

    -

    - -
    Returns:
    the UID or null if not set
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -setUid

    -
    -public void setUid(Uid uid)
    -
    -
    Sets the unique identifier for this to-do. This component object comes - populated with a UID on creation. This is a required property. -

    -

    -
    Parameters:
    uid - the UID or null to remove
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -setUid

    -
    -public Uid setUid(String uid)
    -
    -
    Sets the unique identifier for this to-do. This component object comes - populated with a UID on creation. This is a required property. -

    -

    -
    Parameters:
    uid - the UID or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.117-8
    -
    -
    -
    - -

    -getDateTimeStamp

    -
    -public DateTimeStamp getDateTimeStamp()
    -
    -
    Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information). This to-do object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    - -
    Returns:
    the date time stamp or null if not set
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -setDateTimeStamp

    -
    -public void setDateTimeStamp(DateTimeStamp dateTimeStamp)
    -
    -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information). This to-do object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    -
    Parameters:
    dateTimeStamp - the date time stamp or null to remove
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -setDateTimeStamp

    -
    -public DateTimeStamp setDateTimeStamp(Date dateTimeStamp)
    -
    -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information). This to-do object comes populated with a - DateTimeStamp property that is set to the current time. This is a - required property. -

    -

    -
    Parameters:
    dateTimeStamp - the date time stamp or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.137-8
    -
    -
    -
    - -

    -getClassification

    -
    -public Classification getClassification()
    -
    -
    Gets the level of sensitivity of the to-do data. If not specified, the - data within the to-do should be considered "public". -

    -

    - -
    Returns:
    the classification level or null if not set
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -setClassification

    -
    -public void setClassification(Classification classification)
    -
    -
    Sets the level of sensitivity of the to-do data. If not specified, the - data within the to-do should be considered "public". -

    -

    -
    Parameters:
    classification - the classification level or null to remove
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -setClassification

    -
    -public Classification setClassification(String classification)
    -
    -
    Sets the level of sensitivity of the to-do data. If not specified, the - data within the to-do should be considered "public". -

    -

    -
    Parameters:
    classification - the classification level (e.g. "CONFIDENTIAL") or - null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.82-3
    -
    -
    -
    - -

    -getCompleted

    -
    -public Completed getCompleted()
    -
    -
    Gets the date and time that the to-do was completed. -

    -

    - -
    Returns:
    the completion date or null if not set
    Specification Reference:
    RFC 5545 p.94-5
    -
    -
    -
    - -

    -setCompleted

    -
    -public void setCompleted(Completed completed)
    -
    -
    Sets the date and time that the to-do was completed. -

    -

    -
    Parameters:
    completed - the completion date or null to remove
    Specification Reference:
    RFC 5545 p.94-5
    -
    -
    -
    - -

    -setCompleted

    -
    -public Completed setCompleted(Date completed)
    -
    -
    Sets the date and time that the to-do was completed. -

    -

    -
    Parameters:
    completed - the completion date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.94-5
    -
    -
    -
    - -

    -getCreated

    -
    -public Created getCreated()
    -
    -
    Gets the date-time that the to-do was initially created. -

    -

    - -
    Returns:
    the creation date-time or null if not set
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -setCreated

    -
    -public void setCreated(Created created)
    -
    -
    Sets the date-time that the to-do was initially created. -

    -

    -
    Parameters:
    created - the creation date-time or null to remove
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -setCreated

    -
    -public Created setCreated(Date created)
    -
    -
    Sets the date-time that the to-do was initially created. -

    -

    -
    Parameters:
    created - the creation date-time or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.136
    -
    -
    -
    - -

    -getDescription

    -
    -public Description getDescription()
    -
    -
    Gets a detailed description of the to-do. The description should be more - detailed than the one provided by the Summary property. -

    -

    - -
    Returns:
    the description or null if not set
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -setDescription

    -
    -public void setDescription(Description description)
    -
    -
    Sets a detailed description of the to-do. The description should be more - detailed than the one provided by the Summary property. -

    -

    -
    Parameters:
    description - the description or null to remove
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -setDescription

    -
    -public Description setDescription(String description)
    -
    -
    Sets a detailed description of the to-do. The description should be more - detailed than the one provided by the Summary property. -

    -

    -
    Parameters:
    description - the description or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.84-5
    -
    -
    -
    - -

    -getDateStart

    -
    -public DateStart getDateStart()
    -
    -
    Gets the date that the to-do starts. -

    -

    - -
    Returns:
    the start date or null if not set
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public void setDateStart(DateStart dateStart)
    -
    -
    Sets the date that the to-do starts. -

    -

    -
    Parameters:
    dateStart - the start date or null to remove
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -setDateStart

    -
    -public DateStart setDateStart(Date dateStart)
    -
    -
    Sets the date that the to-do starts. -

    -

    -
    Parameters:
    dateStart - the start date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.97-8
    -
    -
    -
    - -

    -getGeo

    -
    -public Geo getGeo()
    -
    -
    Gets a set of geographical coordinates. -

    -

    - -
    Returns:
    the geographical coordinates or null if not set
    Specification Reference:
    RFC 5545 p.85-7
    -
    -
    -
    - -

    -setGeo

    -
    -public void setGeo(Geo geo)
    -
    -
    Sets a set of geographical coordinates. -

    -

    -
    Parameters:
    geo - the geographical coordinates or null to remove
    Specification Reference:
    RFC 5545 p.85-7
    -
    -
    -
    - -

    -getLastModified

    -
    -public LastModified getLastModified()
    -
    -
    Gets the date-time that the to-do was last changed. -

    -

    - -
    Returns:
    the last modified date or null if not set
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -setLastModified

    -
    -public void setLastModified(LastModified lastModified)
    -
    -
    Sets the date-time that the to-do was last changed. -

    -

    -
    Parameters:
    lastModified - the last modified date or null to remove
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -setLastModified

    -
    -public LastModified setLastModified(Date lastModified)
    -
    -
    Sets the date-time that the to-do was last changed. -

    -

    -
    Parameters:
    lastModified - the last modified date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.138
    -
    -
    -
    - -

    -getLocation

    -
    -public Location getLocation()
    -
    -
    Gets the physical location of the to-do. -

    -

    - -
    Returns:
    the location or null if not set
    Specification Reference:
    RFC 5545 p.87-8
    -
    -
    -
    - -

    -setLocation

    -
    -public void setLocation(Location location)
    -
    -
    Sets the physical location of the to-do. -

    -

    -
    Parameters:
    location - the location or null to remove
    Specification Reference:
    RFC 5545 p.87-8
    -
    -
    -
    - -

    -setLocation

    -
    -public Location setLocation(String location)
    -
    -
    Sets the physical location of the to-do. -

    -

    -
    Parameters:
    location - the location (e.g. "Room 101") or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.87-8
    -
    -
    -
    - -

    -getOrganizer

    -
    -public Organizer getOrganizer()
    -
    -
    Gets the organizer of the to-do. -

    -

    - -
    Returns:
    the organizer or null if not set
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -setOrganizer

    -
    -public void setOrganizer(Organizer organizer)
    -
    -
    Sets the organizer of the to-do. -

    -

    -
    Parameters:
    organizer - the organizer or null to remove
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -setOrganizer

    -
    -public Organizer setOrganizer(String email)
    -
    -
    Sets the organizer of the to-do. -

    -

    -
    Parameters:
    email - the organizer's email address (e.g. "johndoe@example.com") - or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.111-2
    -
    -
    -
    - -

    -getPercentComplete

    -
    -public PercentComplete getPercentComplete()
    -
    -
    Gets the amount that the to-do task has been completed. -

    -

    - -
    Returns:
    the percent complete or null if not set
    Specification Reference:
    RFC 5545 p.88-9
    -
    -
    -
    - -

    -setPercentComplete

    -
    -public void setPercentComplete(PercentComplete percentComplete)
    -
    -
    Sets the amount that the to-do task has been completed. -

    -

    -
    Parameters:
    percentComplete - the percent complete or null to remove
    Specification Reference:
    RFC 5545 p.88-9
    -
    -
    -
    - -

    -setPercentComplete

    -
    -public PercentComplete setPercentComplete(Integer percent)
    -
    -
    Sets the amount that the to-do task has been completed. -

    -

    -
    Parameters:
    percent - the percent complete (e.g. "50" for 50%) or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.88-9
    -
    -
    -
    - -

    -getPriority

    -
    -public Priority getPriority()
    -
    -
    Gets the priority of the to-do. -

    -

    - -
    Returns:
    the priority or null if not set
    Specification Reference:
    RFC 5545 p.89-90
    -
    -
    -
    - -

    -setPriority

    -
    -public void setPriority(Priority priority)
    -
    -
    Sets the priority of the to-do. -

    -

    -
    Parameters:
    priority - the priority or null to remove
    Specification Reference:
    RFC 5545 p.89-90
    -
    -
    -
    - -

    -setPriority

    -
    -public Priority setPriority(Integer priority)
    -
    -
    Sets the priority of the to-do. -

    -

    -
    Parameters:
    priority - the priority ("0" is undefined, "1" is the highest, "9" - is the lowest) or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.89-90
    -
    -
    -
    - -

    -getRecurrenceId

    -
    -public RecurrenceId getRecurrenceId()
    -
    -
    Gets the original value of the DateStart property if the to-do is - recurring and has been modified. Used in conjunction with the Uid - and Sequence properties to uniquely identify a recurrence - instance. -

    -

    - -
    Returns:
    the recurrence ID or null if not set
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -setRecurrenceId

    -
    -public void setRecurrenceId(RecurrenceId recurrenceId)
    -
    -
    Sets the original value of the DateStart property if the to-do is - recurring and has been modified. Used in conjunction with the Uid - and Sequence properties to uniquely identify a recurrence - instance. -

    -

    -
    Parameters:
    recurrenceId - the recurrence ID or null to remove
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -setRecurrenceId

    -
    -public RecurrenceId setRecurrenceId(Date originalStartDate)
    -
    -
    Sets the original value of the DateStart property if the to-do is - recurring and has been modified. Used in conjunction with the Uid - and Sequence properties to uniquely identify a recurrence - instance. -

    -

    -
    Parameters:
    originalStartDate - the original start date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.112-4
    -
    -
    -
    - -

    -getSequence

    -
    -public Sequence getSequence()
    -
    -
    Gets the revision number of the to-do. The organizer can increment this - number every time he or she makes a significant change. -

    -

    - -
    Returns:
    the sequence number
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -setSequence

    -
    -public void setSequence(Sequence sequence)
    -
    -
    Sets the revision number of the to-do. The organizer can increment this - number every time he or she makes a significant change. -

    -

    -
    Parameters:
    sequence - the sequence number
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -setSequence

    -
    -public Sequence setSequence(Integer sequence)
    -
    -
    Sets the revision number of the to-do. The organizer can increment this - number every time he or she makes a significant change. -

    -

    -
    Parameters:
    sequence - the sequence number -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -incrementSequence

    -
    -public void incrementSequence()
    -
    -
    Increments the revision number of the to-do. The organizer can increment - this number every time he or she makes a significant change. -

    -

    -
    Specification Reference:
    RFC 5545 p.138-9
    -
    -
    -
    - -

    -getStatus

    -
    -public Status getStatus()
    -
    -
    Gets the status of the to-do. -

    -

    - -
    Returns:
    the status or null if not set
    Specification Reference:
    RFC 5545 p.92-3
    -
    -
    -
    - -

    -setStatus

    -
    -public void setStatus(Status status)
    -
    -
    Sets the status of the to-do. -

    - Valid to-do status codes are: -

      -
    • NEEDS-ACTION
    • -
    • COMPLETED
    • -
    • IN-PROGRESS
    • -
    • CANCELLED
    • -
    -

    -

    -

    -
    Parameters:
    status - the status or null to remove
    Specification Reference:
    RFC 5545 p.92-3
    -
    -
    -
    - -

    -getSummary

    -
    -public Summary getSummary()
    -
    -
    Gets the summary of the to-do. -

    -

    - -
    Returns:
    the summary or null if not set
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -setSummary

    -
    -public void setSummary(Summary summary)
    -
    -
    Sets the summary of the to-do. -

    -

    -
    Parameters:
    summary - the summary or null to remove
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -setSummary

    -
    -public Summary setSummary(String summary)
    -
    -
    Sets the summary of the to-do. -

    -

    -
    Parameters:
    summary - the summary or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.93-4
    -
    -
    -
    - -

    -getUrl

    -
    -public Url getUrl()
    -
    -
    Gets a URL to a resource that contains additional information about the - to-do. -

    -

    - -
    Returns:
    the URL or null if not set
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -setUrl

    -
    -public void setUrl(Url url)
    -
    -
    Sets a URL to a resource that contains additional information about the - to-do. -

    -

    -
    Parameters:
    url - the URL or null to remove
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -setUrl

    -
    -public Url setUrl(String url)
    -
    -
    Sets a URL to a resource that contains additional information about the - to-do. -

    -

    -
    Parameters:
    url - the URL (e.g. "http://example.com/resource.ics") or null to - remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.116-7
    -
    -
    -
    - -

    -getRecurrenceRule

    -
    -public RecurrenceRule getRecurrenceRule()
    -
    -
    Gets how often the to-do repeats. -

    -

    - -
    Returns:
    the recurrence rule or null if not set
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -setRecurrenceRule

    -
    -public RecurrenceRule setRecurrenceRule(Recurrence recur)
    -
    -
    Sets how often the to-do repeats. -

    -

    -
    Parameters:
    recur - the recurrence rule or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -setRecurrenceRule

    -
    -public void setRecurrenceRule(RecurrenceRule recurrenceRule)
    -
    -
    Sets how often the to-do repeats. -

    -

    -
    Parameters:
    recurrenceRule - the recurrence rule or null to remove
    Specification Reference:
    RFC 5545 p.122-32
    -
    -
    -
    - -

    -getDateDue

    -
    -public DateDue getDateDue()
    -
    -
    Gets the date that a to-do is due by. -

    -

    - -
    Returns:
    the due date or null if not set
    Specification Reference:
    RFC 5545 p.96-7
    -
    -
    -
    - -

    -setDateDue

    -
    -public void setDateDue(DateDue dateDue)
    -
    -
    Sets the date that a to-do is due by. This must NOT be set if a - DurationProperty is defined. -

    -

    -
    Parameters:
    dateDue - the due date or null to remove
    Specification Reference:
    RFC 5545 p.96-7
    -
    -
    -
    - -

    -setDateDue

    -
    -public DateDue setDateDue(Date dateDue)
    -
    -
    Sets the date that a to-do is due by. This must NOT be set if a - DurationProperty is defined. -

    -

    -
    Parameters:
    dateDue - the due date or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.96-7
    -
    -
    -
    - -

    -getDuration

    -
    -public DurationProperty getDuration()
    -
    -
    Gets the duration of the to-do. -

    -

    - -
    Returns:
    the duration or null if not set
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -setDuration

    -
    -public void setDuration(DurationProperty duration)
    -
    -
    Sets the duration of the to-do. This must NOT be set if a DateDue - is defined. -

    -

    -
    Parameters:
    duration - the duration or null to remove
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -setDuration

    -
    -public DurationProperty setDuration(Duration duration)
    -
    -
    Sets the duration of the to-do. This must NOT be set if a DateDue - is defined. -

    -

    -
    Parameters:
    duration - the duration or null to remove -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.99
    -
    -
    -
    - -

    -getAttachments

    -
    -public List<Attachment> getAttachments()
    -
    -
    Gets any attachments that are associated with the to-do. -

    -

    - -
    Returns:
    the attachments
    Specification Reference:
    RFC 5545 p.80-1
    -
    -
    -
    - -

    -addAttachment

    -
    -public void addAttachment(Attachment attachment)
    -
    -
    Adds an attachment to the to-do. -

    -

    -
    Parameters:
    attachment - the attachment to add
    Specification Reference:
    RFC 5545 p.80-1
    -
    -
    -
    - -

    -getAttendees

    -
    -public List<Attendee> getAttendees()
    -
    -
    Gets the people who are involved in the to-do. -

    -

    - -
    Returns:
    the attendees
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -addAttendee

    -
    -public void addAttendee(Attendee attendee)
    -
    -
    Adds a person who is involved in the to-do. -

    -

    -
    Parameters:
    attendee - the attendee
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -addAttendee

    -
    -public Attendee addAttendee(String email)
    -
    -
    Adds a person who is involved in the to-do. -

    -

    -
    Parameters:
    email - the attendee's email address -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.107-9
    -
    -
    -
    - -

    -getCategories

    -
    -public List<Categories> getCategories()
    -
    -
    Gets a list of "tags" or "keywords" that describe the to-do. -

    -

    - -
    Returns:
    the categories
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public void addCategories(Categories categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the to-do. Note that a - single property can hold multiple keywords. -

    -

    -
    Parameters:
    categories - the categories to add
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public Categories addCategories(String... categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the to-do. -

    -

    -
    Parameters:
    categories - the categories to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -addCategories

    -
    -public Categories addCategories(List<String> categories)
    -
    -
    Adds a list of "tags" or "keywords" that describe the to-do. -

    -

    -
    Parameters:
    categories - the categories to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.81-2
    -
    -
    -
    - -

    -getComments

    -
    -public List<Comment> getComments()
    -
    -
    Gets the comments attached to the to-do. -

    -

    - -
    Returns:
    the comments
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public void addComment(Comment comment)
    -
    -
    Adds a comment to the to-do. -

    -

    -
    Parameters:
    comment - the comment to add
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -addComment

    -
    -public Comment addComment(String comment)
    -
    -
    Adds a comment to the to-do. -

    -

    -
    Parameters:
    comment - the comment to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.83-4
    -
    -
    -
    - -

    -getContacts

    -
    -public List<Contact> getContacts()
    -
    -
    Gets the contacts associated with the to-do. -

    -

    - -
    Returns:
    the contacts
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -addContact

    -
    -public void addContact(Contact contact)
    -
    -
    Adds a contact to the to-do. -

    -

    -
    Parameters:
    contact - the contact
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -addContact

    -
    -public Contact addContact(String contact)
    -
    -
    Adds a contact to the to-do. -

    -

    -
    Parameters:
    contact - the contact (e.g. "ACME Co - (123) 555-1234") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.109-11
    -
    -
    -
    - -

    -getExceptionDates

    -
    -public List<ExceptionDates> getExceptionDates()
    -
    -
    Gets the list of exceptions to the recurrence rule defined in the to-do - (if one is defined). -

    -

    - -
    Returns:
    the list of exceptions
    Specification Reference:
    RFC 5545 p.118-20
    -
    -
    -
    - -

    -addExceptionDates

    -
    -public void addExceptionDates(ExceptionDates exceptionDates)
    -
    -
    Adds a list of exceptions to the recurrence rule defined in the to-do (if - one is defined). Note that this property can contain multiple dates. -

    -

    -
    Parameters:
    exceptionDates - the list of exceptions
    Specification Reference:
    RFC 5545 p.118-20
    -
    -
    -
    - -

    -getRequestStatus

    -
    -public RequestStatus getRequestStatus()
    -
    -
    Gets the response to a scheduling request. -

    -

    - -
    Returns:
    the response
    Specification Reference:
    RFC 5545 p.141-3
    -
    -
    -
    - -

    -setRequestStatus

    -
    -public void setRequestStatus(RequestStatus requestStatus)
    -
    -
    Sets the response to a scheduling request. -

    -

    -
    Parameters:
    requestStatus - the response
    Specification Reference:
    RFC 5545 p.141-3
    -
    -
    -
    - -

    -getRelatedTo

    -
    -public List<RelatedTo> getRelatedTo()
    -
    -
    Gets the components that the to-do is related to. -

    -

    - -
    Returns:
    the relationships
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -addRelatedTo

    -
    -public void addRelatedTo(RelatedTo relatedTo)
    -
    -
    Adds a component that the to-do is related to. -

    -

    -
    Parameters:
    relatedTo - the relationship
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -addRelatedTo

    -
    -public RelatedTo addRelatedTo(String uid)
    -
    -
    Adds a component that the to-do is related to. -

    -

    -
    Parameters:
    uid - the UID of the other component -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.115-6
    -
    -
    -
    - -

    -getResources

    -
    -public List<Resources> getResources()
    -
    -
    Gets the resources that are needed for the to-do. -

    -

    - -
    Returns:
    the resources
    Specification Reference:
    RFC 5545 p.91
    -
    -
    -
    - -

    -addResources

    -
    -public void addResources(Resources resources)
    -
    -
    Adds a list of resources that are needed for the to-do. Note that a - single property can hold multiple resources. -

    -

    -
    Parameters:
    resources - the resources to add
    Specification Reference:
    RFC 5545 p.91
    -
    -
    -
    - -

    -addResources

    -
    -public Resources addResources(String... resources)
    -
    -
    Adds a list of resources that are needed for the to-do. -

    -

    -
    Parameters:
    resources - the resources to add (e.g. "easel", "projector") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.91
    -
    -
    -
    - -

    -addResources

    -
    -public Resources addResources(List<String> resources)
    -
    -
    Adds a list of resources that are needed for the to-do. -

    -

    -
    Parameters:
    resources - the resources to add (e.g. "easel", "projector") -
    Returns:
    the property that was created
    Specification Reference:
    RFC 5545 p.91
    -
    -
    -
    - -

    -getRecurrenceDates

    -
    -public List<RecurrenceDates> getRecurrenceDates()
    -
    -
    Gets the list of dates/periods that help define the recurrence rule of - this to-do (if one is defined). -

    -

    - -
    Returns:
    the recurrence dates
    Specification Reference:
    RFC 5545 p.120-2
    -
    -
    -
    - -

    -addRecurrenceDates

    -
    -public void addRecurrenceDates(RecurrenceDates recurrenceDates)
    -
    -
    Adds a list of dates/periods that help define the recurrence rule of this - to-do (if one is defined). -

    -

    -
    Parameters:
    recurrenceDates - the recurrence dates
    Specification Reference:
    RFC 5545 p.120-2
    -
    -
    -
    - -

    -getAlarms

    -
    -public List<VAlarm> getAlarms()
    -
    -
    Gets the alarms that are assigned to this to-do. -

    -

    - -
    Returns:
    the alarms
    Specification Reference:
    RFC 5545 p.71-6
    -
    -
    -
    - -

    -addAlarm

    -
    -public void addAlarm(VAlarm alarm)
    -
    -
    Adds an alarm to this to-do. -

    -

    -
    Parameters:
    alarm - the alarm
    Specification Reference:
    RFC 5545 p.71-6
    -
    -
    -
    - -

    -getExceptionRules

    -
    -public List<ExceptionRule> getExceptionRules()
    -
    -

    - Gets the exceptions for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    - -
    Returns:
    the exception rules
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -addExceptionRule

    -
    -public ExceptionRule addExceptionRule(Recurrence recur)
    -
    -

    - Adds an exception for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    -
    Parameters:
    recur - the exception rule to add -
    Returns:
    the property that was created
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -addExceptionRule

    -
    -public void addExceptionRule(ExceptionRule exceptionRule)
    -
    -

    - Adds an exception for the RecurrenceRule property. -

    -

    - Note that this property has been removed from the latest version of the - iCal specification. Its use should be avoided. -

    -

    -

    -
    Parameters:
    exceptionRule - the exception rule to add
    Specification Reference:
    RFC 2445 p.114-15
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalComponent
    -
    Checks the component for data consistency problems or deviations from the - spec. Meant to be overridden by child classes. -

    -

    -
    Overrides:
    validate in class ICalComponent
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the component belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/DaylightSavingsTime.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/DaylightSavingsTime.html deleted file mode 100644 index ba8640f2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/DaylightSavingsTime.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.DaylightSavingsTime (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.DaylightSavingsTime

    -
    - - - - - - - - - - - - - -
    -Packages that use DaylightSavingsTime
    biweekly.component  
    biweekly.component.marshaller  
    -  -

    - - - - - -
    -Uses of DaylightSavingsTime in biweekly.component
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type DaylightSavingsTime
    - List<DaylightSavingsTime>VTimezone.getDaylightSavingsTime() - -
    -          Gets the timezone's "daylight savings" observance time ranges.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type DaylightSavingsTime
    - voidVTimezone.addDaylightSavingsTime(DaylightSavingsTime daylightSavingsTime) - -
    -          Adds a "daylight savings" observance time range.
    -  -

    - - - - - -
    -Uses of DaylightSavingsTime in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return DaylightSavingsTime
    -protected  DaylightSavingsTimeDaylightSavingsTimeMarshaller._newInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/ICalComponent.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/ICalComponent.html deleted file mode 100644 index 5b8fbbca..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/ICalComponent.html +++ /dev/null @@ -1,1115 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.ICalComponent (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.ICalComponent

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ICalComponent
    biweekly  
    biweekly.component  
    biweekly.component.marshaller  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of ICalComponent in biweekly
    -  -

    - - - - - - - - - -
    Subclasses of ICalComponent in biweekly
    - classICalendar - -
    -           - Represents an iCalendar object.
    -  -

    - - - - - - - - - -
    Methods in biweekly that return ICalComponent
    - ICalComponentValidationWarnings.WarningsGroup.getComponent() - -
    -          Gets the component object that caused the validation warnings.
    -  -

    - - - - - - - - - -
    Methods in biweekly that return types with arguments of type ICalComponent
    - List<ICalComponent>ValidationWarnings.WarningsGroup.getComponentHierarchy() - -
    -          Gets the hierarchy of components that the property or component - belongs to.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Method parameters in biweekly with type arguments of type ICalComponent
    - List<ValidationWarnings.WarningsGroup>ValidationWarnings.getByComponent(Class<? extends ICalComponent> componentClass) - -
    -          Gets all validation warnings of a given component.
    - Biweekly.ParserChainTextReaderBiweekly.ParserChainTextReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainTextStringBiweekly.ParserChainTextString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlStringBiweekly.ParserChainXmlString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlReaderBiweekly.ParserChainXmlReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlDocumentBiweekly.ParserChainXmlDocument.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainJsonReaderBiweekly.ParserChainJsonReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainJsonStringBiweekly.ParserChainJsonString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    -protected  voidICalendar.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - -
    Constructors in biweekly with parameters of type ICalComponent
    ValidationWarnings.WarningsGroup(ICalComponent component, - List<ICalComponent> componentHierarchy, - List<String> messages) - -
    -          Creates a new set of validation warnings for a component.
    -  -

    - - - - - - - - - - - -
    Constructor parameters in biweekly with type arguments of type ICalComponent
    ValidationWarnings.WarningsGroup(ICalComponent component, - List<ICalComponent> componentHierarchy, - List<String> messages) - -
    -          Creates a new set of validation warnings for a component.
    ValidationWarnings.WarningsGroup(ICalProperty property, - List<ICalComponent> componentHierarchy, - List<String> messages) - -
    -          Creates a new set of validation warnings for a property.
    -  -

    - - - - - -
    -Uses of ICalComponent in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of ICalComponent in biweekly.component
    - classDaylightSavingsTime - -
    -           - Defines a daylight savings time range within a VTimezone.
    - classObservance - -
    -          Parent class for the "daylight" and "standard" timezone observances.
    - classRawComponent - -
    -          A component that does not have a marshaller associated with it.
    - classStandardTime - -
    -           - Defines a standard time range within a VTimezone.
    - classVAlarm - -
    -           - Defines a reminder for an event or to-do task.
    - classVEvent - -
    -           - Defines a scheduled activity, such as a meeting that's two hours long.
    - classVFreeBusy - -
    -           - Defines a collection of time ranges that describe when the person is - available or unavailable.
    - classVJournal - -
    -           - Defines descriptive text associated with the calendar data.
    - classVTimezone - -
    -           - Defines a timezone's UTC offsets throughout the year.
    - classVTodo - -
    -           - Defines a task or assignment.
    -  -

    - - - - - - - - - - - - - -
    Fields in biweekly.component with type parameters of type ICalComponent
    -protected  ListMultimap<Class<? extends ICalComponent>,ICalComponent>ICalComponent.components - -
    -           
    -protected  ListMultimap<Class<? extends ICalComponent>,ICalComponent>ICalComponent.components - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with type parameters of type ICalComponent
    - - - - - -
    -<T extends ICalComponent> -
    -T
    -
    ICalComponent.getComponent(Class<T> clazz) - -
    -          Gets the first component of a given class.
    - - - - - -
    -<T extends ICalComponent> -
    -List<T>
    -
    ICalComponent.getComponents(Class<T> clazz) - -
    -          Gets all components of a given class.
    - - - - - -
    -<T extends ICalComponent> -
    -void
    -
    ICalComponent.setComponent(Class<T> clazz, - T component) - -
    -          Replaces all components of a given class with the given component.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type ICalComponent
    - ListMultimap<Class<? extends ICalComponent>,ICalComponent>ICalComponent.getComponents() - -
    -          Gets all the sub-components associated with this component.
    - ListMultimap<Class<? extends ICalComponent>,ICalComponent>ICalComponent.getComponents() - -
    -          Gets all the sub-components associated with this component.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type ICalComponent
    - voidICalComponent.addComponent(ICalComponent component) - -
    -          Adds a sub-component to this component.
    - voidICalComponent.setComponent(ICalComponent component) - -
    -          Replaces all components of a given class with the given component.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Method parameters in biweekly.component with type arguments of type ICalComponent
    - List<ValidationWarnings.WarningsGroup>ICalComponent.validate(List<ICalComponent> hierarchy) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    -protected  voidVTodo.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidVTimezone.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidVJournal.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidVFreeBusy.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidVEvent.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidVAlarm.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidObservance.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidICalComponent.validate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the component for data consistency problems or deviations from the - spec.
    -  -

    - - - - - -
    -Uses of ICalComponent in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Classes in biweekly.component.marshaller with type parameters of type ICalComponent
    - classICalComponentMarshaller<T extends ICalComponent> - -
    -          Base class for iCalendar component marshallers.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return types with arguments of type ICalComponent
    - Collection<ICalComponent>ICalComponentMarshaller.getComponents(T component) - -
    -          Gets the sub-components to marshal.
    -  -

    - - - - - -
    -Uses of ICalComponent in biweekly.io
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io that return types with arguments of type ICalComponent
    - ICalComponentMarshaller<? extends ICalComponent>ICalMarshallerRegistrar.getComponentMarshaller(Class<? extends ICalComponent> clazz) - -
    -          Gets a component marshaller by class.
    - ICalComponentMarshaller<? extends ICalComponent>ICalMarshallerRegistrar.getComponentMarshaller(ICalComponent component) - -
    -          Gets the appropriate component marshaller for a given component instance.
    - ICalComponentMarshaller<? extends ICalComponent>ICalMarshallerRegistrar.getComponentMarshaller(String componentName) - -
    -          Gets a component marshaller by name.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io with parameters of type ICalComponent
    - ICalComponentMarshaller<? extends ICalComponent>ICalMarshallerRegistrar.getComponentMarshaller(ICalComponent component) - -
    -          Gets the appropriate component marshaller for a given component instance.
    -  -

    - - - - - - - - - - - - - - - - - -
    Method parameters in biweekly.io with type arguments of type ICalComponent
    - ICalComponentMarshaller<? extends ICalComponent>ICalMarshallerRegistrar.getComponentMarshaller(Class<? extends ICalComponent> clazz) - -
    -          Gets a component marshaller by class.
    - voidICalMarshallerRegistrar.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - voidICalMarshallerRegistrar.unregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Unregisters a component marshaller.
    -  -

    - - - - - -
    -Uses of ICalComponent in biweekly.io.json
    -  -

    - - - - - - - - - - - - - -
    Method parameters in biweekly.io.json with type arguments of type ICalComponent
    - voidJCalWriter.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidJCalReader.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    -  -

    - - - - - -
    -Uses of ICalComponent in biweekly.io.text
    -  -

    - - - - - - - - - - - - - -
    Method parameters in biweekly.io.text with type arguments of type ICalComponent
    - voidICalWriter.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidICalReader.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    -  -

    - - - - - -
    -Uses of ICalComponent in biweekly.io.xml
    -  -

    - - - - - - - - - -
    Method parameters in biweekly.io.xml with type arguments of type ICalComponent
    - voidXCalDocument.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    -  -

    - - - - - -
    -Uses of ICalComponent in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Method parameters in biweekly.property with type arguments of type ICalComponent
    - List<String>ICalProperty.validate(List<ICalComponent> components) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    -protected  voidVersion.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidValuedProperty.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidUtcOffsetProperty.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidTrigger.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidRequestStatus.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidRecurrenceRule.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidRecurrenceProperty.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidRecurrenceDates.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidPercentComplete.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidListProperty.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidICalProperty.validate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    -protected  voidGeo.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidFreeBusy.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidExceptionRule.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidExceptionDates.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidEnumProperty.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidDateOrDateTimeProperty.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -protected  voidAttachment.validate(List<ICalComponent> components, - List<String> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/Observance.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/Observance.html deleted file mode 100644 index 0c6f492d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/Observance.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.Observance (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.Observance

    -
    - - - - - - - - - -
    -Packages that use Observance
    biweekly.component  
    -  -

    - - - - - -
    -Uses of Observance in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Subclasses of Observance in biweekly.component
    - classDaylightSavingsTime - -
    -           - Defines a daylight savings time range within a VTimezone.
    - classStandardTime - -
    -           - Defines a standard time range within a VTimezone.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/RawComponent.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/RawComponent.html deleted file mode 100644 index 642b8141..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/RawComponent.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.RawComponent (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.RawComponent

    -
    - - - - - - - - - - - - - -
    -Packages that use RawComponent
    biweekly.component  
    biweekly.component.marshaller  
    -  -

    - - - - - -
    -Uses of RawComponent in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return RawComponent
    - RawComponentICalComponent.addExperimentalComponent(String name) - -
    -          Adds an experimental sub-component to this component.
    - RawComponentICalComponent.getExperimentalComponent(String name) - -
    -          Gets the first experimental sub-component with a given name.
    - RawComponentICalComponent.setExperimentalComponents(String name) - -
    -          Adds an experimental sub-component to this component, removing all - existing components that have the same name.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type RawComponent
    - List<RawComponent>ICalComponent.getExperimentalComponents() - -
    -          Gets all experimental sub-components associated with this component.
    - List<RawComponent>ICalComponent.getExperimentalComponents(String name) - -
    -          Gets all experimental sub-component with a given name.
    -  -

    - - - - - -
    -Uses of RawComponent in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return RawComponent
    -protected  RawComponentRawComponentMarshaller._newInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/StandardTime.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/StandardTime.html deleted file mode 100644 index 8b2f2250..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/StandardTime.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.StandardTime (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.StandardTime

    -
    - - - - - - - - - - - - - -
    -Packages that use StandardTime
    biweekly.component  
    biweekly.component.marshaller  
    -  -

    - - - - - -
    -Uses of StandardTime in biweekly.component
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type StandardTime
    - List<StandardTime>VTimezone.getStandardTimes() - -
    -          Gets the timezone's "standard" observance time ranges.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type StandardTime
    - voidVTimezone.addStandardTime(StandardTime standardTime) - -
    -          Adds a "standard" observance time range.
    -  -

    - - - - - -
    -Uses of StandardTime in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return StandardTime
    -protected  StandardTimeStandardTimeMarshaller._newInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VAlarm.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VAlarm.html deleted file mode 100644 index d6e2ef12..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VAlarm.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.VAlarm (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.VAlarm

    -
    - - - - - - - - - - - - - -
    -Packages that use VAlarm
    biweekly.component  
    biweekly.component.marshaller  
    -  -

    - - - - - -
    -Uses of VAlarm in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return VAlarm
    -static VAlarmVAlarm.audio(Trigger trigger) - -
    -          Creates an audio alarm.
    -static VAlarmVAlarm.audio(Trigger trigger, - Attachment sound) - -
    -          Creates an audio alarm.
    -static VAlarmVAlarm.display(Trigger trigger, - String displayText) - -
    -          Creates a display alarm.
    -static VAlarmVAlarm.email(Trigger trigger, - String subject, - String body, - List<String> recipients) - -
    -          Creates an email alarm.
    -static VAlarmVAlarm.email(Trigger trigger, - String subject, - String body, - String... recipients) - -
    -          Creates an email alarm.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type VAlarm
    - List<VAlarm>VTodo.getAlarms() - -
    -          Gets the alarms that are assigned to this to-do.
    - List<VAlarm>VEvent.getAlarms() - -
    -          Gets the alarms that are assigned to this event.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type VAlarm
    - voidVTodo.addAlarm(VAlarm alarm) - -
    -          Adds an alarm to this to-do.
    - voidVEvent.addAlarm(VAlarm alarm) - -
    -          Adds an alarm to this event.
    -  -

    - - - - - -
    -Uses of VAlarm in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return VAlarm
    -protected  VAlarmVAlarmMarshaller._newInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VEvent.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VEvent.html deleted file mode 100644 index 99dad15e..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VEvent.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.VEvent (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.VEvent

    -
    - - - - - - - - - - - - - -
    -Packages that use VEvent
    biweekly  
    biweekly.component.marshaller  
    -  -

    - - - - - -
    -Uses of VEvent in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return types with arguments of type VEvent
    - List<VEvent>ICalendar.getEvents() - -
    -          Gets the events.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type VEvent
    - voidICalendar.addEvent(VEvent event) - -
    -          Adds an event.
    -  -

    - - - - - -
    -Uses of VEvent in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return VEvent
    -protected  VEventVEventMarshaller._newInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VFreeBusy.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VFreeBusy.html deleted file mode 100644 index 266ceb15..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VFreeBusy.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.VFreeBusy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.VFreeBusy

    -
    - - - - - - - - - - - - - -
    -Packages that use VFreeBusy
    biweekly  
    biweekly.component.marshaller  
    -  -

    - - - - - -
    -Uses of VFreeBusy in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return types with arguments of type VFreeBusy
    - List<VFreeBusy>ICalendar.getFreeBusies() - -
    -          Gets the free/busy entries.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type VFreeBusy
    - voidICalendar.addFreeBusy(VFreeBusy freeBusy) - -
    -          Adds a free/busy entry.
    -  -

    - - - - - -
    -Uses of VFreeBusy in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return VFreeBusy
    -protected  VFreeBusyVFreeBusyMarshaller._newInstance() - -
    -           
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller with parameters of type VFreeBusy
    - List<ICalProperty>VFreeBusyMarshaller.getProperties(VFreeBusy component) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VJournal.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VJournal.html deleted file mode 100644 index 63257796..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VJournal.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.VJournal (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.VJournal

    -
    - - - - - - - - - - - - - -
    -Packages that use VJournal
    biweekly  
    biweekly.component.marshaller  
    -  -

    - - - - - -
    -Uses of VJournal in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return types with arguments of type VJournal
    - List<VJournal>ICalendar.getJournals() - -
    -          Gets the journal entries.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type VJournal
    - voidICalendar.addJournal(VJournal journal) - -
    -          Adds a journal entry.
    -  -

    - - - - - -
    -Uses of VJournal in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return VJournal
    -protected  VJournalVJournalMarshaller._newInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VTimezone.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VTimezone.html deleted file mode 100644 index 62637442..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VTimezone.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.VTimezone (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.VTimezone

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use VTimezone
    biweekly  
    biweekly.component.marshaller  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of VTimezone in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return types with arguments of type VTimezone
    - List<VTimezone>ICalendar.getTimezones() - -
    -          Gets the timezones.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type VTimezone
    - voidICalendar.addTimezone(VTimezone timezone) - -
    -          Adds a timezone.
    -  -

    - - - - - -
    -Uses of VTimezone in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return VTimezone
    -protected  VTimezoneVTimezoneMarshaller._newInstance() - -
    -           
    -  -

    - - - - - -
    -Uses of VTimezone in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property with parameters of type VTimezone
    - voidRecurrenceDates.setTimezone(VTimezone timezone) - -
    -           
    - voidExceptionDates.setTimezone(VTimezone timezone) - -
    -           
    - voidDateOrDateTimeProperty.setTimezone(VTimezone timezone) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VTodo.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VTodo.html deleted file mode 100644 index 12432bd0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/class-use/VTodo.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.VTodo (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.VTodo

    -
    - - - - - - - - - - - - - -
    -Packages that use VTodo
    biweekly  
    biweekly.component.marshaller  
    -  -

    - - - - - -
    -Uses of VTodo in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return types with arguments of type VTodo
    - List<VTodo>ICalendar.getTodos() - -
    -          Gets the to-dos.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type VTodo
    - voidICalendar.addTodo(VTodo todo) - -
    -          Adds a to-do.
    -  -

    - - - - - -
    -Uses of VTodo in biweekly.component.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.component.marshaller that return VTodo
    -protected  VTodoVTodoMarshaller._newInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/component/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/component/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/DaylightSavingsTimeMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/DaylightSavingsTimeMarshaller.html deleted file mode 100644 index f6e94a45..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/DaylightSavingsTimeMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -DaylightSavingsTimeMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class DaylightSavingsTimeMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<DaylightSavingsTime>
    -      extended by biweekly.component.marshaller.DaylightSavingsTimeMarshaller
    -
    -
    -
    -
    public class DaylightSavingsTimeMarshaller
    extends ICalComponentMarshaller<DaylightSavingsTime>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    DaylightSavingsTimeMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  DaylightSavingsTime_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DaylightSavingsTimeMarshaller

    -
    -public DaylightSavingsTimeMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected DaylightSavingsTime _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<DaylightSavingsTime>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/ICalComponentMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/ICalComponentMarshaller.html deleted file mode 100644 index 180e6b41..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/ICalComponentMarshaller.html +++ /dev/null @@ -1,443 +0,0 @@ - - - - - - - -ICalComponentMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class ICalComponentMarshaller<T extends ICalComponent>

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the component class
    -
    -
    Direct Known Subclasses:
    DaylightSavingsTimeMarshaller, ICalendarMarshaller, RawComponentMarshaller, StandardTimeMarshaller, VAlarmMarshaller, VEventMarshaller, VFreeBusyMarshaller, VJournalMarshaller, VTimezoneMarshaller, VTodoMarshaller
    -
    -
    -
    -
    public abstract class ICalComponentMarshaller<T extends ICalComponent>
    extends Object
    - - -

    -Base class for iCalendar component marshallers. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -protected  Class<T>clazz - -
    -           
    -protected  StringcomponentName - -
    -           
    -  - - - - - - - - - - -
    -Constructor Summary
    ICalComponentMarshaller(Class<T> clazz, - String componentName) - -
    -          Creates a new component marshaller.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected abstract  T_newInstance() - -
    -          Creates a new instance of the component class.
    - TemptyInstance() - -
    -          Creates a new instance of the component class that doesn't have any - properties or sub-components.
    - Class<T>getComponentClass() - -
    -          Gets the component class.
    - StringgetComponentName() - -
    -          Gets the component's name.
    - Collection<ICalComponent>getComponents(T component) - -
    -          Gets the sub-components to marshal.
    - List<ICalProperty>getProperties(T component) - -
    -          Gets the properties to marshal.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -clazz

    -
    -protected final Class<T extends ICalComponent> clazz
    -
    -
    -
    -
    -
    - -

    -componentName

    -
    -protected final String componentName
    -
    -
    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalComponentMarshaller

    -
    -public ICalComponentMarshaller(Class<T> clazz,
    -                               String componentName)
    -
    -
    Creates a new component marshaller. -

    -

    -
    Parameters:
    clazz - the component's class
    componentName - the component's name (e.g. "VEVENT")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getComponentClass

    -
    -public Class<T> getComponentClass()
    -
    -
    Gets the component class. -

    -

    - -
    Returns:
    the component class.
    -
    -
    -
    - -

    -getComponentName

    -
    -public String getComponentName()
    -
    -
    Gets the component's name. -

    -

    - -
    Returns:
    the compent's name (e.g. "VEVENT")
    -
    -
    -
    - -

    -emptyInstance

    -
    -public T emptyInstance()
    -
    -
    Creates a new instance of the component class that doesn't have any - properties or sub-components. -

    -

    - -
    Returns:
    the new instance
    -
    -
    -
    - -

    -_newInstance

    -
    -protected abstract T _newInstance()
    -
    -
    Creates a new instance of the component class. -

    -

    - -
    Returns:
    the new instance
    -
    -
    -
    - -

    -getComponents

    -
    -public Collection<ICalComponent> getComponents(T component)
    -
    -
    Gets the sub-components to marshal. Child classes can override this for - better control over which components are marshalled. -

    -

    -
    Parameters:
    component - the component -
    Returns:
    the sub-components to marshal
    -
    -
    -
    - -

    -getProperties

    -
    -public List<ICalProperty> getProperties(T component)
    -
    -
    Gets the properties to marshal. Child classes can override this for - better control over which properties are marshalled. -

    -

    -
    Parameters:
    component - the component -
    Returns:
    the properties to marshal
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/ICalendarMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/ICalendarMarshaller.html deleted file mode 100644 index 13b2ac9b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/ICalendarMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -ICalendarMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class ICalendarMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<ICalendar>
    -      extended by biweekly.component.marshaller.ICalendarMarshaller
    -
    -
    -
    -
    public class ICalendarMarshaller
    extends ICalComponentMarshaller<ICalendar>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    ICalendarMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  ICalendar_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalendarMarshaller

    -
    -public ICalendarMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected ICalendar _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<ICalendar>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/RawComponentMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/RawComponentMarshaller.html deleted file mode 100644 index 7ee80287..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/RawComponentMarshaller.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - - -RawComponentMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class RawComponentMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<RawComponent>
    -      extended by biweekly.component.marshaller.RawComponentMarshaller
    -
    -
    -
    -
    public class RawComponentMarshaller
    extends ICalComponentMarshaller<RawComponent>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    RawComponentMarshaller(String componentName) - -
    -          Creates a new raw component marshaller.
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  RawComponent_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RawComponentMarshaller

    -
    -public RawComponentMarshaller(String componentName)
    -
    -
    Creates a new raw component marshaller. -

    -

    -
    Parameters:
    componentName - the component's name (e.g. "X-PARTY")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected RawComponent _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<RawComponent>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/StandardTimeMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/StandardTimeMarshaller.html deleted file mode 100644 index efa046f8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/StandardTimeMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -StandardTimeMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class StandardTimeMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<StandardTime>
    -      extended by biweekly.component.marshaller.StandardTimeMarshaller
    -
    -
    -
    -
    public class StandardTimeMarshaller
    extends ICalComponentMarshaller<StandardTime>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    StandardTimeMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  StandardTime_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -StandardTimeMarshaller

    -
    -public StandardTimeMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected StandardTime _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<StandardTime>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VAlarmMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VAlarmMarshaller.html deleted file mode 100644 index de5c7e2c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VAlarmMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -VAlarmMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class VAlarmMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<VAlarm>
    -      extended by biweekly.component.marshaller.VAlarmMarshaller
    -
    -
    -
    -
    public class VAlarmMarshaller
    extends ICalComponentMarshaller<VAlarm>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    VAlarmMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  VAlarm_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VAlarmMarshaller

    -
    -public VAlarmMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected VAlarm _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<VAlarm>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VEventMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VEventMarshaller.html deleted file mode 100644 index 7ad01fab..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VEventMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -VEventMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class VEventMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<VEvent>
    -      extended by biweekly.component.marshaller.VEventMarshaller
    -
    -
    -
    -
    public class VEventMarshaller
    extends ICalComponentMarshaller<VEvent>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    VEventMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  VEvent_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VEventMarshaller

    -
    -public VEventMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected VEvent _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<VEvent>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VFreeBusyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VFreeBusyMarshaller.html deleted file mode 100644 index 5f36b428..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VFreeBusyMarshaller.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - - -VFreeBusyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class VFreeBusyMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<VFreeBusy>
    -      extended by biweekly.component.marshaller.VFreeBusyMarshaller
    -
    -
    -
    -
    public class VFreeBusyMarshaller
    extends ICalComponentMarshaller<VFreeBusy>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    VFreeBusyMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  VFreeBusy_newInstance() - -
    -          Creates a new instance of the component class.
    - List<ICalProperty>getProperties(VFreeBusy component) - -
    -          Gets the properties to marshal.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VFreeBusyMarshaller

    -
    -public VFreeBusyMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getProperties

    -
    -public List<ICalProperty> getProperties(VFreeBusy component)
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Gets the properties to marshal. Child classes can override this for - better control over which properties are marshalled. -

    -

    -
    Overrides:
    getProperties in class ICalComponentMarshaller<VFreeBusy>
    -
    -
    -
    Parameters:
    component - the component -
    Returns:
    the properties to marshal
    -
    -
    -
    - -

    -_newInstance

    -
    -protected VFreeBusy _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<VFreeBusy>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VJournalMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VJournalMarshaller.html deleted file mode 100644 index 61c2b5e7..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VJournalMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -VJournalMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class VJournalMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<VJournal>
    -      extended by biweekly.component.marshaller.VJournalMarshaller
    -
    -
    -
    -
    public class VJournalMarshaller
    extends ICalComponentMarshaller<VJournal>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    VJournalMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  VJournal_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VJournalMarshaller

    -
    -public VJournalMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected VJournal _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<VJournal>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VTimezoneMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VTimezoneMarshaller.html deleted file mode 100644 index db6603a1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VTimezoneMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -VTimezoneMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class VTimezoneMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<VTimezone>
    -      extended by biweekly.component.marshaller.VTimezoneMarshaller
    -
    -
    -
    -
    public class VTimezoneMarshaller
    extends ICalComponentMarshaller<VTimezone>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    VTimezoneMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  VTimezone_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VTimezoneMarshaller

    -
    -public VTimezoneMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected VTimezone _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<VTimezone>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VTodoMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VTodoMarshaller.html deleted file mode 100644 index 480b86ea..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/VTodoMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -VTodoMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.component.marshaller -
    -Class VTodoMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.component.marshaller.ICalComponentMarshaller<VTodo>
    -      extended by biweekly.component.marshaller.VTodoMarshaller
    -
    -
    -
    -
    public class VTodoMarshaller
    extends ICalComponentMarshaller<VTodo>
    - - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    clazz, componentName
    -  - - - - - - - - - - -
    -Constructor Summary
    VTodoMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  VTodo_newInstance() - -
    -          Creates a new instance of the component class.
    - - - - - - - -
    Methods inherited from class biweekly.component.marshaller.ICalComponentMarshaller
    emptyInstance, getComponentClass, getComponentName, getComponents, getProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VTodoMarshaller

    -
    -public VTodoMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_newInstance

    -
    -protected VTodo _newInstance()
    -
    -
    Description copied from class: ICalComponentMarshaller
    -
    Creates a new instance of the component class. -

    -

    -
    Specified by:
    _newInstance in class ICalComponentMarshaller<VTodo>
    -
    -
    - -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/DaylightSavingsTimeMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/DaylightSavingsTimeMarshaller.html deleted file mode 100644 index 73201c61..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/DaylightSavingsTimeMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.DaylightSavingsTimeMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.DaylightSavingsTimeMarshaller

    -
    -No usage of biweekly.component.marshaller.DaylightSavingsTimeMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/ICalComponentMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/ICalComponentMarshaller.html deleted file mode 100644 index 07c2c8fe..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/ICalComponentMarshaller.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.ICalComponentMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.ICalComponentMarshaller

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ICalComponentMarshaller
    biweekly  
    biweekly.component.marshaller  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    -  -

    - - - - - -
    -Uses of ICalComponentMarshaller in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly with parameters of type ICalComponentMarshaller
    - Biweekly.ParserChainTextReaderBiweekly.ParserChainTextReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainTextStringBiweekly.ParserChainTextString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlStringBiweekly.ParserChainXmlString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlReaderBiweekly.ParserChainXmlReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainXmlDocumentBiweekly.ParserChainXmlDocument.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainJsonReaderBiweekly.ParserChainJsonReader.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.ParserChainJsonStringBiweekly.ParserChainJsonString.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           
    -  -

    - - - - - -
    -Uses of ICalComponentMarshaller in biweekly.component.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of ICalComponentMarshaller in biweekly.component.marshaller
    - classDaylightSavingsTimeMarshaller - -
    -           
    - classICalendarMarshaller - -
    -           
    - classRawComponentMarshaller - -
    -           
    - classStandardTimeMarshaller - -
    -           
    - classVAlarmMarshaller - -
    -           
    - classVEventMarshaller - -
    -           
    - classVFreeBusyMarshaller - -
    -           
    - classVJournalMarshaller - -
    -           
    - classVTimezoneMarshaller - -
    -           
    - classVTodoMarshaller - -
    -           
    -  -

    - - - - - -
    -Uses of ICalComponentMarshaller in biweekly.io
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io that return ICalComponentMarshaller
    - ICalComponentMarshaller<? extends ICalComponent>ICalMarshallerRegistrar.getComponentMarshaller(Class<? extends ICalComponent> clazz) - -
    -          Gets a component marshaller by class.
    - ICalComponentMarshaller<? extends ICalComponent>ICalMarshallerRegistrar.getComponentMarshaller(ICalComponent component) - -
    -          Gets the appropriate component marshaller for a given component instance.
    - ICalComponentMarshaller<? extends ICalComponent>ICalMarshallerRegistrar.getComponentMarshaller(String componentName) - -
    -          Gets a component marshaller by name.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io with parameters of type ICalComponentMarshaller
    - voidICalMarshallerRegistrar.register(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - voidICalMarshallerRegistrar.unregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Unregisters a component marshaller.
    -  -

    - - - - - -
    -Uses of ICalComponentMarshaller in biweekly.io.json
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type ICalComponentMarshaller
    - voidJCalWriter.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidJCalReader.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    -  -

    - - - - - -
    -Uses of ICalComponentMarshaller in biweekly.io.text
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.text with parameters of type ICalComponentMarshaller
    - voidICalWriter.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidICalReader.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    -  -

    - - - - - -
    -Uses of ICalComponentMarshaller in biweekly.io.xml
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.xml with parameters of type ICalComponentMarshaller
    - voidXCalDocument.registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/ICalendarMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/ICalendarMarshaller.html deleted file mode 100644 index a04dc866..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/ICalendarMarshaller.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.ICalendarMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.ICalendarMarshaller

    -
    - - - - - - - - - -
    -Packages that use ICalendarMarshaller
    biweekly.io  
    -  -

    - - - - - -
    -Uses of ICalendarMarshaller in biweekly.io
    -  -

    - - - - - - - - - -
    Methods in biweekly.io that return ICalendarMarshaller
    -static ICalendarMarshallerICalMarshallerRegistrar.getICalendarMarshaller() - -
    -          Convenience method for getting the marshaller of the root iCalendar - component ("VCALENDAR").
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/RawComponentMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/RawComponentMarshaller.html deleted file mode 100644 index e12032ce..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/RawComponentMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.RawComponentMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.RawComponentMarshaller

    -
    -No usage of biweekly.component.marshaller.RawComponentMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/StandardTimeMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/StandardTimeMarshaller.html deleted file mode 100644 index ad70ecfd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/StandardTimeMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.StandardTimeMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.StandardTimeMarshaller

    -
    -No usage of biweekly.component.marshaller.StandardTimeMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VAlarmMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VAlarmMarshaller.html deleted file mode 100644 index 507a1e68..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VAlarmMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.VAlarmMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.VAlarmMarshaller

    -
    -No usage of biweekly.component.marshaller.VAlarmMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VEventMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VEventMarshaller.html deleted file mode 100644 index a77c4d70..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VEventMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.VEventMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.VEventMarshaller

    -
    -No usage of biweekly.component.marshaller.VEventMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VFreeBusyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VFreeBusyMarshaller.html deleted file mode 100644 index 06cab29c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VFreeBusyMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.VFreeBusyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.VFreeBusyMarshaller

    -
    -No usage of biweekly.component.marshaller.VFreeBusyMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VJournalMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VJournalMarshaller.html deleted file mode 100644 index 99fca67d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VJournalMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.VJournalMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.VJournalMarshaller

    -
    -No usage of biweekly.component.marshaller.VJournalMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VTimezoneMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VTimezoneMarshaller.html deleted file mode 100644 index 1b728828..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VTimezoneMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.VTimezoneMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.VTimezoneMarshaller

    -
    -No usage of biweekly.component.marshaller.VTimezoneMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VTodoMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VTodoMarshaller.html deleted file mode 100644 index 53d627bd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/class-use/VTodoMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.component.marshaller.VTodoMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.component.marshaller.VTodoMarshaller

    -
    -No usage of biweekly.component.marshaller.VTodoMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-frame.html deleted file mode 100644 index ed69e8d3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-frame.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - -biweekly.component.marshaller (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.component.marshaller - - - - -
    -Classes  - -
    -DaylightSavingsTimeMarshaller -
    -ICalComponentMarshaller -
    -ICalendarMarshaller -
    -RawComponentMarshaller -
    -StandardTimeMarshaller -
    -VAlarmMarshaller -
    -VEventMarshaller -
    -VFreeBusyMarshaller -
    -VJournalMarshaller -
    -VTimezoneMarshaller -
    -VTodoMarshaller
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-summary.html deleted file mode 100644 index a7f0b716..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-summary.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - -biweekly.component.marshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.component.marshaller -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    DaylightSavingsTimeMarshaller 
    ICalComponentMarshaller<T extends ICalComponent>Base class for iCalendar component marshallers.
    ICalendarMarshaller 
    RawComponentMarshaller 
    StandardTimeMarshaller 
    VAlarmMarshaller 
    VEventMarshaller 
    VFreeBusyMarshaller 
    VJournalMarshaller 
    VTimezoneMarshaller 
    VTodoMarshaller 
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-tree.html deleted file mode 100644 index 735f0812..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-tree.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - -biweekly.component.marshaller Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.component.marshaller -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-use.html deleted file mode 100644 index 36d35167..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/marshaller/package-use.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - -Uses of Package biweekly.component.marshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.component.marshaller

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use biweekly.component.marshaller
    biweekly  
    biweekly.component.marshaller  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    -  -

    - - - - - - - - -
    -Classes in biweekly.component.marshaller used by biweekly
    ICalComponentMarshaller - -
    -          Base class for iCalendar component marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.component.marshaller used by biweekly.component.marshaller
    ICalComponentMarshaller - -
    -          Base class for iCalendar component marshallers.
    -  -

    - - - - - - - - - - - -
    -Classes in biweekly.component.marshaller used by biweekly.io
    ICalComponentMarshaller - -
    -          Base class for iCalendar component marshallers.
    ICalendarMarshaller - -
    -           
    -  -

    - - - - - - - - -
    -Classes in biweekly.component.marshaller used by biweekly.io.json
    ICalComponentMarshaller - -
    -          Base class for iCalendar component marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.component.marshaller used by biweekly.io.text
    ICalComponentMarshaller - -
    -          Base class for iCalendar component marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.component.marshaller used by biweekly.io.xml
    ICalComponentMarshaller - -
    -          Base class for iCalendar component marshallers.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/package-frame.html deleted file mode 100644 index 0fde5a58..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/package-frame.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - -biweekly.component (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.component - - - - -
    -Classes  - -
    -DaylightSavingsTime -
    -ICalComponent -
    -Observance -
    -RawComponent -
    -StandardTime -
    -VAlarm -
    -VEvent -
    -VFreeBusy -
    -VJournal -
    -VTimezone -
    -VTodo
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/package-summary.html deleted file mode 100644 index 5bcb4f5a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/package-summary.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - -biweekly.component (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.component -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    DaylightSavingsTime - Defines a daylight savings time range within a VTimezone.
    ICalComponentThe base class for iCalendar components.
    ObservanceParent class for the "daylight" and "standard" timezone observances.
    RawComponentA component that does not have a marshaller associated with it.
    StandardTime - Defines a standard time range within a VTimezone.
    VAlarm - Defines a reminder for an event or to-do task.
    VEvent - Defines a scheduled activity, such as a meeting that's two hours long.
    VFreeBusy - Defines a collection of time ranges that describe when the person is - available or unavailable.
    VJournal - Defines descriptive text associated with the calendar data.
    VTimezone - Defines a timezone's UTC offsets throughout the year.
    VTodo - Defines a task or assignment.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/package-tree.html deleted file mode 100644 index e643cfbf..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/package-tree.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - -biweekly.component Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.component -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/component/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/component/package-use.html deleted file mode 100644 index 0ce91015..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/component/package-use.html +++ /dev/null @@ -1,443 +0,0 @@ - - - - - - - -Uses of Package biweekly.component (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.component

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use biweekly.component
    biweekly  
    biweekly.component  
    biweekly.component.marshaller  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    biweekly.property  
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.component used by biweekly
    ICalComponent - -
    -          The base class for iCalendar components.
    VEvent - -
    -           - Defines a scheduled activity, such as a meeting that's two hours long.
    VFreeBusy - -
    -           - Defines a collection of time ranges that describe when the person is - available or unavailable.
    VJournal - -
    -           - Defines descriptive text associated with the calendar data.
    VTimezone - -
    -           - Defines a timezone's UTC offsets throughout the year.
    VTodo - -
    -           - Defines a task or assignment.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.component used by biweekly.component
    DaylightSavingsTime - -
    -           - Defines a daylight savings time range within a VTimezone.
    ICalComponent - -
    -          The base class for iCalendar components.
    Observance - -
    -          Parent class for the "daylight" and "standard" timezone observances.
    RawComponent - -
    -          A component that does not have a marshaller associated with it.
    StandardTime - -
    -           - Defines a standard time range within a VTimezone.
    VAlarm - -
    -           - Defines a reminder for an event or to-do task.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.component used by biweekly.component.marshaller
    DaylightSavingsTime - -
    -           - Defines a daylight savings time range within a VTimezone.
    ICalComponent - -
    -          The base class for iCalendar components.
    RawComponent - -
    -          A component that does not have a marshaller associated with it.
    StandardTime - -
    -           - Defines a standard time range within a VTimezone.
    VAlarm - -
    -           - Defines a reminder for an event or to-do task.
    VEvent - -
    -           - Defines a scheduled activity, such as a meeting that's two hours long.
    VFreeBusy - -
    -           - Defines a collection of time ranges that describe when the person is - available or unavailable.
    VJournal - -
    -           - Defines descriptive text associated with the calendar data.
    VTimezone - -
    -           - Defines a timezone's UTC offsets throughout the year.
    VTodo - -
    -           - Defines a task or assignment.
    -  -

    - - - - - - - - -
    -Classes in biweekly.component used by biweekly.io
    ICalComponent - -
    -          The base class for iCalendar components.
    -  -

    - - - - - - - - -
    -Classes in biweekly.component used by biweekly.io.json
    ICalComponent - -
    -          The base class for iCalendar components.
    -  -

    - - - - - - - - -
    -Classes in biweekly.component used by biweekly.io.text
    ICalComponent - -
    -          The base class for iCalendar components.
    -  -

    - - - - - - - - -
    -Classes in biweekly.component used by biweekly.io.xml
    ICalComponent - -
    -          The base class for iCalendar components.
    -  -

    - - - - - - - - - - - -
    -Classes in biweekly.component used by biweekly.property
    ICalComponent - -
    -          The base class for iCalendar components.
    VTimezone - -
    -           - Defines a timezone's UTC offsets throughout the year.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/CannotParseException.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/CannotParseException.html deleted file mode 100644 index 06a20e32..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/CannotParseException.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - -CannotParseException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io -
    -Class CannotParseException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by java.lang.RuntimeException
    -              extended by biweekly.ICalException
    -                  extended by biweekly.io.CannotParseException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class CannotParseException
    extends ICalException
    - - -

    -Thrown during the unmarshalling of an iCalendar property to signal that the - property's value could not be parsed (for example, being unable to parse a - date string). -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    CannotParseException() - -
    -          Creates a new "cannot parse" exception.
    CannotParseException(String reason) - -
    -          Creates a new "cannot parse" exception.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CannotParseException

    -
    -public CannotParseException()
    -
    -
    Creates a new "cannot parse" exception. -

    -

    -
    - -

    -CannotParseException

    -
    -public CannotParseException(String reason)
    -
    -
    Creates a new "cannot parse" exception. -

    -

    -
    Parameters:
    reason - the reason why the property value cannot be parsed
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/ICalMarshallerRegistrar.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/ICalMarshallerRegistrar.html deleted file mode 100644 index 239191c4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/ICalMarshallerRegistrar.html +++ /dev/null @@ -1,539 +0,0 @@ - - - - - - - -ICalMarshallerRegistrar (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io -
    -Class ICalMarshallerRegistrar

    -
    -java.lang.Object
    -  extended by biweekly.io.ICalMarshallerRegistrar
    -
    -
    -
    -
    public class ICalMarshallerRegistrar
    extends Object
    - - -

    -

    - Manages a listing of component and property marshallers. This is useful for - injecting the marshallers of any experimental components or properties you - have defined into a reader or writer object. The same object instance can be - reused and injected into multiple reader/writer classes. -

    -

    - Example: - -

    - //init the registrar
    - ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    - registrar.register(new CustomPropertyMarshaller());
    - registrar.register(new AnotherCustomPropertyMarshaller());
    - registrar.register(new CustomComponentMarshaller());
    - 
    - //inject into a reader class
    - ICalReader textReader = new ICalReader(...);
    - textReader.setRegistrar(registrar);
    - List<ICalendar> icals = new ArrayList<ICalendar>();
    - ICalendar ical;
    - while ((ical = textReader.readNext()) != null){
    -   icals.add(ical);
    - }
    - 
    - //inject the same instance in another reader/writer class
    - JCalWriter writer = new JCalWriter(...);
    - writer.setRegistrar(registrar);
    - for (ICalendar ical : icals){
    -   writer.write(ical);
    - }
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ICalMarshallerRegistrar() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ICalComponentMarshaller<? extends ICalComponent>getComponentMarshaller(Class<? extends ICalComponent> clazz) - -
    -          Gets a component marshaller by class.
    - ICalComponentMarshaller<? extends ICalComponent>getComponentMarshaller(ICalComponent component) - -
    -          Gets the appropriate component marshaller for a given component instance.
    - ICalComponentMarshaller<? extends ICalComponent>getComponentMarshaller(String componentName) - -
    -          Gets a component marshaller by name.
    -static ICalendarMarshallergetICalendarMarshaller() - -
    -          Convenience method for getting the marshaller of the root iCalendar - component ("VCALENDAR").
    - ICalPropertyMarshaller<? extends ICalProperty>getPropertyMarshaller(Class<? extends ICalProperty> clazz) - -
    -          Gets a property marshaller by class.
    - ICalPropertyMarshaller<? extends ICalProperty>getPropertyMarshaller(ICalProperty property) - -
    -          Gets the appropriate property marshaller for a given property instance.
    - ICalPropertyMarshaller<? extends ICalProperty>getPropertyMarshaller(QName qname) - -
    -          Gets a property marshaller by XML local name and namespace.
    - ICalPropertyMarshaller<? extends ICalProperty>getPropertyMarshaller(String propertyName) - -
    -          Gets a property marshaller by name.
    - voidregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Registers a component marshaller.
    - voidregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - voidunregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -          Unregisters a component marshaller.
    - voidunregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Unregisters a property marshaller
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalMarshallerRegistrar

    -
    -public ICalMarshallerRegistrar()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getComponentMarshaller

    -
    -public ICalComponentMarshaller<? extends ICalComponent> getComponentMarshaller(String componentName)
    -
    -
    Gets a component marshaller by name. -

    -

    -
    Parameters:
    componentName - the component name (e.g. "VEVENT") -
    Returns:
    the component marshaller or a RawComponentMarshaller if - not found
    -
    -
    -
    - -

    -getPropertyMarshaller

    -
    -public ICalPropertyMarshaller<? extends ICalProperty> getPropertyMarshaller(String propertyName)
    -
    -
    Gets a property marshaller by name. -

    -

    -
    Parameters:
    propertyName - the property name (e.g. "VERSION") -
    Returns:
    the property marshaller or a RawPropertyMarshaller if not - found
    -
    -
    -
    - -

    -getComponentMarshaller

    -
    -public ICalComponentMarshaller<? extends ICalComponent> getComponentMarshaller(Class<? extends ICalComponent> clazz)
    -
    -
    Gets a component marshaller by class. -

    -

    -
    Parameters:
    clazz - the component class -
    Returns:
    the component marshaller or null if not found
    -
    -
    -
    - -

    -getPropertyMarshaller

    -
    -public ICalPropertyMarshaller<? extends ICalProperty> getPropertyMarshaller(Class<? extends ICalProperty> clazz)
    -
    -
    Gets a property marshaller by class. -

    -

    -
    Parameters:
    clazz - the property class -
    Returns:
    the property marshaller or null if not found
    -
    -
    -
    - -

    -getComponentMarshaller

    -
    -public ICalComponentMarshaller<? extends ICalComponent> getComponentMarshaller(ICalComponent component)
    -
    -
    Gets the appropriate component marshaller for a given component instance. -

    -

    -
    Parameters:
    component - the component instance -
    Returns:
    the component marshaller or null if not found
    -
    -
    -
    - -

    -getPropertyMarshaller

    -
    -public ICalPropertyMarshaller<? extends ICalProperty> getPropertyMarshaller(ICalProperty property)
    -
    -
    Gets the appropriate property marshaller for a given property instance. -

    -

    -
    Parameters:
    property - the property instance -
    Returns:
    the property marshaller or null if not found
    -
    -
    -
    - -

    -getPropertyMarshaller

    -
    -public ICalPropertyMarshaller<? extends ICalProperty> getPropertyMarshaller(QName qname)
    -
    -
    Gets a property marshaller by XML local name and namespace. -

    -

    -
    Parameters:
    qname - the XML local name and namespace -
    Returns:
    the property marshaller or a XmlMarshaller if not found
    -
    -
    -
    - -

    -register

    -
    -public void register(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Registers a component marshaller. -

    -

    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -register

    -
    -public void register(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Registers a property marshaller. -

    -

    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -unregister

    -
    -public void unregister(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -
    Unregisters a component marshaller. -

    -

    -
    Parameters:
    marshaller - the marshaller to unregister
    -
    -
    -
    - -

    -unregister

    -
    -public void unregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -
    Unregisters a property marshaller -

    -

    -
    Parameters:
    marshaller - the marshaller to unregister
    -
    -
    -
    - -

    -getICalendarMarshaller

    -
    -public static ICalendarMarshaller getICalendarMarshaller()
    -
    -
    Convenience method for getting the marshaller of the root iCalendar - component ("VCALENDAR"). -

    -

    - -
    Returns:
    the marshaller
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/SkipMeException.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/SkipMeException.html deleted file mode 100644 index 1e1a9928..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/SkipMeException.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - -SkipMeException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io -
    -Class SkipMeException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by java.lang.RuntimeException
    -              extended by biweekly.ICalException
    -                  extended by biweekly.io.SkipMeException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class SkipMeException
    extends ICalException
    - - -

    -Thrown during the reading or writing of an iCalendar property to show that - the property should not be written to the iCalendar data stream or not be - included in the parsed ICalendar object. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    SkipMeException() - -
    -          Creates a new skip-me exception.
    SkipMeException(String msg) - -
    -          Creates a new skip-me exception.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -SkipMeException

    -
    -public SkipMeException()
    -
    -
    Creates a new skip-me exception. -

    -

    -
    - -

    -SkipMeException

    -
    -public SkipMeException(String msg)
    -
    -
    Creates a new skip-me exception. -

    -

    -
    Parameters:
    msg - the reason why this property is being skipped
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/CannotParseException.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/CannotParseException.html deleted file mode 100644 index 8bb2fc67..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/CannotParseException.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.CannotParseException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.CannotParseException

    -
    - - - - - - - - - -
    -Packages that use CannotParseException
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of CannotParseException in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return CannotParseException
    -protected static CannotParseExceptionICalPropertyMarshaller.missingXmlElements(ICalDataType... dataTypes) - -
    -          Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from the property's XML - element.
    -protected static CannotParseExceptionICalPropertyMarshaller.missingXmlElements(String... elements) - -
    -          Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from property's XML element.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/ICalMarshallerRegistrar.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/ICalMarshallerRegistrar.html deleted file mode 100644 index a5bf871b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/ICalMarshallerRegistrar.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.ICalMarshallerRegistrar (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.ICalMarshallerRegistrar

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use ICalMarshallerRegistrar
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    -  -

    - - - - - -
    -Uses of ICalMarshallerRegistrar in biweekly.io.json
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.json that return ICalMarshallerRegistrar
    - ICalMarshallerRegistrarJCalWriter.getRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    - ICalMarshallerRegistrarJCalReader.getRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type ICalMarshallerRegistrar
    - voidJCalWriter.setRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    - voidJCalReader.setRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    -  -

    - - - - - -
    -Uses of ICalMarshallerRegistrar in biweekly.io.text
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.text that return ICalMarshallerRegistrar
    - ICalMarshallerRegistrarICalWriter.getRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    - ICalMarshallerRegistrarICalReader.getRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.text with parameters of type ICalMarshallerRegistrar
    - voidICalWriter.setRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    - voidICalReader.setRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    -  -

    - - - - - -
    -Uses of ICalMarshallerRegistrar in biweekly.io.xml
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.xml that return ICalMarshallerRegistrar
    - ICalMarshallerRegistrarXCalDocument.getRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.xml with parameters of type ICalMarshallerRegistrar
    - voidXCalDocument.setRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/SkipMeException.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/SkipMeException.html deleted file mode 100644 index 28773e98..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/class-use/SkipMeException.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.SkipMeException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.SkipMeException

    -
    -No usage of biweekly.io.SkipMeException -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/io/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/io/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalParseException.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalParseException.html deleted file mode 100644 index b2210a35..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalParseException.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - - -JCalParseException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.json -
    -Class JCalParseException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by java.lang.RuntimeException
    -              extended by biweekly.ICalException
    -                  extended by biweekly.io.json.JCalParseException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class JCalParseException
    extends ICalException
    - - -

    -Thrown during the parsing of a JSON-encoded iCalendar object (jCal) when the - jCal object is not formatted in the correct way (the JSON syntax is valid, - but it's not in the correct jCal format). -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    JCalParseException(JsonToken expected, - JsonToken actual) - -
    -          Creates a jCal parse exception.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - JsonTokengetActualToken() - -
    -          Gets the JSON token that was read.
    - JsonTokengetExpectedToken() - -
    -          Gets the JSON token that the parser was expected.
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -JCalParseException

    -
    -public JCalParseException(JsonToken expected,
    -                          JsonToken actual)
    -
    -
    Creates a jCal parse exception. -

    -

    -
    Parameters:
    expected - the JSON token that the parser was expecting
    actual - the actual JSON token
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getExpectedToken

    -
    -public JsonToken getExpectedToken()
    -
    -
    Gets the JSON token that the parser was expected. -

    -

    - -
    Returns:
    the expected token
    -
    -
    -
    - -

    -getActualToken

    -
    -public JsonToken getActualToken()
    -
    -
    Gets the JSON token that was read. -

    -

    - -
    Returns:
    the actual token
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawReader.JCalDataStreamListener.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawReader.JCalDataStreamListener.html deleted file mode 100644 index 9d3d24ab..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawReader.JCalDataStreamListener.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - -JCalRawReader.JCalDataStreamListener (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.json -
    -Interface JCalRawReader.JCalDataStreamListener

    -
    -
    Enclosing class:
    JCalRawReader
    -
    -
    -
    -
    public static interface JCalRawReader.JCalDataStreamListener
    - - -

    -Handles the iCalendar data as it is read off the data stream. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidreadComponent(List<String> parentHierarchy, - String componentName) - -
    -          Called when the parser begins to read a component.
    - voidreadProperty(List<String> componentHierarchy, - String propertyName, - ICalParameters parameters, - ICalDataType dataType, - JCalValue value) - -
    -          Called when a property is read.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -readComponent

    -
    -void readComponent(List<String> parentHierarchy,
    -                   String componentName)
    -
    -
    Called when the parser begins to read a component. -

    -

    -
    Parameters:
    parentHierarchy - the component's parent components
    componentName - the component name (e.g. "vevent")
    -
    -
    -
    - -

    -readProperty

    -
    -void readProperty(List<String> componentHierarchy,
    -                  String propertyName,
    -                  ICalParameters parameters,
    -                  ICalDataType dataType,
    -                  JCalValue value)
    -
    -
    Called when a property is read. -

    -

    -
    Parameters:
    componentHierarchy - the hierarchy of components that the - property belongs to
    propertyName - the property name (e.g. "summary")
    parameters - the parameters
    dataType - the data type (e.g. "text")
    value - the property value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawReader.html deleted file mode 100644 index 352545a5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawReader.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - - -JCalRawReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.json -
    -Class JCalRawReader

    -
    -java.lang.Object
    -  extended by biweekly.io.json.JCalRawReader
    -
    -
    -
    All Implemented Interfaces:
    Closeable
    -
    -
    -
    -
    public class JCalRawReader
    extends Object
    implements Closeable
    - - -

    -Parses an iCalendar JSON data stream (jCal). -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    jCal - draft
    -
    - -

    - - - - - - - - - - - -
    -Nested Class Summary
    -static interfaceJCalRawReader.JCalDataStreamListener - -
    -          Handles the iCalendar data as it is read off the data stream.
    -  - - - - - - - - - - -
    -Constructor Summary
    JCalRawReader(Reader reader) - -
    -          Creates a new reader.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -          Closes the underlying Reader object.
    - booleaneof() - -
    -          Determines whether the end of the data stream has been reached.
    - intgetLineNum() - -
    -          Gets the current line number.
    - voidreadNext(JCalRawReader.JCalDataStreamListener listener) - -
    -          Reads the next iCalendar object from the jCal data stream.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -JCalRawReader

    -
    -public JCalRawReader(Reader reader)
    -
    -
    Creates a new reader. -

    -

    -
    Parameters:
    reader - the reader to the data stream
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLineNum

    -
    -public int getLineNum()
    -
    -
    Gets the current line number. -

    -

    -
    -
    -
    - -
    Returns:
    the line number
    -
    -
    -
    - -

    -readNext

    -
    -public void readNext(JCalRawReader.JCalDataStreamListener listener)
    -              throws IOException
    -
    -
    Reads the next iCalendar object from the jCal data stream. -

    -

    -
    -
    -
    -
    Parameters:
    listener - handles the iCalendar data as it is read off the wire -
    Throws: -
    JCalParseException - if the jCal syntax is incorrect (the JSON - syntax may be valid, but it is not in the correct jCal format). -
    JsonParseException - if the JSON syntax is incorrect -
    IOException - if there is a problem reading from the data stream
    -
    -
    -
    - -

    -eof

    -
    -public boolean eof()
    -
    -
    Determines whether the end of the data stream has been reached. -

    -

    -
    -
    -
    - -
    Returns:
    true if the end has been reached, false if not
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    Closes the underlying Reader object. -

    -

    -
    Specified by:
    close in interface Closeable
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawWriter.html deleted file mode 100644 index 5e51e696..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalRawWriter.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - - - - -JCalRawWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.json -
    -Class JCalRawWriter

    -
    -java.lang.Object
    -  extended by biweekly.io.json.JCalRawWriter
    -
    -
    -
    All Implemented Interfaces:
    Closeable
    -
    -
    -
    -
    public class JCalRawWriter
    extends Object
    implements Closeable
    - - -

    -Writes data to an iCalendar JSON data stream (jCal). -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    jCal - draft
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    JCalRawWriter(Writer writer, - boolean wrapInArray) - -
    -          Creates a new raw writer.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -          Finishes writing the JSON document and closes the underlying - Writer.
    - voidcloseJsonStream() - -
    -          Finishes writing the JSON document so that it is syntactically correct.
    - booleanisIndent() - -
    -          Gets whether or not the JSON will be pretty-printed.
    - voidsetIndent(boolean indent) - -
    -          Sets whether or not to pretty-print the JSON.
    - voidwriteEndComponent() - -
    -          Closes the current component array.
    - voidwriteProperty(String propertyName, - ICalDataType dataType, - JCalValue value) - -
    -          Writes a property to the current component.
    - voidwriteProperty(String propertyName, - ICalParameters parameters, - ICalDataType dataType, - JCalValue value) - -
    -          Writes a property to the current component.
    - voidwriteStartComponent(String componentName) - -
    -          Writes the beginning of a new component array.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -JCalRawWriter

    -
    -public JCalRawWriter(Writer writer,
    -                     boolean wrapInArray)
    -
    -
    Creates a new raw writer. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    wrapInArray - true to wrap everything in an array, false not to - (useful when writing more than one iCalendar object)
    -
    - - - - - - - - -
    -Method Detail
    - -

    -isIndent

    -
    -public boolean isIndent()
    -
    -
    Gets whether or not the JSON will be pretty-printed. -

    -

    -
    -
    -
    - -
    Returns:
    true if it will be pretty-printed, false if not (defaults to - false)
    -
    -
    -
    - -

    -setIndent

    -
    -public void setIndent(boolean indent)
    -
    -
    Sets whether or not to pretty-print the JSON. -

    -

    -
    -
    -
    -
    Parameters:
    indent - true to pretty-print it, false not to (defaults to false)
    -
    -
    -
    - -

    -writeStartComponent

    -
    -public void writeStartComponent(String componentName)
    -                         throws IOException
    -
    -
    Writes the beginning of a new component array. -

    -

    -
    -
    -
    -
    Parameters:
    componentName - the component name (e.g. "vevent") -
    Throws: -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -writeEndComponent

    -
    -public void writeEndComponent()
    -                       throws IOException
    -
    -
    Closes the current component array. -

    -

    -
    -
    -
    - -
    Throws: -
    IllegalStateException - if there are no open components ( - writeStartComponent(String) must be called first) -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -writeProperty

    -
    -public void writeProperty(String propertyName,
    -                          ICalDataType dataType,
    -                          JCalValue value)
    -                   throws IOException
    -
    -
    Writes a property to the current component. -

    -

    -
    -
    -
    -
    Parameters:
    propertyName - the property name (e.g. "version")
    dataType - the property's data type (e.g. "text")
    value - the property value -
    Throws: -
    IllegalStateException - if there are no open components ( - writeStartComponent(String) must be called first) or if the last - method called was writeEndComponent(). -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -writeProperty

    -
    -public void writeProperty(String propertyName,
    -                          ICalParameters parameters,
    -                          ICalDataType dataType,
    -                          JCalValue value)
    -                   throws IOException
    -
    -
    Writes a property to the current component. -

    -

    -
    -
    -
    -
    Parameters:
    propertyName - the property name (e.g. "version")
    parameters - the parameters
    dataType - the property's data type (e.g. "text")
    value - the property value -
    Throws: -
    IllegalStateException - if there are no open components ( - writeStartComponent(String) must be called first) or if the last - method called was writeEndComponent(). -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -closeJsonStream

    -
    -public void closeJsonStream()
    -                     throws IOException
    -
    -
    Finishes writing the JSON document so that it is syntactically correct. - No more data can be written once this method is called. -

    -

    -
    -
    -
    - -
    Throws: -
    IOException - if there's a problem closing the stream
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    Finishes writing the JSON document and closes the underlying - Writer. -

    -

    -
    Specified by:
    close in interface Closeable
    -
    -
    - -
    Throws: -
    IOException - if there's a problem closing the stream
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalReader.html deleted file mode 100644 index 56474ff3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalReader.html +++ /dev/null @@ -1,518 +0,0 @@ - - - - - - - -JCalReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.json -
    -Class JCalReader

    -
    -java.lang.Object
    -  extended by biweekly.io.json.JCalReader
    -
    -
    -
    All Implemented Interfaces:
    Closeable
    -
    -
    -
    -
    public class JCalReader
    extends Object
    implements Closeable
    - - -

    -

    - Parses ICalendar objects from a jCal data stream (JSON). -

    -

    - Example: - -

    - InputStream in = ...
    - JCalReader jcalReader = new JCalReader(in);
    - ICalendar ical;
    - while ((ical = jcalReader.readNext()) != null){
    -   ...
    - }
    - jcalReader.close();
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    jCal - draft
    -
    - -

    - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    JCalReader(File file) - -
    -          Creates a jCard reader.
    JCalReader(InputStream in) - -
    -          Creates a jCard reader.
    JCalReader(Reader reader) - -
    -          Creates a jCard reader.
    JCalReader(String json) - -
    -          Creates a jCard reader.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -           
    - ICalMarshallerRegistrargetRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    - List<String>getWarnings() - -
    -          Gets the warnings from the last iCalendar object that was unmarshalled.
    - ICalendarreadNext() - -
    -          Reads the next iCalendar object from the JSON data stream.
    - voidregisterMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidregisterMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidsetRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -JCalReader

    -
    -public JCalReader(String json)
    -
    -
    Creates a jCard reader. -

    -

    -
    Parameters:
    json - the JSON string
    -
    -
    - -

    -JCalReader

    -
    -public JCalReader(InputStream in)
    -
    -
    Creates a jCard reader. -

    -

    -
    Parameters:
    in - the input stream to read the vCards from
    -
    -
    - -

    -JCalReader

    -
    -public JCalReader(File file)
    -           throws FileNotFoundException
    -
    -
    Creates a jCard reader. -

    -

    -
    Parameters:
    file - the file to read the vCards from -
    Throws: -
    FileNotFoundException - if the file doesn't exist
    -
    -
    - -

    -JCalReader

    -
    -public JCalReader(Reader reader)
    -
    -
    Creates a jCard reader. -

    -

    -
    Parameters:
    reader - the reader to read the vCards from
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getWarnings

    -
    -public List<String> getWarnings()
    -
    -
    Gets the warnings from the last iCalendar object that was unmarshalled. - This list is reset every time a new iCalendar object is read. -

    -

    -
    -
    -
    - -
    Returns:
    the warnings or empty list if there were no warnings
    -
    -
    -
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -

    - Registers an experimental property marshaller. Can also be used to - override the marshaller of a standard property (such as DTSTART). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -

    - Registers an experimental component marshaller. Can also be used to - override the marshaller of a standard component (such as VEVENT). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -getRegistrar

    -
    -public ICalMarshallerRegistrar getRegistrar()
    -
    -
    Gets the object that manages the component/property marshaller objects. -

    -

    -
    -
    -
    - -
    Returns:
    the marshaller registrar
    -
    -
    -
    - -

    -setRegistrar

    -
    -public void setRegistrar(ICalMarshallerRegistrar registrar)
    -
    -
    Sets the object that manages the component/property marshaller objects. -

    -

    -
    -
    -
    -
    Parameters:
    registrar - the marshaller registrar
    -
    -
    -
    - -

    -readNext

    -
    -public ICalendar readNext()
    -                   throws IOException
    -
    -
    Reads the next iCalendar object from the JSON data stream. -

    -

    -
    -
    -
    - -
    Returns:
    the iCalendar object or null if there are no more -
    Throws: -
    JCalParseException - if the jCal syntax is incorrect (the JSON - syntax may be valid, but it is not in the correct jCal format). -
    JsonParseException - if the JSON syntax is incorrect -
    IOException - if there is a problem reading from the data stream
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    -
    Specified by:
    close in interface Closeable
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalValue.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalValue.html deleted file mode 100644 index 1380fdd5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalValue.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - -JCalValue (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.json -
    -Class JCalValue

    -
    -java.lang.Object
    -  extended by biweekly.io.json.JCalValue
    -
    -
    -
    -
    public class JCalValue
    extends Object
    - - -

    -Holds the value of a jCal property. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    JCalValue(JsonValue... values) - -
    -          Creates a new jCal value.
    JCalValue(List<JsonValue> values) - -
    -          Creates a new jCal value.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<String>asMulti() - -
    -          Parses this jCal value as a multi-valued property value.
    - ListMultimap<String,String>asObject() - -
    -          Parses this jCal value as an object property value.
    - StringasSingle() - -
    -          Parses this jCal value as a single-valued property value.
    - List<List<String>>asStructured() - -
    -          Parses this jCal value as a structured property value.
    - List<JsonValue>getValues() - -
    -          Gets the raw JSON values.
    -static JCalValuemulti(List<?> values) - -
    -          Creates a multi-valued value.
    -static JCalValuemulti(Object... values) - -
    -          Creates a multi-valued value.
    -static JCalValueobject(ListMultimap<String,Object> value) - -
    -          Creates an object value.
    -static JCalValuesingle(Object value) - -
    -          Creates a single-valued value.
    -static JCalValuestructured(List<List<?>> values) - -
    -          Creates a structured value.
    -static JCalValuestructured(Object... values) - -
    -           - Creates a structured value.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -JCalValue

    -
    -public JCalValue(List<JsonValue> values)
    -
    -
    Creates a new jCal value. -

    -

    -
    Parameters:
    values - the values
    -
    -
    - -

    -JCalValue

    -
    -public JCalValue(JsonValue... values)
    -
    -
    Creates a new jCal value. -

    -

    -
    Parameters:
    values - the values
    -
    - - - - - - - - -
    -Method Detail
    - -

    -single

    -
    -public static JCalValue single(Object value)
    -
    -
    Creates a single-valued value. -

    -

    -
    Parameters:
    value - the value -
    Returns:
    the jCal value
    -
    -
    -
    - -

    -multi

    -
    -public static JCalValue multi(Object... values)
    -
    -
    Creates a multi-valued value. -

    -

    -
    Parameters:
    values - the values -
    Returns:
    the jCal value
    -
    -
    -
    - -

    -multi

    -
    -public static JCalValue multi(List<?> values)
    -
    -
    Creates a multi-valued value. -

    -

    -
    Parameters:
    values - the values -
    Returns:
    the jCal value
    -
    -
    -
    - -

    -structured

    -
    -public static JCalValue structured(Object... values)
    -
    -

    - Creates a structured value. -

    -

    - This method accepts a vararg of Object instances. List - objects will be treated as multi-valued components. All other objects. - Null values will be treated as empty components. -

    -

    -

    -
    Parameters:
    values - the values -
    Returns:
    the jCal value
    -
    -
    -
    - -

    -structured

    -
    -public static JCalValue structured(List<List<?>> values)
    -
    -
    Creates a structured value. -

    -

    -
    Parameters:
    values - the values -
    Returns:
    the jCal value
    -
    -
    -
    - -

    -object

    -
    -public static JCalValue object(ListMultimap<String,Object> value)
    -
    -
    Creates an object value. -

    -

    -
    Parameters:
    value - the object -
    Returns:
    the jCal value
    -
    -
    -
    - -

    -getValues

    -
    -public List<JsonValue> getValues()
    -
    -
    Gets the raw JSON values. Use one of the "as*" methods to parse - the values as one of the standard jCal values. -

    -

    - -
    Returns:
    the JSON values
    -
    -
    -
    - -

    -asSingle

    -
    -public String asSingle()
    -
    -
    Parses this jCal value as a single-valued property value. -

    -

    - -
    Returns:
    the value or empty string if not found
    -
    -
    -
    - -

    -asStructured

    -
    -public List<List<String>> asStructured()
    -
    -
    Parses this jCal value as a structured property value. -

    -

    - -
    Returns:
    the structured values or empty list if not found
    -
    -
    -
    - -

    -asMulti

    -
    -public List<String> asMulti()
    -
    -
    Parses this jCal value as a multi-valued property value. -

    -

    - -
    Returns:
    the values or empty list if not found
    -
    -
    -
    - -

    -asObject

    -
    -public ListMultimap<String,String> asObject()
    -
    -
    Parses this jCal value as an object property value. -

    -

    - -
    Returns:
    the object or an empty map if not found
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalWriter.html deleted file mode 100644 index 495303b0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JCalWriter.html +++ /dev/null @@ -1,622 +0,0 @@ - - - - - - - -JCalWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.json -
    -Class JCalWriter

    -
    -java.lang.Object
    -  extended by biweekly.io.json.JCalWriter
    -
    -
    -
    All Implemented Interfaces:
    Closeable
    -
    -
    -
    -
    public class JCalWriter
    extends Object
    implements Closeable
    - - -

    -

    - Writes ICalendar objects to a JSON data stream (jCal). -

    -

    - Example: - -

    - List<ICalendar> icals = ... 
    - OutputStream out = ...
    - JCalWriter jcalWriter = new JCalWriter(out);
    - for (ICalendar ical : icals){
    -   jcalWriter.write(ical);
    - }
    - jcalWriter.close();
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    jCal - draft
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    JCalWriter(File file) - -
    -          Creates a jCal writer that writes to a file.
    JCalWriter(File file, - boolean wrapInArray) - -
    -          Creates a jCal writer that writes to a file.
    JCalWriter(OutputStream outputStream) - -
    -          Creates a jCal writer that writes to an output stream.
    JCalWriter(OutputStream outputStream, - boolean wrapInArray) - -
    -          Creates a jCal writer that writes to an output stream.
    JCalWriter(Writer writer) - -
    -          Creates a jCal writer that writes to a writer.
    JCalWriter(Writer writer, - boolean wrapInArray) - -
    -          Creates a jCal writer that writes to a writer.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -          Finishes writing the JSON document and closes the underlying - Writer.
    - voidcloseJsonStream() - -
    -          Finishes writing the JSON document so that it is syntactically correct.
    - ICalMarshallerRegistrargetRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    - booleanisIndent() - -
    -          Gets whether or not the JSON will be pretty-printed.
    - voidregisterMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidregisterMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidsetIndent(boolean indent) - -
    -          Sets whether or not to pretty-print the JSON.
    - voidsetRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    - voidwrite(ICalendar ical) - -
    -          Writes an iCalendar object to the data stream.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -JCalWriter

    -
    -public JCalWriter(OutputStream outputStream)
    -
    -
    Creates a jCal writer that writes to an output stream. -

    -

    -
    Parameters:
    outputStream - the output stream to write to
    -
    -
    - -

    -JCalWriter

    -
    -public JCalWriter(OutputStream outputStream,
    -                  boolean wrapInArray)
    -
    -
    Creates a jCal writer that writes to an output stream. -

    -

    -
    Parameters:
    outputStream - the output stream to write to
    wrapInArray - true to wrap all iCalendar objects in a parent array, - false not to (useful when writing more than one iCalendar object)
    -
    -
    - -

    -JCalWriter

    -
    -public JCalWriter(File file)
    -           throws IOException
    -
    -
    Creates a jCal writer that writes to a file. -

    -

    -
    Parameters:
    file - the file to write to -
    Throws: -
    IOException - if the file cannot be written to
    -
    -
    - -

    -JCalWriter

    -
    -public JCalWriter(File file,
    -                  boolean wrapInArray)
    -           throws IOException
    -
    -
    Creates a jCal writer that writes to a file. -

    -

    -
    Parameters:
    file - the file to write to
    wrapInArray - true to wrap all iCalendar objects in a parent array, - false not to (useful when writing more than one iCalendar object) -
    Throws: -
    IOException - if the file cannot be written to
    -
    -
    - -

    -JCalWriter

    -
    -public JCalWriter(Writer writer)
    -
    -
    Creates a jCal writer that writes to a writer. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    -
    -
    - -

    -JCalWriter

    -
    -public JCalWriter(Writer writer,
    -                  boolean wrapInArray)
    -
    -
    Creates a jCal writer that writes to a writer. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    wrapInArray - true to wrap all iCalendar objects in a parent array, - false not to (useful when writing more than one iCalendar object)
    -
    - - - - - - - - -
    -Method Detail
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -

    - Registers an experimental property marshaller. Can also be used to - override the marshaller of a standard property (such as DTSTART). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -

    - Registers an experimental component marshaller. Can also be used to - override the marshaller of a standard component (such as VEVENT). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -getRegistrar

    -
    -public ICalMarshallerRegistrar getRegistrar()
    -
    -
    Gets the object that manages the component/property marshaller objects. -

    -

    -
    -
    -
    - -
    Returns:
    the marshaller registrar
    -
    -
    -
    - -

    -setRegistrar

    -
    -public void setRegistrar(ICalMarshallerRegistrar registrar)
    -
    -
    Sets the object that manages the component/property marshaller objects. -

    -

    -
    -
    -
    -
    Parameters:
    registrar - the marshaller registrar
    -
    -
    -
    - -

    -isIndent

    -
    -public boolean isIndent()
    -
    -
    Gets whether or not the JSON will be pretty-printed. -

    -

    -
    -
    -
    - -
    Returns:
    true if it will be pretty-printed, false if not (defaults to - false)
    -
    -
    -
    - -

    -setIndent

    -
    -public void setIndent(boolean indent)
    -
    -
    Sets whether or not to pretty-print the JSON. -

    -

    -
    -
    -
    -
    Parameters:
    indent - true to pretty-print it, false not to (defaults to false)
    -
    -
    -
    - -

    -write

    -
    -public void write(ICalendar ical)
    -           throws IOException
    -
    -
    Writes an iCalendar object to the data stream. -

    -

    -
    -
    -
    -
    Parameters:
    ical - the iCalendar object to write -
    Throws: -
    IllegalArgumentException - if the marshaller class for a component - or property object cannot be found (only happens when an experimental - property/component marshaller is not registered with the - registerMarshaller method.) -
    IOException - if there's a problem writing to the data stream
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    Finishes writing the JSON document and closes the underlying - Writer. -

    -

    -
    Specified by:
    close in interface Closeable
    -
    -
    - -
    Throws: -
    IOException - if there's a problem closing the stream
    -
    -
    -
    - -

    -closeJsonStream

    -
    -public void closeJsonStream()
    -                     throws IOException
    -
    -
    Finishes writing the JSON document so that it is syntactically correct. - No more iCalendar objects can be written once this method is called. -

    -

    -
    -
    -
    - -
    Throws: -
    IOException - if there's a problem writing to the data stream
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JsonValue.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JsonValue.html deleted file mode 100644 index c8b3abd3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/JsonValue.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - - -JsonValue (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.json -
    -Class JsonValue

    -
    -java.lang.Object
    -  extended by biweekly.io.json.JsonValue
    -
    -
    -
    -
    public class JsonValue
    extends Object
    - - -

    -Represents a JSON value, array, or object. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    JsonValue(List<JsonValue> array) - -
    -          Creates a JSON array.
    JsonValue(Map<String,JsonValue> object) - -
    -          Creates a JSON object.
    JsonValue(Object value) - -
    -          Creates a JSON value (such as a string or integer).
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object obj) - -
    -           
    - List<JsonValue>getArray() - -
    -          Gets the JSON array elements.
    - Map<String,JsonValue>getObject() - -
    -          Gets the JSON object.
    - ObjectgetValue() - -
    -          Gets the JSON value.
    - inthashCode() - -
    -           
    - booleanisNull() - -
    -          Determines if the value is "null" or not.
    - StringtoString() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -JsonValue

    -
    -public JsonValue(Object value)
    -
    -
    Creates a JSON value (such as a string or integer). -

    -

    -
    Parameters:
    value - the value
    -
    -
    - -

    -JsonValue

    -
    -public JsonValue(List<JsonValue> array)
    -
    -
    Creates a JSON array. -

    -

    -
    Parameters:
    array - the array elements
    -
    -
    - -

    -JsonValue

    -
    -public JsonValue(Map<String,JsonValue> object)
    -
    -
    Creates a JSON object. -

    -

    -
    Parameters:
    object - the object fields
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public Object getValue()
    -
    -
    Gets the JSON value. -

    -

    - -
    Returns:
    the value or null if it's not a JSON value
    -
    -
    -
    - -

    -getArray

    -
    -public List<JsonValue> getArray()
    -
    -
    Gets the JSON array elements. -

    -

    - -
    Returns:
    the array elements or null if it's not a JSON array
    -
    -
    -
    - -

    -getObject

    -
    -public Map<String,JsonValue> getObject()
    -
    -
    Gets the JSON object. -

    -

    - -
    Returns:
    the object or null if it's not a JSON object
    -
    -
    -
    - -

    -isNull

    -
    -public boolean isNull()
    -
    -
    Determines if the value is "null" or not. -

    -

    - -
    Returns:
    true if the value is "null", false if not
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object obj)
    -
    -
    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -
    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalParseException.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalParseException.html deleted file mode 100644 index 32b7bde2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalParseException.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.json.JCalParseException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.json.JCalParseException

    -
    -No usage of biweekly.io.json.JCalParseException -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawReader.JCalDataStreamListener.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawReader.JCalDataStreamListener.html deleted file mode 100644 index 190649d6..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawReader.JCalDataStreamListener.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Interface biweekly.io.json.JCalRawReader.JCalDataStreamListener (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    biweekly.io.json.JCalRawReader.JCalDataStreamListener

    -
    - - - - - - - - - -
    -Packages that use JCalRawReader.JCalDataStreamListener
    biweekly.io.json  
    -  -

    - - - - - -
    -Uses of JCalRawReader.JCalDataStreamListener in biweekly.io.json
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type JCalRawReader.JCalDataStreamListener
    - voidJCalRawReader.readNext(JCalRawReader.JCalDataStreamListener listener) - -
    -          Reads the next iCalendar object from the jCal data stream.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawReader.html deleted file mode 100644 index b2813df0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawReader.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.json.JCalRawReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.json.JCalRawReader

    -
    -No usage of biweekly.io.json.JCalRawReader -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawWriter.html deleted file mode 100644 index 1cdc9da0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalRawWriter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.json.JCalRawWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.json.JCalRawWriter

    -
    -No usage of biweekly.io.json.JCalRawWriter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalReader.html deleted file mode 100644 index 2eb5e150..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalReader.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.json.JCalReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.json.JCalReader

    -
    -No usage of biweekly.io.json.JCalReader -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalValue.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalValue.html deleted file mode 100644 index 8677913f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalValue.html +++ /dev/null @@ -1,661 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.json.JCalValue (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.json.JCalValue

    -
    - - - - - - - - - - - - - -
    -Packages that use JCalValue
    biweekly.io.json  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of JCalValue in biweekly.io.json
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io.json that return JCalValue
    -static JCalValueJCalValue.multi(List<?> values) - -
    -          Creates a multi-valued value.
    -static JCalValueJCalValue.multi(Object... values) - -
    -          Creates a multi-valued value.
    -static JCalValueJCalValue.object(ListMultimap<String,Object> value) - -
    -          Creates an object value.
    -static JCalValueJCalValue.single(Object value) - -
    -          Creates a single-valued value.
    -static JCalValueJCalValue.structured(List<List<?>> values) - -
    -          Creates a structured value.
    -static JCalValueJCalValue.structured(Object... values) - -
    -           - Creates a structured value.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type JCalValue
    - voidJCalRawReader.JCalDataStreamListener.readProperty(List<String> componentHierarchy, - String propertyName, - ICalParameters parameters, - ICalDataType dataType, - JCalValue value) - -
    -          Called when a property is read.
    - voidJCalRawWriter.writeProperty(String propertyName, - ICalDataType dataType, - JCalValue value) - -
    -          Writes a property to the current component.
    - voidJCalRawWriter.writeProperty(String propertyName, - ICalParameters parameters, - ICalDataType dataType, - JCalValue value) - -
    -          Writes a property to the current component.
    -  -

    - - - - - -
    -Uses of JCalValue in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return JCalValue
    -protected  JCalValueAttachmentMarshaller._writeJson(Attachment property) - -
    -           
    -protected  JCalValueDurationPropertyMarshaller._writeJson(DurationProperty property) - -
    -           
    -protected  JCalValueExceptionDatesMarshaller._writeJson(ExceptionDates property) - -
    -           
    -protected  JCalValueFreeBusyMarshaller._writeJson(FreeBusy property) - -
    -           
    -protected  JCalValueGeoMarshaller._writeJson(Geo property) - -
    -           
    -protected  JCalValueRecurrenceDatesMarshaller._writeJson(RecurrenceDates property) - -
    -           
    -protected  JCalValueRequestStatusMarshaller._writeJson(RequestStatus property) - -
    -           
    -protected  JCalValueUtcOffsetPropertyMarshaller._writeJson(T property) - -
    -           
    -protected  JCalValueTextPropertyMarshaller._writeJson(T property) - -
    -           
    -protected  JCalValueRecurrencePropertyMarshaller._writeJson(T property) - -
    -           
    -protected  JCalValueListPropertyMarshaller._writeJson(T property) - -
    -           
    -protected  JCalValueIntegerPropertyMarshaller._writeJson(T property) - -
    -           
    -protected  JCalValueICalPropertyMarshaller._writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  JCalValueDateTimePropertyMarshaller._writeJson(T property) - -
    -           
    -protected  JCalValueDateOrDateTimePropertyMarshaller._writeJson(T property) - -
    -           
    -protected  JCalValueTriggerMarshaller._writeJson(Trigger property) - -
    -           
    -protected  JCalValueVersionMarshaller._writeJson(Version property) - -
    -           
    -protected  JCalValueXmlMarshaller._writeJson(Xml property) - -
    -           
    - JCalValueICalPropertyMarshaller.writeJson(T property) - -
    -          Marshals a property's value to a JSON data stream (jCal).
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type JCalValue
    -protected  XmlXmlMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TUtcOffsetPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TTextPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TRecurrencePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TListPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TIntegerPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TICalPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  GeoGeoMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateTimePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateOrDateTimePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property's value from a JSON data stream (jCal).
    -protected static ICalPropertyMarshaller.StructuredIteratorICalPropertyMarshaller.structured(JCalValue value) - -
    -          Provides an iterator for a jCard structured value.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalWriter.html deleted file mode 100644 index 3127cf15..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JCalWriter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.json.JCalWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.json.JCalWriter

    -
    -No usage of biweekly.io.json.JCalWriter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JsonValue.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JsonValue.html deleted file mode 100644 index 55c69bee..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/class-use/JsonValue.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.json.JsonValue (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.json.JsonValue

    -
    - - - - - - - - - -
    -Packages that use JsonValue
    biweekly.io.json  
    -  -

    - - - - - -
    -Uses of JsonValue in biweekly.io.json
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io.json that return types with arguments of type JsonValue
    - List<JsonValue>JsonValue.getArray() - -
    -          Gets the JSON array elements.
    - Map<String,JsonValue>JsonValue.getObject() - -
    -          Gets the JSON object.
    - List<JsonValue>JCalValue.getValues() - -
    -          Gets the raw JSON values.
    -  -

    - - - - - - - - -
    Constructors in biweekly.io.json with parameters of type JsonValue
    JCalValue(JsonValue... values) - -
    -          Creates a new jCal value.
    -  -

    - - - - - - - - - - - - - - -
    Constructor parameters in biweekly.io.json with type arguments of type JsonValue
    JCalValue(List<JsonValue> values) - -
    -          Creates a new jCal value.
    JsonValue(List<JsonValue> array) - -
    -          Creates a JSON array.
    JsonValue(Map<String,JsonValue> object) - -
    -          Creates a JSON object.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-frame.html deleted file mode 100644 index 8195bca2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-frame.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - -biweekly.io.json (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.io.json - - - - -
    -Interfaces  - -
    -JCalRawReader.JCalDataStreamListener
    - - - - - - -
    -Classes  - -
    -JCalRawReader -
    -JCalRawWriter -
    -JCalReader -
    -JCalValue -
    -JCalWriter -
    -JsonValue
    - - - - - - -
    -Exceptions  - -
    -JCalParseException
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-summary.html deleted file mode 100644 index 5f484b60..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-summary.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - -biweekly.io.json (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.io.json -

    - - - - - - - - - -
    -Interface Summary
    JCalRawReader.JCalDataStreamListenerHandles the iCalendar data as it is read off the data stream.
    -  - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    JCalRawReaderParses an iCalendar JSON data stream (jCal).
    JCalRawWriterWrites data to an iCalendar JSON data stream (jCal).
    JCalReader - Parses ICalendar objects from a jCal data stream (JSON).
    JCalValueHolds the value of a jCal property.
    JCalWriter - Writes ICalendar objects to a JSON data stream (jCal).
    JsonValueRepresents a JSON value, array, or object.
    -  - -

    - - - - - - - - - -
    -Exception Summary
    JCalParseExceptionThrown during the parsing of a JSON-encoded iCalendar object (jCal) when the - jCal object is not formatted in the correct way (the JSON syntax is valid, - but it's not in the correct jCal format).
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-tree.html deleted file mode 100644 index 40b5e04f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-tree.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - -biweekly.io.json Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.io.json -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-use.html deleted file mode 100644 index 4439527a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/json/package-use.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - -Uses of Package biweekly.io.json (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.io.json

    -
    - - - - - - - - - - - - - -
    -Packages that use biweekly.io.json
    biweekly.io.json  
    biweekly.property.marshaller  
    -  -

    - - - - - - - - - - - - - - -
    -Classes in biweekly.io.json used by biweekly.io.json
    JCalRawReader.JCalDataStreamListener - -
    -          Handles the iCalendar data as it is read off the data stream.
    JCalValue - -
    -          Holds the value of a jCal property.
    JsonValue - -
    -          Represents a JSON value, array, or object.
    -  -

    - - - - - - - - -
    -Classes in biweekly.io.json used by biweekly.property.marshaller
    JCalValue - -
    -          Holds the value of a jCal property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/package-frame.html deleted file mode 100644 index 5e7a5248..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/package-frame.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - -biweekly.io (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.io - - - - -
    -Classes  - -
    -ICalMarshallerRegistrar
    - - - - - - -
    -Exceptions  - -
    -CannotParseException -
    -SkipMeException
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/package-summary.html deleted file mode 100644 index bd13289a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/package-summary.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -biweekly.io (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.io -

    - - - - - - - - - -
    -Class Summary
    ICalMarshallerRegistrar - Manages a listing of component and property marshallers.
    -  - -

    - - - - - - - - - - - - - -
    -Exception Summary
    CannotParseExceptionThrown during the unmarshalling of an iCalendar property to signal that the - property's value could not be parsed (for example, being unable to parse a - date string).
    SkipMeExceptionThrown during the reading or writing of an iCalendar property to show that - the property should not be written to the iCalendar data stream or not be - included in the parsed ICalendar object.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/package-tree.html deleted file mode 100644 index 89b45d51..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/package-tree.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - -biweekly.io Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.io -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/package-use.html deleted file mode 100644 index e5b1a7fd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/package-use.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - -Uses of Package biweekly.io (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.io

    -
    - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use biweekly.io
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    biweekly.property.marshaller  
    -  -

    - - - - - - - - -
    -Classes in biweekly.io used by biweekly.io.json
    ICalMarshallerRegistrar - -
    -           - Manages a listing of component and property marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.io used by biweekly.io.text
    ICalMarshallerRegistrar - -
    -           - Manages a listing of component and property marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.io used by biweekly.io.xml
    ICalMarshallerRegistrar - -
    -           - Manages a listing of component and property marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.io used by biweekly.property.marshaller
    CannotParseException - -
    -          Thrown during the unmarshalling of an iCalendar property to signal that the - property's value could not be parsed (for example, being unable to parse a - date string).
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldedLineReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldedLineReader.html deleted file mode 100644 index b6a05813..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldedLineReader.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - -FoldedLineReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Class FoldedLineReader

    -
    -java.lang.Object
    -  extended by java.io.Reader
    -      extended by java.io.BufferedReader
    -          extended by biweekly.io.text.FoldedLineReader
    -
    -
    -
    All Implemented Interfaces:
    Closeable, Readable
    -
    -
    -
    -
    public class FoldedLineReader
    extends BufferedReader
    - - -

    -Automatically unfolds lines of text as they are read. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.io.Reader
    lock
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    FoldedLineReader(Reader reader) - -
    -          Creates a new folded line reader.
    FoldedLineReader(String text) - -
    -          Creates a new folded line reader.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetLineNum() - -
    -          Gets the starting line number of the last unfolded line that was read.
    - booleanisSingleSpaceFoldingEnabled() - -
    -          Gets whether the reader will only ignore the first whitespace character - it encounters at the beginning of a folded line.
    - StringreadLine() - -
    -          Reads the next line, unfolding it if necessary.
    - voidsetSingleSpaceFoldingEnabled(boolean enabled) - -
    -          Sets whether the reader will only ignore the first whitespace character - it encounters at the beginning of a folded line.
    - - - - - - - -
    Methods inherited from class java.io.BufferedReader
    close, mark, markSupported, read, read, ready, reset, skip
    - - - - - - - -
    Methods inherited from class java.io.Reader
    read, read
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -FoldedLineReader

    -
    -public FoldedLineReader(Reader reader)
    -
    -
    Creates a new folded line reader. -

    -

    -
    Parameters:
    reader - the reader object to wrap
    -
    -
    - -

    -FoldedLineReader

    -
    -public FoldedLineReader(String text)
    -
    -
    Creates a new folded line reader. -

    -

    -
    Parameters:
    text - the text to read
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setSingleSpaceFoldingEnabled

    -
    -public void setSingleSpaceFoldingEnabled(boolean enabled)
    -
    -
    Sets whether the reader will only ignore the first whitespace character - it encounters at the beginning of a folded line. This setting is enabled - by default in order to support iCalendar files generated by Outlook. -

    -

    -
    Parameters:
    enabled - true to enable (default), false to disable
    -
    -
    -
    - -

    -isSingleSpaceFoldingEnabled

    -
    -public boolean isSingleSpaceFoldingEnabled()
    -
    -
    Gets whether the reader will only ignore the first whitespace character - it encounters at the beginning of a folded line. This setting is enabled - by default in order to support iCalendar files generated by Outlook. -

    -

    - -
    Returns:
    true if enabled (default), false if disabled
    -
    -
    -
    - -

    -getLineNum

    -
    -public int getLineNum()
    -
    -
    Gets the starting line number of the last unfolded line that was read. -

    -

    - -
    Returns:
    the line number
    -
    -
    -
    - -

    -readLine

    -
    -public String readLine()
    -                throws IOException
    -
    -
    Reads the next line, unfolding it if necessary. -

    -

    -
    Overrides:
    readLine in class BufferedReader
    -
    -
    - -
    Returns:
    the next line or null if EOF -
    Throws: -
    IOException - if there's a problem reading from the reader
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldedLineWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldedLineWriter.html deleted file mode 100644 index f8761fca..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldedLineWriter.html +++ /dev/null @@ -1,563 +0,0 @@ - - - - - - - -FoldedLineWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Class FoldedLineWriter

    -
    -java.lang.Object
    -  extended by java.io.Writer
    -      extended by biweekly.io.text.FoldedLineWriter
    -
    -
    -
    All Implemented Interfaces:
    Closeable, Flushable, Appendable
    -
    -
    -
    -
    public class FoldedLineWriter
    extends Writer
    - - -

    -Automatically folds lines as they are written. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.io.Writer
    lock
    -  - - - - - - - - - - -
    -Constructor Summary
    FoldedLineWriter(Writer writer, - int lineLength, - String indent, - String newline) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -           
    - voidflush() - -
    -           
    - StringgetIndent() - -
    -          Gets the string that is prepended to each folded line.
    - intgetLineLength() - -
    -          Gets the maximum length a line can be before it is folded (excluding the - newline).
    - StringgetNewline() - -
    -          Gets the newline sequence that is used to separate lines.
    - voidsetIndent(String indent) - -
    -          Sets the string that is prepended to each folded line.
    - voidsetLineLength(int lineLength) - -
    -          Sets the maximum length a line can be before it is folded (excluding the - newline).
    - voidsetNewline(String newline) - -
    -          Sets the newline sequence that is used to separate lines
    - voidwrite(char[] buf, - int start, - int end) - -
    -           
    - voidwrite(char[] buf, - int start, - int end, - int lineLength, - String indent) - -
    -          Writes a portion of an array of characters.
    - voidwriteln(String str) - -
    -          Writes a string of text, followed by a newline.
    - - - - - - - -
    Methods inherited from class java.io.Writer
    append, append, append, write, write, write, write
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -FoldedLineWriter

    -
    -public FoldedLineWriter(Writer writer,
    -                        int lineLength,
    -                        String indent,
    -                        String newline)
    -
    -
    -
    Parameters:
    writer - the writer object to wrap
    lineLength - the maximum length a line can be before it is folded - (excluding the newline)
    indent - the string to prepend to each folded line (e.g. a single - space character)
    newline - the newline sequence to use (e.g. "\r\n") -
    Throws: -
    IllegalArgumentException - if the line length is less than or equal - to zero -
    IllegalArgumentException - if the length of the indent string is - greater than the max line length
    -
    - - - - - - - - -
    -Method Detail
    - -

    -writeln

    -
    -public void writeln(String str)
    -             throws IOException
    -
    -
    Writes a string of text, followed by a newline. -

    -

    -
    Parameters:
    str - the text to write -
    Throws: -
    IOException - if there's a problem writing to the output stream
    -
    -
    -
    - -

    -write

    -
    -public void write(char[] buf,
    -                  int start,
    -                  int end)
    -           throws IOException
    -
    -
    -
    Specified by:
    write in class Writer
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    -
    - -

    -write

    -
    -public void write(char[] buf,
    -                  int start,
    -                  int end,
    -                  int lineLength,
    -                  String indent)
    -           throws IOException
    -
    -
    Writes a portion of an array of characters. -

    -

    -
    Parameters:
    buf - the array of characters
    start - the offset from which to start writing characters
    end - the number of characters to write
    lineLength - the maximum length a line can be before it is folded - (excluding the newline)
    indent - the indent string to use (e.g. a single space character) -
    Throws: -
    IOException - if there's a problem writing to the output stream
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    -
    Specified by:
    close in interface Closeable
    Specified by:
    close in class Writer
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    -
    - -

    -flush

    -
    -public void flush()
    -           throws IOException
    -
    -
    -
    Specified by:
    flush in interface Flushable
    Specified by:
    flush in class Writer
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    -
    - -

    -getLineLength

    -
    -public int getLineLength()
    -
    -
    Gets the maximum length a line can be before it is folded (excluding the - newline). -

    -

    - -
    Returns:
    the line length
    -
    -
    -
    - -

    -setLineLength

    -
    -public void setLineLength(int lineLength)
    -
    -
    Sets the maximum length a line can be before it is folded (excluding the - newline). -

    -

    -
    Parameters:
    lineLength - the line length -
    Throws: -
    IllegalArgumentException - if the line length is less than or equal - to zero
    -
    -
    -
    - -

    -getIndent

    -
    -public String getIndent()
    -
    -
    Gets the string that is prepended to each folded line. -

    -

    - -
    Returns:
    the indent string
    -
    -
    -
    - -

    -setIndent

    -
    -public void setIndent(String indent)
    -
    -
    Sets the string that is prepended to each folded line. -

    -

    -
    Parameters:
    indent - the indent string (e.g. a single space character) -
    Throws: -
    IllegalArgumentException - if the length of the indent string is - greater than the max line length
    -
    -
    -
    - -

    -getNewline

    -
    -public String getNewline()
    -
    -
    Gets the newline sequence that is used to separate lines. -

    -

    - -
    Returns:
    the newline sequence
    -
    -
    -
    - -

    -setNewline

    -
    -public void setNewline(String newline)
    -
    -
    Sets the newline sequence that is used to separate lines -

    -

    -
    Parameters:
    newline - the newline sequence
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldingScheme.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldingScheme.html deleted file mode 100644 index 2f4bbddd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/FoldingScheme.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - -FoldingScheme (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Class FoldingScheme

    -
    -java.lang.Object
    -  extended by biweekly.io.text.FoldingScheme
    -
    -
    -
    -
    public class FoldingScheme
    extends Object
    - - -

    -Specifies how an iCalendar object should be folded when written to a string. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static FoldingSchemeDEFAULT - -
    -          Folds lines according to RFC specification (75 characters not including - CRLF, with 1 space as indentation).
    -  - - - - - - - - - - -
    -Constructor Summary
    FoldingScheme(int lineLength, - String indent) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetIndent() - -
    -          Gets the string that is used to indent the folded line.
    - intgetLineLength() - -
    -          Gets the maximum number of characters that can exist on a line before - needing to be folded (not including the newline).
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -DEFAULT

    -
    -public static final FoldingScheme DEFAULT
    -
    -
    Folds lines according to RFC specification (75 characters not including - CRLF, with 1 space as indentation). -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -FoldingScheme

    -
    -public FoldingScheme(int lineLength,
    -                     String indent)
    -
    -
    -
    Parameters:
    lineLength - the maximum number of characters that can exist on a - line before needing to be folded (not including the newline)
    indent - the string to use for indentation -
    Throws: -
    IllegalArgumentException - if the line length is <= 0, or if the - line length is less than the length of the indentation string
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLineLength

    -
    -public int getLineLength()
    -
    -
    Gets the maximum number of characters that can exist on a line before - needing to be folded (not including the newline). -

    -

    - -
    Returns:
    the max line length
    -
    -
    -
    - -

    -getIndent

    -
    -public String getIndent()
    -
    -
    Gets the string that is used to indent the folded line. -

    -

    - -
    Returns:
    the indent string
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.ICalDataStreamListener.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.ICalDataStreamListener.html deleted file mode 100644 index f8761f16..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.ICalDataStreamListener.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - - -ICalRawReader.ICalDataStreamListener (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Interface ICalRawReader.ICalDataStreamListener

    -
    -
    Enclosing class:
    ICalRawReader
    -
    -
    -
    -
    public static interface ICalRawReader.ICalDataStreamListener
    - - -

    -Handles the iCalendar data as it is read off the data stream. Each one of - this interface's methods may throw a ICalRawReader.StopReadingException at any - time to force the parser to stop reading from the data stream. This will - cause the reader to return from the ICalRawReader.start(biweekly.io.text.ICalRawReader.ICalDataStreamListener) method. - To continue reading from the data stream, simply call the - ICalRawReader.start(biweekly.io.text.ICalRawReader.ICalDataStreamListener) method again. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidbeginComponent(String name) - -
    -          Called when a component begins (when a "BEGIN:NAME" property is - reached).
    - voidendComponent(String name) - -
    -          Called when a component ends (when a "END:NAME" property is reached).
    - voidinvalidLine(String line) - -
    -          Called when a line cannot be parsed.
    - voidreadProperty(String name, - ICalParameters parameters, - String value) - -
    -          Called when a property is read.
    - voidvaluelessParameter(String propertyName, - String parameterName) - -
    -          Called when a value-less parameter is read.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -beginComponent

    -
    -void beginComponent(String name)
    -
    -
    Called when a component begins (when a "BEGIN:NAME" property is - reached). -

    -

    -
    Parameters:
    name - the component name (e.g. "VEVENT") -
    Throws: -
    ICalRawReader.StopReadingException - to force the reader to stop reading from - the data stream
    -
    -
    -
    - -

    -readProperty

    -
    -void readProperty(String name,
    -                  ICalParameters parameters,
    -                  String value)
    -
    -
    Called when a property is read. -

    -

    -
    Parameters:
    name - the property name (e.g. "VERSION")
    parameters - the parameters
    value - the property value -
    Throws: -
    ICalRawReader.StopReadingException - to force the reader to stop reading from - the data stream
    -
    -
    -
    - -

    -endComponent

    -
    -void endComponent(String name)
    -
    -
    Called when a component ends (when a "END:NAME" property is reached). -

    -

    -
    Parameters:
    name - the component name (e.g. "VEVENT") -
    Throws: -
    ICalRawReader.StopReadingException - to force the reader to stop reading from - the data stream
    -
    -
    -
    - -

    -invalidLine

    -
    -void invalidLine(String line)
    -
    -
    Called when a line cannot be parsed. -

    -

    -
    Parameters:
    line - the unparseable line -
    Throws: -
    ICalRawReader.StopReadingException - to force the reader to stop reading from - the data stream
    -
    -
    -
    - -

    -valuelessParameter

    -
    -void valuelessParameter(String propertyName,
    -                        String parameterName)
    -
    -
    Called when a value-less parameter is read. -

    -

    -
    Parameters:
    propertyName - the property name (e.g. "VERSION")
    parameterName - the parameter name (e.g. "FMTTYPE")
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.StopReadingException.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.StopReadingException.html deleted file mode 100644 index 486a54f8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.StopReadingException.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - -ICalRawReader.StopReadingException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Class ICalRawReader.StopReadingException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by java.lang.RuntimeException
    -              extended by biweekly.ICalException
    -                  extended by biweekly.io.text.ICalRawReader.StopReadingException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Enclosing class:
    ICalRawReader
    -
    -
    -
    -
    public static class ICalRawReader.StopReadingException
    extends ICalException
    - - -

    -Instructs an ICalRawReader to stop reading from the data stream - when thrown from an ICalRawReader.ICalDataStreamListener implementation. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ICalRawReader.StopReadingException() - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalRawReader.StopReadingException

    -
    -public ICalRawReader.StopReadingException()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.html deleted file mode 100644 index 60b757f7..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawReader.html +++ /dev/null @@ -1,496 +0,0 @@ - - - - - - - -ICalRawReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Class ICalRawReader

    -
    -java.lang.Object
    -  extended by biweekly.io.text.ICalRawReader
    -
    -
    -
    All Implemented Interfaces:
    Closeable
    -
    -
    -
    -
    public class ICalRawReader
    extends Object
    implements Closeable
    - - -

    -Parses an iCalendar data stream. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545
    -
    - -

    - - - - - - - - - - - - - - - -
    -Nested Class Summary
    -static interfaceICalRawReader.ICalDataStreamListener - -
    -          Handles the iCalendar data as it is read off the data stream.
    -static classICalRawReader.StopReadingException - -
    -          Instructs an ICalRawReader to stop reading from the data stream - when thrown from an ICalRawReader.ICalDataStreamListener implementation.
    -  - - - - - - - - - - -
    -Constructor Summary
    ICalRawReader(Reader reader) - -
    -          Creates a new reader.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -          Closes the underlying Reader object.
    - booleaneof() - -
    -          Determines whether the end of the data stream has been reached.
    - intgetLineNum() - -
    -          Gets the line number of the last line that was read.
    - booleanisCaretDecodingEnabled() - -
    -           - Gets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default).
    - voidsetCaretDecodingEnabled(boolean enable) - -
    -           - Sets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default).
    - voidstart(ICalRawReader.ICalDataStreamListener listener) - -
    -          Starts or continues reading from the iCalendar data stream.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalRawReader

    -
    -public ICalRawReader(Reader reader)
    -
    -
    Creates a new reader. -

    -

    -
    Parameters:
    reader - the reader to the data stream
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLineNum

    -
    -public int getLineNum()
    -
    -
    Gets the line number of the last line that was read. -

    -

    -
    -
    -
    - -
    Returns:
    the line number
    -
    -
    -
    - -

    -start

    -
    -public void start(ICalRawReader.ICalDataStreamListener listener)
    -           throws IOException
    -
    -
    Starts or continues reading from the iCalendar data stream. -

    -

    -
    -
    -
    -
    Parameters:
    listener - handles the iCalendar data as it is read off the wire -
    Throws: -
    IOException - if there is an I/O problem
    -
    -
    -
    - -

    -isCaretDecodingEnabled

    -
    -public boolean isCaretDecodingEnabled()
    -
    -

    - Gets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default). This escaping mechanism allows - newlines and double quotes to be included in parameter values. -

    - - - - - - - - - - - - - - - - - - -
    Raw CharacterEncoded Character
    "^'
    newline^n
    ^^^
    - -

    - Example: -

    - -
    - GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -  sburgh, PA 15212":40.446816;80.00566
    - 
    -

    -

    -
    -
    -
    - -
    Returns:
    true if circumflex accent decoding is enabled, false if not
    Specification Reference:
    RFC 6868
    -
    -
    -
    - -

    -setCaretDecodingEnabled

    -
    -public void setCaretDecodingEnabled(boolean enable)
    -
    -

    - Sets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default). This escaping mechanism allows - newlines and double quotes to be included in parameter values. -

    - - - - - - - - - - - - - - - - - - -
    Raw CharacterEncoded Character
    "^'
    newline^n
    ^^^
    - -

    - Example: -

    - -
    - GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -  sburgh, PA 15212":geo:40.446816,-80.00566
    - 
    -

    -

    -
    -
    -
    -
    Parameters:
    enable - true to use circumflex accent decoding, false not to
    Specification Reference:
    RFC 6868
    -
    -
    -
    - -

    -eof

    -
    -public boolean eof()
    -
    -
    Determines whether the end of the data stream has been reached. -

    -

    -
    -
    -
    - -
    Returns:
    true if the end has been reached, false if not
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    Closes the underlying Reader object. -

    -

    -
    Specified by:
    close in interface Closeable
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawWriter.ParameterValueChangedListener.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawWriter.ParameterValueChangedListener.html deleted file mode 100644 index dae78930..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawWriter.ParameterValueChangedListener.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - -ICalRawWriter.ParameterValueChangedListener (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Interface ICalRawWriter.ParameterValueChangedListener

    -
    -
    Enclosing class:
    ICalRawWriter
    -
    -
    -
    -
    public static interface ICalRawWriter.ParameterValueChangedListener
    - - -

    -Allows you to respond to when a parameter's value is changed due to it - containing invalid characters. If a character can be escaped (such as the - "^" character when caret encoding is enabled), then this does not count - as the parameter being modified because it can be decoded without losing - any information. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    - voidonParameterValueChanged(String propertyName, - String parameterName, - String originalValue, - String modifiedValue) - -
    -          Called when a parameter value is changed.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -onParameterValueChanged

    -
    -void onParameterValueChanged(String propertyName,
    -                             String parameterName,
    -                             String originalValue,
    -                             String modifiedValue)
    -
    -
    Called when a parameter value is changed. -

    -

    -
    Parameters:
    propertyName - the name of the property to which the parameter - belongs
    parameterName - the parameter name
    originalValue - the original parameter value
    modifiedValue - the modified parameter value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawWriter.html deleted file mode 100644 index 814d55ea..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalRawWriter.html +++ /dev/null @@ -1,702 +0,0 @@ - - - - - - - -ICalRawWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Class ICalRawWriter

    -
    -java.lang.Object
    -  extended by biweekly.io.text.ICalRawWriter
    -
    -
    -
    All Implemented Interfaces:
    Closeable
    -
    -
    -
    -
    public class ICalRawWriter
    extends Object
    implements Closeable
    - - -

    -Writes data to an iCalendar data stream. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545
    -
    - -

    - - - - - - - - - - - -
    -Nested Class Summary
    -static interfaceICalRawWriter.ParameterValueChangedListener - -
    -          Allows you to respond to when a parameter's value is changed due to it - containing invalid characters.
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ICalRawWriter(Writer writer) - -
    -          Creates an iCalendar raw writer using the standard folding scheme and - newline sequence.
    ICalRawWriter(Writer writer, - FoldingScheme foldingScheme) - -
    -          Creates an iCalendar raw writer using the standard newline sequence.
    ICalRawWriter(Writer writer, - FoldingScheme foldingScheme, - String newline) - -
    -          Creates an iCalendar raw writer.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -          Closes the underlying Writer object.
    - FoldingSchemegetFoldingScheme() - -
    -          Gets the rules for how each line is folded.
    - StringgetNewline() - -
    -          Gets the newline sequence that is used to separate lines.
    - ICalRawWriter.ParameterValueChangedListenergetParameterValueChangedListener() - -
    -          Gets the listener which will be invoked when a parameter's value is - changed due to containing invalid characters.
    - booleanisCaretEncodingEnabled() - -
    -           - Gets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default).
    - voidsetCaretEncodingEnabled(boolean enable) - -
    -           - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default).
    - voidsetParameterValueChangedListener(ICalRawWriter.ParameterValueChangedListener parameterValueChangedListener) - -
    -          Sets the listener which will be invoked when a parameter's value is - changed due to containing invalid characters.
    - voidwriteBeginComponent(String componentName) - -
    -          Writes a property marking the beginning of a component (in other words, - writes a "BEGIN:NAME" property).
    - voidwriteEndComponent(String componentName) - -
    -          Writes a property marking the end of a component (in other words, writes - a "END:NAME" property).
    - voidwriteProperty(String propertyName, - ICalParameters parameters, - String value) - -
    -          Writes a property to the iCalendar data stream.
    - voidwriteProperty(String propertyName, - String value) - -
    -          Writes a property to the iCalendar data stream.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalRawWriter

    -
    -public ICalRawWriter(Writer writer)
    -
    -
    Creates an iCalendar raw writer using the standard folding scheme and - newline sequence. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    -
    -
    - -

    -ICalRawWriter

    -
    -public ICalRawWriter(Writer writer,
    -                     FoldingScheme foldingScheme)
    -
    -
    Creates an iCalendar raw writer using the standard newline sequence. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    foldingScheme - the folding scheme to use or null not to fold at all
    -
    -
    - -

    -ICalRawWriter

    -
    -public ICalRawWriter(Writer writer,
    -                     FoldingScheme foldingScheme,
    -                     String newline)
    -
    -
    Creates an iCalendar raw writer. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    foldingScheme - the folding scheme to use or null not to fold at all
    newline - the newline sequence to use
    -
    - - - - - - - - -
    -Method Detail
    - -

    -isCaretEncodingEnabled

    -
    -public boolean isCaretEncodingEnabled()
    -
    -

    - Gets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). This escaping mechanism allows - for newlines and double quotes to be included in parameter values. -

    - -

    - When disabled, the writer will replace newlines with spaces and double - quotes with single quotes. -

    - - - - - - - - - - - - - - - - - - - - - - -
    CharacterReplacement
    - (when disabled)
    Replacement
    - (when enabled)
    "'^'
    newlinespace^n
    ^^^^
    - -

    - Example: -

    - -
    - GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -  sburgh, PA 15212":40.446816;80.00566
    - 
    -

    -

    -
    -
    -
    - -
    Returns:
    true if circumflex accent encoding is enabled, false if not
    Specification Reference:
    RFC 6868
    -
    -
    -
    - -

    -setCaretEncodingEnabled

    -
    -public void setCaretEncodingEnabled(boolean enable)
    -
    -

    - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). This escaping mechanism allows - for newlines and double quotes to be included in parameter values. -

    - -

    - When disabled, the writer will replace newlines with spaces and double - quotes with single quotes. -

    - - - - - - - - - - - - - - - - - - - - - - -
    CharacterReplacement
    - (when disabled)
    Replacement
    - (when enabled)
    "'^'
    newlinespace^n
    ^^^^
    - -

    - Example: -

    - -
    - GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -  sburgh, PA 15212":40.446816;80.00566
    - 
    -

    -

    -
    -
    -
    -
    Parameters:
    enable - true to use circumflex accent encoding, false not to
    Specification Reference:
    RFC 6868
    -
    -
    -
    - -

    -getNewline

    -
    -public String getNewline()
    -
    -
    Gets the newline sequence that is used to separate lines. -

    -

    -
    -
    -
    - -
    Returns:
    the newline sequence
    -
    -
    -
    - -

    -getParameterValueChangedListener

    -
    -public ICalRawWriter.ParameterValueChangedListener getParameterValueChangedListener()
    -
    -
    Gets the listener which will be invoked when a parameter's value is - changed due to containing invalid characters. -

    -

    -
    -
    -
    - -
    Returns:
    the listener or null if not set
    -
    -
    -
    - -

    -setParameterValueChangedListener

    -
    -public void setParameterValueChangedListener(ICalRawWriter.ParameterValueChangedListener parameterValueChangedListener)
    -
    -
    Sets the listener which will be invoked when a parameter's value is - changed due to containing invalid characters. -

    -

    -
    -
    -
    -
    Parameters:
    parameterValueChangedListener - the listener or null to remove
    -
    -
    -
    - -

    -getFoldingScheme

    -
    -public FoldingScheme getFoldingScheme()
    -
    -
    Gets the rules for how each line is folded. -

    -

    -
    -
    -
    - -
    Returns:
    the folding scheme or null if the lines are not folded
    -
    -
    -
    - -

    -writeBeginComponent

    -
    -public void writeBeginComponent(String componentName)
    -                         throws IOException
    -
    -
    Writes a property marking the beginning of a component (in other words, - writes a "BEGIN:NAME" property). -

    -

    -
    -
    -
    -
    Parameters:
    componentName - the component name (e.g. "VEVENT") -
    Throws: -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -writeEndComponent

    -
    -public void writeEndComponent(String componentName)
    -                       throws IOException
    -
    -
    Writes a property marking the end of a component (in other words, writes - a "END:NAME" property). -

    -

    -
    -
    -
    -
    Parameters:
    componentName - the component name (e.g. "VEVENT") -
    Throws: -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -writeProperty

    -
    -public void writeProperty(String propertyName,
    -                          String value)
    -                   throws IOException
    -
    -
    Writes a property to the iCalendar data stream. -

    -

    -
    -
    -
    -
    Parameters:
    propertyName - the property name (e.g. "VERSION")
    value - the property value (e.g. "2.0") -
    Throws: -
    IllegalArgumentException - if the property name contains invalid - characters -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -writeProperty

    -
    -public void writeProperty(String propertyName,
    -                          ICalParameters parameters,
    -                          String value)
    -                   throws IOException
    -
    -
    Writes a property to the iCalendar data stream. -

    -

    -
    -
    -
    -
    Parameters:
    propertyName - the property name (e.g. "VERSION")
    parameters - the property parameters
    value - the property value (e.g. "2.0") -
    Throws: -
    IllegalArgumentException - if the property name contains invalid - characters -
    IOException - if there's an I/O problem
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    Closes the underlying Writer object. -

    -

    -
    Specified by:
    close in interface Closeable
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalReader.html deleted file mode 100644 index d2d75706..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalReader.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - - -ICalReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Class ICalReader

    -
    -java.lang.Object
    -  extended by biweekly.io.text.ICalReader
    -
    -
    -
    All Implemented Interfaces:
    Closeable
    -
    -
    -
    -
    public class ICalReader
    extends Object
    implements Closeable
    - - -

    -

    - Parses ICalendar objects from an iCalendar data stream. -

    -

    - Example: - -

    - InputStream in = ...
    - ICalReader icalReader = new ICalReader(in);
    - ICalendar ical;
    - while ((ical = icalReader.readNext()) != null){
    -   ...
    - }
    - icalReader.close();
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545
    -
    - -

    - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ICalReader(File file) - -
    -          Creates a reader that parses iCalendar objects from a file.
    ICalReader(InputStream in) - -
    -          Creates a reader that parses iCalendar objects from an input stream.
    ICalReader(Reader reader) - -
    -          Creates a reader that parses iCalendar objects from a reader.
    ICalReader(String string) - -
    -          Creates a reader that parses iCalendar objects from a string.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -          Closes the underlying Reader object.
    - ICalMarshallerRegistrargetRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    - List<String>getWarnings() - -
    -          Gets the warnings from the last iCalendar object that was unmarshalled.
    - booleanisCaretDecodingEnabled() - -
    -          Gets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default).
    - ICalendarreadNext() - -
    -          Reads the next iCalendar object.
    - voidregisterMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidregisterMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidsetCaretDecodingEnabled(boolean enable) - -
    -          Sets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default).
    - voidsetRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalReader

    -
    -public ICalReader(String string)
    -
    -
    Creates a reader that parses iCalendar objects from a string. -

    -

    -
    Parameters:
    string - the string
    -
    -
    - -

    -ICalReader

    -
    -public ICalReader(InputStream in)
    -
    -
    Creates a reader that parses iCalendar objects from an input stream. -

    -

    -
    Parameters:
    in - the input stream
    -
    -
    - -

    -ICalReader

    -
    -public ICalReader(File file)
    -           throws FileNotFoundException
    -
    -
    Creates a reader that parses iCalendar objects from a file. -

    -

    -
    Parameters:
    file - the file -
    Throws: -
    FileNotFoundException - if the file doesn't exist
    -
    -
    - -

    -ICalReader

    -
    -public ICalReader(Reader reader)
    -
    -
    Creates a reader that parses iCalendar objects from a reader. -

    -

    -
    Parameters:
    reader - the reader
    -
    - - - - - - - - -
    -Method Detail
    - -

    -isCaretDecodingEnabled

    -
    -public boolean isCaretDecodingEnabled()
    -
    -
    Gets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default). This escaping mechanism allows - newlines and double quotes to be included in parameter values. -

    -

    -
    -
    -
    - -
    Returns:
    true if circumflex accent decoding is enabled, false if not
    See Also:
    ICalRawReader.isCaretDecodingEnabled()
    -
    -
    -
    - -

    -setCaretDecodingEnabled

    -
    -public void setCaretDecodingEnabled(boolean enable)
    -
    -
    Sets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default). This escaping mechanism allows - newlines and double quotes to be included in parameter values. -

    -

    -
    -
    -
    -
    Parameters:
    enable - true to use circumflex accent decoding, false not to
    See Also:
    ICalRawReader.setCaretDecodingEnabled(boolean)
    -
    -
    -
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -

    - Registers an experimental property marshaller. Can also be used to - override the marshaller of a standard property (such as DTSTART). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -

    - Registers an experimental component marshaller. Can also be used to - override the marshaller of a standard component (such as VEVENT). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -getRegistrar

    -
    -public ICalMarshallerRegistrar getRegistrar()
    -
    -
    Gets the object that manages the component/property marshaller objects. -

    -

    -
    -
    -
    - -
    Returns:
    the marshaller registrar
    -
    -
    -
    - -

    -setRegistrar

    -
    -public void setRegistrar(ICalMarshallerRegistrar registrar)
    -
    -
    Sets the object that manages the component/property marshaller objects. -

    -

    -
    -
    -
    -
    Parameters:
    registrar - the marshaller registrar
    -
    -
    -
    - -

    -getWarnings

    -
    -public List<String> getWarnings()
    -
    -
    Gets the warnings from the last iCalendar object that was unmarshalled. - This list is reset every time a new iCalendar object is read. -

    -

    -
    -
    -
    - -
    Returns:
    the warnings or empty list if there were no warnings
    -
    -
    -
    - -

    -readNext

    -
    -public ICalendar readNext()
    -                   throws IOException
    -
    -
    Reads the next iCalendar object. -

    -

    -
    -
    -
    - -
    Returns:
    the next iCalendar object or null if there are no more -
    Throws: -
    IOException - if there's a problem reading from the stream
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    Closes the underlying Reader object. -

    -

    -
    Specified by:
    close in interface Closeable
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalWriter.html deleted file mode 100644 index b4608cbc..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/ICalWriter.html +++ /dev/null @@ -1,765 +0,0 @@ - - - - - - - -ICalWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.text -
    -Class ICalWriter

    -
    -java.lang.Object
    -  extended by biweekly.io.text.ICalWriter
    -
    -
    -
    All Implemented Interfaces:
    Closeable
    -
    -
    -
    -
    public class ICalWriter
    extends Object
    implements Closeable
    - - -

    -

    - Writes ICalendar objects to an iCalendar data stream. -

    -

    - Example: - -

    - List<ICalendar> icals = ... 
    - OutputStream out = ...
    - ICalWriter icalWriter = new ICalWriter(out);
    - for (ICalendar ical : icals){
    -   icalWriter.write(ical);
    - }
    - icalWriter.close();
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ICalWriter(File file) - -
    -          Creates an iCalendar writer that writes to a file.
    ICalWriter(File file, - boolean append) - -
    -          Creates an iCalendar writer that writes to a file.
    ICalWriter(File file, - boolean append, - FoldingScheme foldingScheme) - -
    -          Creates an iCalendar writer that writes to a file.
    ICalWriter(File file, - boolean append, - FoldingScheme foldingScheme, - String newline) - -
    -          Creates an iCalendar writer that writes to a file.
    ICalWriter(OutputStream outputStream) - -
    -          Creates an iCalendar writer that writes to an output stream.
    ICalWriter(OutputStream outputStream, - FoldingScheme foldingScheme) - -
    -          Creates an iCalendar writer that writes to an output stream.
    ICalWriter(OutputStream outputStream, - FoldingScheme foldingScheme, - String newline) - -
    -          Creates an iCalendar writer that writes to an output stream.
    ICalWriter(Writer writer) - -
    -          Creates an iCalendar writer that writes to a writer.
    ICalWriter(Writer writer, - FoldingScheme foldingScheme) - -
    -          Creates an iCalendar writer that writes to a writer.
    ICalWriter(Writer writer, - FoldingScheme foldingScheme, - String newline) - -
    -          Creates an iCalendar writer that writes to a writer.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclose() - -
    -          Closes the underlying Writer object.
    - FoldingSchemegetFoldingScheme() - -
    -          Gets the rules for how each line is folded.
    - StringgetNewline() - -
    -          Gets the newline sequence that is used to separate lines.
    - ICalMarshallerRegistrargetRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    - booleanisCaretEncodingEnabled() - -
    -           - Gets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default).
    - voidregisterMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidregisterMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidsetCaretEncodingEnabled(boolean enable) - -
    -           - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default).
    - voidsetRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    - voidwrite(ICalendar ical) - -
    -          Writes an iCalendar object to the data stream.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalWriter

    -
    -public ICalWriter(OutputStream outputStream)
    -
    -
    Creates an iCalendar writer that writes to an output stream. Uses the - standard folding scheme and newline sequence. -

    -

    -
    Parameters:
    outputStream - the output stream to write to
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(OutputStream outputStream,
    -                  FoldingScheme foldingScheme)
    -
    -
    Creates an iCalendar writer that writes to an output stream. Uses the - standard newline sequence. -

    -

    -
    Parameters:
    outputStream - the output stream to write to
    foldingScheme - the folding scheme to use or null not to fold at all
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(OutputStream outputStream,
    -                  FoldingScheme foldingScheme,
    -                  String newline)
    -
    -
    Creates an iCalendar writer that writes to an output stream. -

    -

    -
    Parameters:
    outputStream - the output stream to write to
    foldingScheme - the folding scheme to use or null not to fold at all
    newline - the newline sequence to use
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(File file)
    -           throws FileNotFoundException
    -
    -
    Creates an iCalendar writer that writes to a file. Uses the standard - folding scheme and newline sequence. -

    -

    -
    Parameters:
    file - the file to write to -
    Throws: -
    FileNotFoundException - if the file cannot be written to
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(File file,
    -                  boolean append)
    -           throws FileNotFoundException
    -
    -
    Creates an iCalendar writer that writes to a file. Uses the standard - folding scheme and newline sequence. -

    -

    -
    Parameters:
    file - the file to write to
    append - true to append to the end of the file, false to overwrite - it -
    Throws: -
    FileNotFoundException - if the file cannot be written to
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(File file,
    -                  boolean append,
    -                  FoldingScheme foldingScheme)
    -           throws FileNotFoundException
    -
    -
    Creates an iCalendar writer that writes to a file. Uses the standard - newline sequence. -

    -

    -
    Parameters:
    file - the file to write to
    append - true to append to the end of the file, false to overwrite - it
    foldingScheme - the folding scheme to use or null not to fold at all -
    Throws: -
    FileNotFoundException - if the file cannot be written to
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(File file,
    -                  boolean append,
    -                  FoldingScheme foldingScheme,
    -                  String newline)
    -           throws FileNotFoundException
    -
    -
    Creates an iCalendar writer that writes to a file. -

    -

    -
    Parameters:
    file - the file to write to
    append - true to append to the end of the file, false to overwrite - it
    foldingScheme - the folding scheme to use or null not to fold at all
    newline - the newline sequence to use -
    Throws: -
    FileNotFoundException - if the file cannot be written to
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(Writer writer)
    -
    -
    Creates an iCalendar writer that writes to a writer. Uses the standard - folding scheme and newline sequence. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(Writer writer,
    -                  FoldingScheme foldingScheme)
    -
    -
    Creates an iCalendar writer that writes to a writer. Uses the standard - newline sequence. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    foldingScheme - the folding scheme to use or null not to fold at all
    -
    -
    - -

    -ICalWriter

    -
    -public ICalWriter(Writer writer,
    -                  FoldingScheme foldingScheme,
    -                  String newline)
    -
    -
    Creates an iCalendar writer that writes to a writer. -

    -

    -
    Parameters:
    writer - the writer to the data stream
    foldingScheme - the folding scheme to use or null not to fold at all
    newline - the newline sequence to use
    -
    - - - - - - - - -
    -Method Detail
    - -

    -isCaretEncodingEnabled

    -
    -public boolean isCaretEncodingEnabled()
    -
    -

    - Gets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). This escaping mechanism allows - for newlines and double quotes to be included in parameter values. -

    - -

    - When disabled, the writer will replace newlines with spaces and double - quotes with single quotes. -

    -

    -

    -
    -
    -
    - -
    Returns:
    true if circumflex accent encoding is enabled, false if not
    See Also:
    ICalRawWriter.isCaretEncodingEnabled()
    -
    -
    -
    - -

    -setCaretEncodingEnabled

    -
    -public void setCaretEncodingEnabled(boolean enable)
    -
    -

    - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). This escaping mechanism allows - for newlines and double quotes to be included in parameter values. -

    - -

    - When disabled, the writer will replace newlines with spaces and double - quotes with single quotes. -

    -

    -

    -
    -
    -
    -
    Parameters:
    enable - true to use circumflex accent encoding, false not to
    See Also:
    ICalRawWriter.setCaretEncodingEnabled(boolean)
    -
    -
    -
    - -

    -getNewline

    -
    -public String getNewline()
    -
    -
    Gets the newline sequence that is used to separate lines. -

    -

    -
    -
    -
    - -
    Returns:
    the newline sequence
    -
    -
    -
    - -

    -getFoldingScheme

    -
    -public FoldingScheme getFoldingScheme()
    -
    -
    Gets the rules for how each line is folded. -

    -

    -
    -
    -
    - -
    Returns:
    the folding scheme or null if the lines are not folded
    -
    -
    -
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -

    - Registers an experimental property marshaller. Can also be used to - override the marshaller of a standard property (such as DTSTART). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -

    - Registers an experimental component marshaller. Can also be used to - override the marshaller of a standard component (such as VEVENT). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    -
    -
    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -getRegistrar

    -
    -public ICalMarshallerRegistrar getRegistrar()
    -
    -
    Gets the object that manages the component/property marshaller objects. -

    -

    -
    -
    -
    - -
    Returns:
    the marshaller registrar
    -
    -
    -
    - -

    -setRegistrar

    -
    -public void setRegistrar(ICalMarshallerRegistrar registrar)
    -
    -
    Sets the object that manages the component/property marshaller objects. -

    -

    -
    -
    -
    -
    Parameters:
    registrar - the marshaller registrar
    -
    -
    -
    - -

    -write

    -
    -public void write(ICalendar ical)
    -           throws IOException
    -
    -
    Writes an iCalendar object to the data stream. -

    -

    -
    -
    -
    -
    Parameters:
    ical - the iCalendar object to write -
    Throws: -
    IllegalArgumentException - if the marshaller class for a component - or property object cannot be found (only happens when an experimental - property/component marshaller is not registered with the - registerMarshaller method.) -
    IOException - if there's a problem writing to the data stream
    -
    -
    -
    - -

    -close

    -
    -public void close()
    -           throws IOException
    -
    -
    Closes the underlying Writer object. -

    -

    -
    Specified by:
    close in interface Closeable
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldedLineReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldedLineReader.html deleted file mode 100644 index fd6c82ae..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldedLineReader.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.text.FoldedLineReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.text.FoldedLineReader

    -
    -No usage of biweekly.io.text.FoldedLineReader -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldedLineWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldedLineWriter.html deleted file mode 100644 index 4166f39c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldedLineWriter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.text.FoldedLineWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.text.FoldedLineWriter

    -
    -No usage of biweekly.io.text.FoldedLineWriter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldingScheme.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldingScheme.html deleted file mode 100644 index c87d2e7a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/FoldingScheme.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.text.FoldingScheme (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.text.FoldingScheme

    -
    - - - - - - - - - -
    -Packages that use FoldingScheme
    biweekly.io.text  
    -  -

    - - - - - -
    -Uses of FoldingScheme in biweekly.io.text
    -  -

    - - - - - - - - - -
    Fields in biweekly.io.text declared as FoldingScheme
    -static FoldingSchemeFoldingScheme.DEFAULT - -
    -          Folds lines according to RFC specification (75 characters not including - CRLF, with 1 space as indentation).
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.text that return FoldingScheme
    - FoldingSchemeICalWriter.getFoldingScheme() - -
    -          Gets the rules for how each line is folded.
    - FoldingSchemeICalRawWriter.getFoldingScheme() - -
    -          Gets the rules for how each line is folded.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in biweekly.io.text with parameters of type FoldingScheme
    ICalRawWriter(Writer writer, - FoldingScheme foldingScheme) - -
    -          Creates an iCalendar raw writer using the standard newline sequence.
    ICalRawWriter(Writer writer, - FoldingScheme foldingScheme, - String newline) - -
    -          Creates an iCalendar raw writer.
    ICalWriter(File file, - boolean append, - FoldingScheme foldingScheme) - -
    -          Creates an iCalendar writer that writes to a file.
    ICalWriter(File file, - boolean append, - FoldingScheme foldingScheme, - String newline) - -
    -          Creates an iCalendar writer that writes to a file.
    ICalWriter(OutputStream outputStream, - FoldingScheme foldingScheme) - -
    -          Creates an iCalendar writer that writes to an output stream.
    ICalWriter(OutputStream outputStream, - FoldingScheme foldingScheme, - String newline) - -
    -          Creates an iCalendar writer that writes to an output stream.
    ICalWriter(Writer writer, - FoldingScheme foldingScheme) - -
    -          Creates an iCalendar writer that writes to a writer.
    ICalWriter(Writer writer, - FoldingScheme foldingScheme, - String newline) - -
    -          Creates an iCalendar writer that writes to a writer.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.ICalDataStreamListener.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.ICalDataStreamListener.html deleted file mode 100644 index f0671f5c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.ICalDataStreamListener.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Interface biweekly.io.text.ICalRawReader.ICalDataStreamListener (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    biweekly.io.text.ICalRawReader.ICalDataStreamListener

    -
    - - - - - - - - - -
    -Packages that use ICalRawReader.ICalDataStreamListener
    biweekly.io.text  
    -  -

    - - - - - -
    -Uses of ICalRawReader.ICalDataStreamListener in biweekly.io.text
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.text with parameters of type ICalRawReader.ICalDataStreamListener
    - voidICalRawReader.start(ICalRawReader.ICalDataStreamListener listener) - -
    -          Starts or continues reading from the iCalendar data stream.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.StopReadingException.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.StopReadingException.html deleted file mode 100644 index ee6620ff..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.StopReadingException.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.text.ICalRawReader.StopReadingException (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.text.ICalRawReader.StopReadingException

    -
    -No usage of biweekly.io.text.ICalRawReader.StopReadingException -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.html deleted file mode 100644 index 34259ac5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawReader.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.text.ICalRawReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.text.ICalRawReader

    -
    -No usage of biweekly.io.text.ICalRawReader -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawWriter.ParameterValueChangedListener.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawWriter.ParameterValueChangedListener.html deleted file mode 100644 index ef1f4454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawWriter.ParameterValueChangedListener.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - -Uses of Interface biweekly.io.text.ICalRawWriter.ParameterValueChangedListener (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    biweekly.io.text.ICalRawWriter.ParameterValueChangedListener

    -
    - - - - - - - - - -
    -Packages that use ICalRawWriter.ParameterValueChangedListener
    biweekly.io.text  
    -  -

    - - - - - -
    -Uses of ICalRawWriter.ParameterValueChangedListener in biweekly.io.text
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.text that return ICalRawWriter.ParameterValueChangedListener
    - ICalRawWriter.ParameterValueChangedListenerICalRawWriter.getParameterValueChangedListener() - -
    -          Gets the listener which will be invoked when a parameter's value is - changed due to containing invalid characters.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.text with parameters of type ICalRawWriter.ParameterValueChangedListener
    - voidICalRawWriter.setParameterValueChangedListener(ICalRawWriter.ParameterValueChangedListener parameterValueChangedListener) - -
    -          Sets the listener which will be invoked when a parameter's value is - changed due to containing invalid characters.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawWriter.html deleted file mode 100644 index b6a7ab68..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalRawWriter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.text.ICalRawWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.text.ICalRawWriter

    -
    -No usage of biweekly.io.text.ICalRawWriter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalReader.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalReader.html deleted file mode 100644 index f8ebbd87..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalReader.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.text.ICalReader (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.text.ICalReader

    -
    -No usage of biweekly.io.text.ICalReader -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalWriter.html deleted file mode 100644 index b8585379..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/class-use/ICalWriter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.text.ICalWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.text.ICalWriter

    -
    -No usage of biweekly.io.text.ICalWriter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-frame.html deleted file mode 100644 index 871443bd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-frame.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - -biweekly.io.text (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.io.text - - - - -
    -Interfaces  - -
    -ICalRawReader.ICalDataStreamListener -
    -ICalRawWriter.ParameterValueChangedListener
    - - - - - - -
    -Classes  - -
    -FoldedLineReader -
    -FoldedLineWriter -
    -FoldingScheme -
    -ICalRawReader -
    -ICalRawWriter -
    -ICalReader -
    -ICalWriter
    - - - - - - -
    -Exceptions  - -
    -ICalRawReader.StopReadingException
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-summary.html deleted file mode 100644 index 9af53a04..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-summary.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - -biweekly.io.text (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.io.text -

    - - - - - - - - - - - - - -
    -Interface Summary
    ICalRawReader.ICalDataStreamListenerHandles the iCalendar data as it is read off the data stream.
    ICalRawWriter.ParameterValueChangedListenerAllows you to respond to when a parameter's value is changed due to it - containing invalid characters.
    -  - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    FoldedLineReaderAutomatically unfolds lines of text as they are read.
    FoldedLineWriterAutomatically folds lines as they are written.
    FoldingSchemeSpecifies how an iCalendar object should be folded when written to a string.
    ICalRawReaderParses an iCalendar data stream.
    ICalRawWriterWrites data to an iCalendar data stream.
    ICalReader - Parses ICalendar objects from an iCalendar data stream.
    ICalWriter - Writes ICalendar objects to an iCalendar data stream.
    -  - -

    - - - - - - - - - -
    -Exception Summary
    ICalRawReader.StopReadingExceptionInstructs an ICalRawReader to stop reading from the data stream - when thrown from an ICalRawReader.ICalDataStreamListener implementation.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-tree.html deleted file mode 100644 index b77a7952..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-tree.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - -biweekly.io.text Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.io.text -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-use.html deleted file mode 100644 index f346e6b9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/text/package-use.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -Uses of Package biweekly.io.text (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.io.text

    -
    - - - - - - - - - -
    -Packages that use biweekly.io.text
    biweekly.io.text  
    -  -

    - - - - - - - - - - - - - - -
    -Classes in biweekly.io.text used by biweekly.io.text
    FoldingScheme - -
    -          Specifies how an iCalendar object should be folded when written to a string.
    ICalRawReader.ICalDataStreamListener - -
    -          Handles the iCalendar data as it is read off the data stream.
    ICalRawWriter.ParameterValueChangedListener - -
    -          Allows you to respond to when a parameter's value is changed due to it - containing invalid characters.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalDocument.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalDocument.html deleted file mode 100644 index 89a04a0d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalDocument.html +++ /dev/null @@ -1,876 +0,0 @@ - - - - - - - -XCalDocument (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.xml -
    -Class XCalDocument

    -
    -java.lang.Object
    -  extended by biweekly.io.xml.XCalDocument
    -
    -
    -
    -
    public class XCalDocument
    extends Object
    - - -

    -

    - Represents an XML document that contains iCalendar objects ("xCal" standard). - This class can be used to read and write xCal documents. -

    -

    - Examples: - -

    - String xml =
    - "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
    - "<icalendar xmlns=\"urn:ietf:params:xml:ns:icalendar-2.0\">" +
    -   "<vcalendar>" +
    -     "<properties>" +
    -       "<prodid><text>-//Example Inc.//Example Client//EN</text></prodid>" +
    -       "<version><text>2.0</text></version>" +
    -     "</properties>" +
    -     "<components>" +
    -       "<vevent>" +
    -         "<properties>" +
    -           "<dtstart><date-time>2013-06-27T13:00:00Z</date-time></dtstart>" +
    -           "<dtend><date-time>2013-06-27T15:00:00Z</date-time></dtend>" +
    -           "<summary><text>Team Meeting</text></summary>" +
    -         "</properties>" +
    -       "</vevent>" +
    -     "</components>" +
    -   "</vcalendar>" +
    - "</icalendar>";
    -     
    - //parsing an existing xCal document
    - XCalDocument xcal = new XCalDocument(xml);
    - List<ICalendar> icals = xcal.parseAll();
    - 
    - //creating an empty xCal document
    - XCalDocument xcal = new XCalDocument();
    - 
    - //ICalendar objects can be added at any time
    - ICalendar ical = new ICalendar();
    - xcal.add(ical);
    - 
    - //retrieving the raw XML DOM
    - Document document = xcal.getDocument();
    - 
    - //call one of the "write()" methods to output the xCal document
    - File file = new File("meeting.xml");
    - xcal.write(file);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 6321
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    XCalDocument() - -
    -          Creates an empty xCal document.
    XCalDocument(Document document) - -
    -          Wraps an existing XML DOM object.
    XCalDocument(File file) - -
    -          Parses an xCal document from a file.
    XCalDocument(InputStream in) - -
    -          Parses an xCal document from an input stream.
    XCalDocument(Reader reader) - -
    -           - Parses an xCal document from a reader.
    XCalDocument(String xml) - -
    -          Parses an xCal document from a string.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidadd(ICalendar ical) - -
    -          Adds an iCalendar object to the xCal document.
    - DocumentgetDocument() - -
    -          Gets the raw XML DOM object.
    - List<List<String>>getParseWarnings() - -
    -          Gets the warnings from the last parse operation.
    - ICalMarshallerRegistrargetRegistrar() - -
    -          Gets the object that manages the component/property marshaller objects.
    - List<ICalendar>parseAll() - -
    -          Parses all the ICalendar objects from the xCal document.
    - ICalendarparseFirst() - -
    -          Parses the first ICalendar object from the xCal document.
    - voidregisterMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) - -
    -           - Registers an experimental component marshaller.
    - voidregisterMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidregisterParameterDataType(String parameterName, - ICalDataType dataType) - -
    -          Registers the data type of an experimental parameter.
    - voidsetRegistrar(ICalMarshallerRegistrar registrar) - -
    -          Sets the object that manages the component/property marshaller objects.
    - StringtoString() - -
    -           
    - Stringwrite() - -
    -          Writes the xCal document to a string without pretty-printing it.
    - voidwrite(File file) - -
    -          Writes the xCal document to a file without pretty-printing it.
    - voidwrite(File file, - int indent) - -
    -          Writes the xCal document to a file and pretty-prints it.
    - Stringwrite(int indent) - -
    -          Writes the xCal document to a string and pretty-prints it.
    - voidwrite(OutputStream out) - -
    -          Writes the xCal document to an output stream without pretty-printing it.
    - voidwrite(OutputStream out, - int indent) - -
    -          Writes the xCal document to an output stream and pretty-prints it.
    - voidwrite(Writer writer) - -
    -          Writes the xCal document to a writer without pretty-printing it.
    - voidwrite(Writer writer, - int indent) - -
    -          Writes the xCal document to a writer and pretty-prints it.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -XCalDocument

    -
    -public XCalDocument(String xml)
    -             throws SAXException
    -
    -
    Parses an xCal document from a string. -

    -

    -
    Parameters:
    xml - the xCal document in the form of a string -
    Throws: -
    SAXException - if there's a problem parsing the XML
    -
    -
    - -

    -XCalDocument

    -
    -public XCalDocument(InputStream in)
    -             throws SAXException,
    -                    IOException
    -
    -
    Parses an xCal document from an input stream. -

    -

    -
    Parameters:
    in - the input stream to read the the xCal document from -
    Throws: -
    IOException - if there's a problem reading from the input stream -
    SAXException - if there's a problem parsing the XML
    -
    -
    - -

    -XCalDocument

    -
    -public XCalDocument(File file)
    -             throws SAXException,
    -                    IOException
    -
    -
    Parses an xCal document from a file. -

    -

    -
    Parameters:
    file - the file containing the xCal document -
    Throws: -
    IOException - if there's a problem reading from the file -
    SAXException - if there's a problem parsing the XML
    -
    -
    - -

    -XCalDocument

    -
    -public XCalDocument(Reader reader)
    -             throws SAXException,
    -                    IOException
    -
    -

    - Parses an xCal document from a reader. -

    -

    - Note that use of this constructor is discouraged. It ignores the - character encoding that is defined within the XML document itself, and - should only be used if the encoding is undefined or if the encoding needs - to be ignored for whatever reason. The XCalDocument(InputStream) - constructor should be used instead, since it takes the XML document's - character encoding into account when parsing. -

    -

    -

    -
    Parameters:
    reader - the reader to read the xCal document from -
    Throws: -
    IOException - if there's a problem reading from the reader -
    SAXException - if there's a problem parsing the XML
    -
    -
    - -

    -XCalDocument

    -
    -public XCalDocument(Document document)
    -
    -
    Wraps an existing XML DOM object. -

    -

    -
    Parameters:
    document - the XML DOM that contains the xCal document
    -
    -
    - -

    -XCalDocument

    -
    -public XCalDocument()
    -
    -
    Creates an empty xCal document. -

    -

    - - - - - - - - -
    -Method Detail
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller)
    -
    -

    - Registers an experimental property marshaller. Can also be used to - override the marshaller of a standard property (such as DTSTART). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -registerMarshaller

    -
    -public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller)
    -
    -

    - Registers an experimental component marshaller. Can also be used to - override the marshaller of a standard component (such as VEVENT). Calling - this method is the same as calling: -

    -

    - getRegistrar().register(marshaller). -

    -

    -

    -
    Parameters:
    marshaller - the marshaller to register
    -
    -
    -
    - -

    -getRegistrar

    -
    -public ICalMarshallerRegistrar getRegistrar()
    -
    -
    Gets the object that manages the component/property marshaller objects. -

    -

    - -
    Returns:
    the marshaller registrar
    -
    -
    -
    - -

    -setRegistrar

    -
    -public void setRegistrar(ICalMarshallerRegistrar registrar)
    -
    -
    Sets the object that manages the component/property marshaller objects. -

    -

    -
    Parameters:
    registrar - the marshaller registrar
    -
    -
    -
    - -

    -registerParameterDataType

    -
    -public void registerParameterDataType(String parameterName,
    -                                      ICalDataType dataType)
    -
    -
    Registers the data type of an experimental parameter. Experimental - parameters use the "unknown" xCal data type by default. -

    -

    -
    Parameters:
    parameterName - the parameter name (e.g. "x-foo")
    dataType - the data type or null to remove
    -
    -
    -
    - -

    -getDocument

    -
    -public Document getDocument()
    -
    -
    Gets the raw XML DOM object. -

    -

    - -
    Returns:
    the XML DOM
    -
    -
    -
    - -

    -getParseWarnings

    -
    -public List<List<String>> getParseWarnings()
    -
    -
    Gets the warnings from the last parse operation. -

    -

    - -
    Returns:
    the warnings (it is a "list of lists"--each parsed - ICalendar object has its own warnings list)
    See Also:
    parseAll(), -parseFirst()
    -
    -
    -
    - -

    -parseAll

    -
    -public List<ICalendar> parseAll()
    -
    -
    Parses all the ICalendar objects from the xCal document. -

    -

    - -
    Returns:
    the iCalendar objects
    -
    -
    -
    - -

    -parseFirst

    -
    -public ICalendar parseFirst()
    -
    -
    Parses the first ICalendar object from the xCal document. -

    -

    - -
    Returns:
    the iCalendar object or null if there are none
    -
    -
    -
    - -

    -add

    -
    -public void add(ICalendar ical)
    -
    -
    Adds an iCalendar object to the xCal document. This marshals the - ICalendar object to the XML DOM. This means that any changes that - are made to the ICalendar object after calling this method will - NOT be applied to the xCal document. -

    -

    -
    Parameters:
    ical - the iCalendar object to add -
    Throws: -
    IllegalArgumentException - if the marshaller class for a component - or property object cannot be found (only happens when an experimental - property/component marshaller is not registered with the - registerMarshaller method.)
    -
    -
    -
    - -

    -write

    -
    -public String write()
    -
    -
    Writes the xCal document to a string without pretty-printing it. -

    -

    - -
    Returns:
    the XML string
    -
    -
    -
    - -

    -write

    -
    -public String write(int indent)
    -
    -
    Writes the xCal document to a string and pretty-prints it. -

    -

    -
    Parameters:
    indent - the number of indent spaces to use for pretty-printing -
    Returns:
    the XML string
    -
    -
    -
    - -

    -write

    -
    -public void write(OutputStream out)
    -           throws TransformerException
    -
    -
    Writes the xCal document to an output stream without pretty-printing it. -

    -

    -
    Parameters:
    out - the output stream -
    Throws: -
    TransformerException - if there's a problem writing to the output - stream
    -
    -
    -
    - -

    -write

    -
    -public void write(OutputStream out,
    -                  int indent)
    -           throws TransformerException
    -
    -
    Writes the xCal document to an output stream and pretty-prints it. -

    -

    -
    Parameters:
    out - the output stream
    indent - the number of indent spaces to use for pretty-printing -
    Throws: -
    TransformerException - if there's a problem writing to the output - stream
    -
    -
    -
    - -

    -write

    -
    -public void write(File file)
    -           throws TransformerException,
    -                  IOException
    -
    -
    Writes the xCal document to a file without pretty-printing it. -

    -

    -
    Parameters:
    file - the file -
    Throws: -
    IOException - if there's a problem writing to the file -
    TransformerException - if there's a problem writing the XML
    -
    -
    -
    - -

    -write

    -
    -public void write(File file,
    -                  int indent)
    -           throws TransformerException,
    -                  IOException
    -
    -
    Writes the xCal document to a file and pretty-prints it. -

    -

    -
    Parameters:
    file - the file stream
    indent - the number of indent spaces to use for pretty-printing -
    Throws: -
    IOException - if there's a problem writing to the file -
    TransformerException - if there's a problem writing the XML
    -
    -
    -
    - -

    -write

    -
    -public void write(Writer writer)
    -           throws TransformerException
    -
    -
    Writes the xCal document to a writer without pretty-printing it. -

    -

    -
    Parameters:
    writer - the writer -
    Throws: -
    TransformerException - if there's a problem writing to the writer
    -
    -
    -
    - -

    -write

    -
    -public void write(Writer writer,
    -                  int indent)
    -           throws TransformerException
    -
    -
    Writes the xCal document to a writer and pretty-prints it. -

    -

    -
    Parameters:
    writer - the writer
    indent - the number of indent spaces to use for pretty-printing -
    Throws: -
    TransformerException - if there's a problem writing to the writer
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -
    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalElement.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalElement.html deleted file mode 100644 index 4e89c9eb..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalElement.html +++ /dev/null @@ -1,540 +0,0 @@ - - - - - - - -XCalElement (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.xml -
    -Class XCalElement

    -
    -java.lang.Object
    -  extended by biweekly.io.xml.XCalElement
    -
    -
    -
    -
    public class XCalElement
    extends Object
    - - -

    -Wraps xCal functionality around an XML Element object. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    XCalElement(Element element) - -
    -          Creates a new xCal element.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<String>all(ICalDataType dataType) - -
    -          Gets all the values of a given data type.
    - List<String>all(String localName) - -
    -          Gets the values of all child elements that have the given name.
    - XCalElementappend(ICalDataType dataType) - -
    -          Adds an empty value.
    - Elementappend(ICalDataType dataType, - String value) - -
    -          Adds a value.
    - XCalElementappend(String name) - -
    -          Adds a child element.
    - List<Element>append(String name, - Collection<String> values) - -
    -          Adds multiple child elements, each with the same name.
    - Elementappend(String name, - String value) - -
    -          Adds a child element.
    - XCalElementchild(ICalDataType dataType) - -
    -          Gets the first child element with the given data type.
    - List<XCalElement>children(ICalDataType dataType) - -
    -          Gets all child elements with the given data type.
    - Documentdocument() - -
    -          Gets the owner document.
    - Stringfirst(ICalDataType dataType) - -
    -          Gets the first value of the given data type.
    - Stringfirst(String localName) - -
    -          Gets the value of the first child element with the given name.
    - ElementgetElement() - -
    -          Gets the wrapped XML element.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -XCalElement

    -
    -public XCalElement(Element element)
    -
    -
    Creates a new xCal element. -

    -

    -
    Parameters:
    element - the XML element to wrap
    -
    - - - - - - - - -
    -Method Detail
    - -

    -first

    -
    -public String first(ICalDataType dataType)
    -
    -
    Gets the first value of the given data type. -

    -

    -
    Parameters:
    dataType - the data type to look for or null for the "unknown" data - type -
    Returns:
    the value or null if not found
    -
    -
    -
    - -

    -first

    -
    -public String first(String localName)
    -
    -
    Gets the value of the first child element with the given name. -

    -

    -
    Parameters:
    localName - the name of the element -
    Returns:
    the element's text or null if not found
    -
    -
    -
    - -

    -all

    -
    -public List<String> all(ICalDataType dataType)
    -
    -
    Gets all the values of a given data type. -

    -

    -
    Parameters:
    dataType - the data type to look for or null for the "unknown" data - type -
    Returns:
    the values
    -
    -
    -
    - -

    -all

    -
    -public List<String> all(String localName)
    -
    -
    Gets the values of all child elements that have the given name. -

    -

    -
    Parameters:
    localName - the element name -
    Returns:
    the values of the child elements
    -
    -
    -
    - -

    -append

    -
    -public Element append(ICalDataType dataType,
    -                      String value)
    -
    -
    Adds a value. -

    -

    -
    Parameters:
    dataType - the data type or null for the "unknown" data type
    value - the value -
    Returns:
    the created element
    -
    -
    -
    - -

    -append

    -
    -public Element append(String name,
    -                      String value)
    -
    -
    Adds a child element. -

    -

    -
    Parameters:
    name - the name of the child element
    value - the value of the child element. -
    Returns:
    the created element
    -
    -
    -
    - -

    -append

    -
    -public XCalElement append(String name)
    -
    -
    Adds a child element. -

    -

    -
    Parameters:
    name - the name of the child element -
    Returns:
    the created element
    -
    -
    -
    - -

    -append

    -
    -public XCalElement append(ICalDataType dataType)
    -
    -
    Adds an empty value. -

    -

    -
    Parameters:
    dataType - the data type -
    Returns:
    the created element
    -
    -
    -
    - -

    -append

    -
    -public List<Element> append(String name,
    -                            Collection<String> values)
    -
    -
    Adds multiple child elements, each with the same name. -

    -

    -
    Parameters:
    name - the name for all the child elements
    values - the values of each child element -
    Returns:
    the created elements
    -
    -
    -
    - -

    -document

    -
    -public Document document()
    -
    -
    Gets the owner document. -

    -

    - -
    Returns:
    the owner document
    -
    -
    -
    - -

    -getElement

    -
    -public Element getElement()
    -
    -
    Gets the wrapped XML element. -

    -

    - -
    Returns:
    the wrapped XML element
    -
    -
    -
    - -

    -children

    -
    -public List<XCalElement> children(ICalDataType dataType)
    -
    -
    Gets all child elements with the given data type. -

    -

    -
    Parameters:
    dataType - the data type -
    Returns:
    the child elements
    -
    -
    -
    - -

    -child

    -
    -public XCalElement child(ICalDataType dataType)
    -
    -
    Gets the first child element with the given data type. -

    -

    -
    Parameters:
    dataType - the data type -
    Returns:
    the child element or null if not found
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalNamespaceContext.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalNamespaceContext.html deleted file mode 100644 index ec24b129..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/XCalNamespaceContext.html +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - -XCalNamespaceContext (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.io.xml -
    -Class XCalNamespaceContext

    -
    -java.lang.Object
    -  extended by biweekly.io.xml.XCalNamespaceContext
    -
    -
    -
    All Implemented Interfaces:
    NamespaceContext
    -
    -
    -
    -
    public class XCalNamespaceContext
    extends Object
    implements NamespaceContext
    - - -

    -Used for xCal xpath expressions. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    XPath.setNamespaceContext(NamespaceContext)
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static StringXCAL_NS - -
    -          The XML namespace for xCal documents.
    -  - - - - - - - - - - -
    -Constructor Summary
    XCalNamespaceContext(String prefix) - -
    -          Creates a new namespace context.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetNamespaceURI(String prefix) - -
    -           
    - StringgetPrefix() - -
    -          Gets the prefix to use in xpath expressions.
    - StringgetPrefix(String ns) - -
    -           
    - Iterator<String>getPrefixes(String ns) - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -XCAL_NS

    -
    -public static final String XCAL_NS
    -
    -
    The XML namespace for xCal documents. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -XCalNamespaceContext

    -
    -public XCalNamespaceContext(String prefix)
    -
    -
    Creates a new namespace context. -

    -

    -
    Parameters:
    prefix - the prefix to use in xpath expressions
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getPrefix

    -
    -public String getPrefix()
    -
    -
    Gets the prefix to use in xpath expressions. -

    -

    -
    -
    -
    - -
    Returns:
    the xpath prefix
    -
    -
    -
    - -

    -getNamespaceURI

    -
    -public String getNamespaceURI(String prefix)
    -
    -
    -
    Specified by:
    getNamespaceURI in interface NamespaceContext
    -
    -
    -
    -
    -
    -
    - -

    -getPrefix

    -
    -public String getPrefix(String ns)
    -
    -
    -
    Specified by:
    getPrefix in interface NamespaceContext
    -
    -
    -
    -
    -
    -
    - -

    -getPrefixes

    -
    -public Iterator<String> getPrefixes(String ns)
    -
    -
    -
    Specified by:
    getPrefixes in interface NamespaceContext
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalDocument.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalDocument.html deleted file mode 100644 index c9eff828..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalDocument.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.xml.XCalDocument (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.xml.XCalDocument

    -
    -No usage of biweekly.io.xml.XCalDocument -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalElement.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalElement.html deleted file mode 100644 index 92c89aba..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalElement.html +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.xml.XCalElement (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.xml.XCalElement

    -
    - - - - - - - - - - - - - -
    -Packages that use XCalElement
    biweekly.io.xml  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of XCalElement in biweekly.io.xml
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io.xml that return XCalElement
    - XCalElementXCalElement.append(ICalDataType dataType) - -
    -          Adds an empty value.
    - XCalElementXCalElement.append(String name) - -
    -          Adds a child element.
    - XCalElementXCalElement.child(ICalDataType dataType) - -
    -          Gets the first child element with the given data type.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.xml that return types with arguments of type XCalElement
    - List<XCalElement>XCalElement.children(ICalDataType dataType) - -
    -          Gets all child elements with the given data type.
    -  -

    - - - - - -
    -Uses of XCalElement in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type XCalElement
    -protected  XmlXmlMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TUtcOffsetPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TTextPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TRecurrencePropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RawPropertyRawPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TListPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TIntegerPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TICalPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  GeoGeoMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateTimePropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateOrDateTimePropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  voidAttachmentMarshaller._writeXml(Attachment property, - XCalElement element) - -
    -           
    -protected  voidDurationPropertyMarshaller._writeXml(DurationProperty property, - XCalElement element) - -
    -           
    -protected  voidExceptionDatesMarshaller._writeXml(ExceptionDates property, - XCalElement element) - -
    -           
    -protected  voidFreeBusyMarshaller._writeXml(FreeBusy property, - XCalElement element) - -
    -           
    -protected  voidGeoMarshaller._writeXml(Geo property, - XCalElement element) - -
    -           
    -protected  voidRecurrenceDatesMarshaller._writeXml(RecurrenceDates property, - XCalElement element) - -
    -           
    -protected  voidRequestStatusMarshaller._writeXml(RequestStatus property, - XCalElement element) - -
    -           
    -protected  voidTriggerMarshaller._writeXml(Trigger property, - XCalElement element) - -
    -           
    -protected  voidUtcOffsetPropertyMarshaller._writeXml(T property, - XCalElement element) - -
    -           
    -protected  voidTextPropertyMarshaller._writeXml(T property, - XCalElement element) - -
    -           
    -protected  voidRecurrencePropertyMarshaller._writeXml(T property, - XCalElement element) - -
    -           
    -protected  voidListPropertyMarshaller._writeXml(T property, - XCalElement element) - -
    -           
    -protected  voidIntegerPropertyMarshaller._writeXml(T property, - XCalElement element) - -
    -           
    -protected  voidICalPropertyMarshaller._writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected  voidDateTimePropertyMarshaller._writeXml(T property, - XCalElement element) - -
    -           
    -protected  voidDateOrDateTimePropertyMarshaller._writeXml(T property, - XCalElement element) - -
    -           
    -protected  voidVersionMarshaller._writeXml(Version property, - XCalElement element) - -
    -           
    -protected  voidXmlMarshaller._writeXml(Xml property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalNamespaceContext.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalNamespaceContext.html deleted file mode 100644 index 39bb24dd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/class-use/XCalNamespaceContext.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.io.xml.XCalNamespaceContext (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.io.xml.XCalNamespaceContext

    -
    -No usage of biweekly.io.xml.XCalNamespaceContext -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-frame.html deleted file mode 100644 index 250f11f0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - -biweekly.io.xml (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.io.xml - - - - -
    -Classes  - -
    -XCalDocument -
    -XCalElement -
    -XCalNamespaceContext
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-summary.html deleted file mode 100644 index 0a385032..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-summary.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - -biweekly.io.xml (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.io.xml -

    - - - - - - - - - - - - - - - - - -
    -Class Summary
    XCalDocument - Represents an XML document that contains iCalendar objects ("xCal" standard).
    XCalElementWraps xCal functionality around an XML Element object.
    XCalNamespaceContextUsed for xCal xpath expressions.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-tree.html deleted file mode 100644 index 8e0b8f64..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-tree.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -biweekly.io.xml Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.io.xml -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-use.html deleted file mode 100644 index 18d7f2c2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/io/xml/package-use.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -Uses of Package biweekly.io.xml (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.io.xml

    -
    - - - - - - - - - - - - - -
    -Packages that use biweekly.io.xml
    biweekly.io.xml  
    biweekly.property.marshaller  
    -  -

    - - - - - - - - -
    -Classes in biweekly.io.xml used by biweekly.io.xml
    XCalElement - -
    -          Wraps xCal functionality around an XML Element object.
    -  -

    - - - - - - - - -
    -Classes in biweekly.io.xml used by biweekly.property.marshaller
    XCalElement - -
    -          Wraps xCal functionality around an XML Element object.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/package-frame.html deleted file mode 100644 index 970d98d4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/package-frame.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - -biweekly (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly - - - - -
    -Classes  - -
    -Biweekly -
    -Biweekly.ParserChainJsonReader -
    -Biweekly.ParserChainJsonString -
    -Biweekly.ParserChainTextReader -
    -Biweekly.ParserChainTextString -
    -Biweekly.ParserChainXmlDocument -
    -Biweekly.ParserChainXmlReader -
    -Biweekly.ParserChainXmlString -
    -Biweekly.WriterChainJson -
    -Biweekly.WriterChainText -
    -Biweekly.WriterChainXml -
    -ICalDataType -
    -ICalendar -
    -ValidationWarnings -
    -ValidationWarnings.WarningsGroup
    - - - - - - -
    -Exceptions  - -
    -ICalException
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/package-summary.html deleted file mode 100644 index fa85d0f4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/package-summary.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - -biweekly (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    Biweekly - Contains static chaining factory methods for reading/writing iCalendar - objects.
    Biweekly.ParserChainJsonReaderChainer class for parsing JSON-encoded iCalendar data streams (jCal).
    Biweekly.ParserChainJsonStringChainer class for parsing JSON-encoded iCalendar strings (jCal).
    Biweekly.ParserChainTextReaderChainer class for parsing plain text iCalendar data streams.
    Biweekly.ParserChainTextStringChainer class for parsing plain text iCalendar strings.
    Biweekly.ParserChainXmlDocumentChainer class for parsing XML-encoded iCalendar objects (xCal).
    Biweekly.ParserChainXmlReaderChainer class for parsing XML-encoded iCalendar objects (xCal).
    Biweekly.ParserChainXmlStringChainer class for parsing XML-encoded iCalendar objects (xCal).
    Biweekly.WriterChainJsonChainer class for writing to JSON-encoded iCalendar data streams (jCal).
    Biweekly.WriterChainTextChainer class for writing to plain text iCalendar data streams.
    Biweekly.WriterChainXmlChainer class for writing xCal documents (XML-encoded iCalendar objects).
    ICalDataTypeDefines the data type of a property's value.
    ICalendar - Represents an iCalendar object.
    ValidationWarnings - Holds the validation warnings of an iCalendar object.
    ValidationWarnings.WarningsGroupHolds the validation warnings of a property or component.
    -  - -

    - - - - - - - - - -
    -Exception Summary
    ICalExceptionThe common base exception that all exceptions inherit from.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/package-tree.html deleted file mode 100644 index f4064f95..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/package-tree.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - -biweekly Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/package-use.html deleted file mode 100644 index 910f36f4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/package-use.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - -Uses of Package biweekly (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use biweekly
    biweekly  
    biweekly.component  
    biweekly.component.marshaller  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    biweekly.parameter  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly used by biweekly
    Biweekly.ParserChainJsonReader - -
    -          Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    Biweekly.ParserChainJsonString - -
    -          Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    Biweekly.ParserChainTextReader - -
    -          Chainer class for parsing plain text iCalendar data streams.
    Biweekly.ParserChainTextString - -
    -          Chainer class for parsing plain text iCalendar strings.
    Biweekly.ParserChainXmlDocument - -
    -          Chainer class for parsing XML-encoded iCalendar objects (xCal).
    Biweekly.ParserChainXmlReader - -
    -          Chainer class for parsing XML-encoded iCalendar objects (xCal).
    Biweekly.ParserChainXmlString - -
    -          Chainer class for parsing XML-encoded iCalendar objects (xCal).
    Biweekly.WriterChainJson - -
    -          Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    Biweekly.WriterChainText - -
    -          Chainer class for writing to plain text iCalendar data streams.
    Biweekly.WriterChainXml - -
    -          Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    ICalDataType - -
    -          Defines the data type of a property's value.
    ICalendar - -
    -           - Represents an iCalendar object.
    ValidationWarnings - -
    -           - Holds the validation warnings of an iCalendar object.
    ValidationWarnings.WarningsGroup - -
    -          Holds the validation warnings of a property or component.
    -  -

    - - - - - - - - - - - -
    -Classes in biweekly used by biweekly.component
    ICalDataType - -
    -          Defines the data type of a property's value.
    ValidationWarnings.WarningsGroup - -
    -          Holds the validation warnings of a property or component.
    -  -

    - - - - - - - - -
    -Classes in biweekly used by biweekly.component.marshaller
    ICalendar - -
    -           - Represents an iCalendar object.
    -  -

    - - - - - - - - -
    -Classes in biweekly used by biweekly.io
    ICalException - -
    -          The common base exception that all exceptions inherit from.
    -  -

    - - - - - - - - - - - - - - -
    -Classes in biweekly used by biweekly.io.json
    ICalDataType - -
    -          Defines the data type of a property's value.
    ICalendar - -
    -           - Represents an iCalendar object.
    ICalException - -
    -          The common base exception that all exceptions inherit from.
    -  -

    - - - - - - - - - - - -
    -Classes in biweekly used by biweekly.io.text
    ICalendar - -
    -           - Represents an iCalendar object.
    ICalException - -
    -          The common base exception that all exceptions inherit from.
    -  -

    - - - - - - - - - - - -
    -Classes in biweekly used by biweekly.io.xml
    ICalDataType - -
    -          Defines the data type of a property's value.
    ICalendar - -
    -           - Represents an iCalendar object.
    -  -

    - - - - - - - - -
    -Classes in biweekly used by biweekly.parameter
    ICalDataType - -
    -          Defines the data type of a property's value.
    -  -

    - - - - - - - - -
    -Classes in biweekly used by biweekly.property
    ICalDataType - -
    -          Defines the data type of a property's value.
    -  -

    - - - - - - - - -
    -Classes in biweekly used by biweekly.property.marshaller
    ICalDataType - -
    -          Defines the data type of a property's value.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/CalendarUserType.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/CalendarUserType.html deleted file mode 100644 index 4f5884ca..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/CalendarUserType.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - -CalendarUserType (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class CalendarUserType

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -      extended by biweekly.parameter.CalendarUserType
    -
    -
    -
    -
    public class CalendarUserType
    extends EnumParameterValue
    - - -

    -Defines the type of user an entity is. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.16
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static CalendarUserTypeGROUP - -
    -           
    -static CalendarUserTypeINDIVIDUAL - -
    -           
    -static CalendarUserTypeRESOURCE - -
    -           
    -static CalendarUserTypeROOM - -
    -           
    -static CalendarUserTypeUNKNOWN - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.parameter.EnumParameterValue
    value
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<CalendarUserType>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static CalendarUserTypefind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static CalendarUserTypeget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - - - - - - - -
    Methods inherited from class biweekly.parameter.EnumParameterValue
    getValue, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -INDIVIDUAL

    -
    -public static final CalendarUserType INDIVIDUAL
    -
    -
    -
    -
    -
    - -

    -GROUP

    -
    -public static final CalendarUserType GROUP
    -
    -
    -
    -
    -
    - -

    -RESOURCE

    -
    -public static final CalendarUserType RESOURCE
    -
    -
    -
    -
    -
    - -

    -ROOM

    -
    -public static final CalendarUserType ROOM
    -
    -
    -
    -
    -
    - -

    -UNKNOWN

    -
    -public static final CalendarUserType UNKNOWN
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -find

    -
    -public static CalendarUserType find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static CalendarUserType get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<CalendarUserType> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Encoding.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Encoding.html deleted file mode 100644 index 842a3063..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Encoding.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - -Encoding (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class Encoding

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -      extended by biweekly.parameter.Encoding
    -
    -
    -
    -
    public class Encoding
    extends EnumParameterValue
    - - -

    -Defines how a property value is encoded. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.18-9
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static Encoding_8BIT - -
    -           
    -static EncodingBASE64 - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.parameter.EnumParameterValue
    value
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<Encoding>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static Encodingfind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static Encodingget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - - - - - - - -
    Methods inherited from class biweekly.parameter.EnumParameterValue
    getValue, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -BASE64

    -
    -public static final Encoding BASE64
    -
    -
    -
    -
    -
    - -

    -_8BIT

    -
    -public static final Encoding _8BIT
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -find

    -
    -public static Encoding find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static Encoding get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<Encoding> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/EnumParameterValue.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/EnumParameterValue.html deleted file mode 100644 index 36db6474..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/EnumParameterValue.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - -EnumParameterValue (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class EnumParameterValue

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -
    -
    -
    Direct Known Subclasses:
    CalendarUserType, Encoding, FreeBusyType, ParticipationStatus, Range, Related, RelationshipType, Role
    -
    -
    -
    -
    public class EnumParameterValue
    extends Object
    - - -

    -Represents a value from a parameter that has a list of pre-defined values - (for example, the VALUE or ACTION parameters). -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -protected  Stringvalue - -
    -          The value (for example, "text").
    -  - - - - - - - - - - - -
    -Constructor Summary
    -protected EnumParameterValue(String value) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          Gets the value of the parameter.
    - StringtoString() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -value

    -
    -protected final String value
    -
    -
    The value (for example, "text"). -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -EnumParameterValue

    -
    -protected EnumParameterValue(String value)
    -
    -
    -
    Parameters:
    value - the value (e.g. "text")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public String getValue()
    -
    -
    Gets the value of the parameter. -

    -

    - -
    Returns:
    the value of the parameter (e.g. "text")
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -
    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/FreeBusyType.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/FreeBusyType.html deleted file mode 100644 index e8ff39d5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/FreeBusyType.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -FreeBusyType (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class FreeBusyType

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -      extended by biweekly.parameter.FreeBusyType
    -
    -
    -
    -
    public class FreeBusyType
    extends EnumParameterValue
    - - -

    -Defines whether a calendar user is free or busy over a time period. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.20-1
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static FreeBusyTypeBUSY - -
    -           
    -static FreeBusyTypeBUSY_TENTATIVE - -
    -           
    -static FreeBusyTypeBUSY_UNAVAILABLE - -
    -           
    -static FreeBusyTypeFREE - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.parameter.EnumParameterValue
    value
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<FreeBusyType>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static FreeBusyTypefind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static FreeBusyTypeget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - - - - - - - -
    Methods inherited from class biweekly.parameter.EnumParameterValue
    getValue, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -FREE

    -
    -public static final FreeBusyType FREE
    -
    -
    -
    -
    -
    - -

    -BUSY

    -
    -public static final FreeBusyType BUSY
    -
    -
    -
    -
    -
    - -

    -BUSY_UNAVAILABLE

    -
    -public static final FreeBusyType BUSY_UNAVAILABLE
    -
    -
    -
    -
    -
    - -

    -BUSY_TENTATIVE

    -
    -public static final FreeBusyType BUSY_TENTATIVE
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -find

    -
    -public static FreeBusyType find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static FreeBusyType get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<FreeBusyType> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ICalParameterCaseClasses.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ICalParameterCaseClasses.html deleted file mode 100644 index b100b2b7..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ICalParameterCaseClasses.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - -ICalParameterCaseClasses (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class ICalParameterCaseClasses<T extends EnumParameterValue>

    -
    -java.lang.Object
    -  extended by biweekly.util.CaseClasses<T,String>
    -      extended by biweekly.parameter.ICalParameterCaseClasses<T>
    -
    -
    -
    Type Parameters:
    T - the parameter class
    -
    -
    -
    public class ICalParameterCaseClasses<T extends EnumParameterValue>
    extends CaseClasses<T,String>
    - - -

    -Manages the list of pre-defined values for a parameter (such as VALUE or - ENCODING). -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.util.CaseClasses
    clazz, preDefined, runtimeDefined
    -  - - - - - - - - - - -
    -Constructor Summary
    ICalParameterCaseClasses(Class<T> clazz) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  Tcreate(String value) - -
    -          Creates a new instance of the case class.
    -protected  booleanmatches(T object, - String value) - -
    -          Determines if a value is associated with a case object.
    - - - - - - - -
    Methods inherited from class biweekly.util.CaseClasses
    all, find, get
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalParameterCaseClasses

    -
    -public ICalParameterCaseClasses(Class<T> clazz)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -create

    -
    -protected T create(String value)
    -
    -
    Description copied from class: CaseClasses
    -
    Creates a new instance of the case class. -

    -

    -
    Specified by:
    create in class CaseClasses<T extends EnumParameterValue,String>
    -
    -
    -
    Parameters:
    value - the value to give the instance -
    Returns:
    the new instance
    -
    -
    -
    - -

    -matches

    -
    -protected boolean matches(T object,
    -                          String value)
    -
    -
    Description copied from class: CaseClasses
    -
    Determines if a value is associated with a case object. -

    -

    -
    Specified by:
    matches in class CaseClasses<T extends EnumParameterValue,String>
    -
    -
    -
    Parameters:
    object - the object
    value - the value -
    Returns:
    true if it matches, false if not
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ICalParameters.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ICalParameters.html deleted file mode 100644 index 50df0e2c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ICalParameters.html +++ /dev/null @@ -1,1758 +0,0 @@ - - - - - - - -ICalParameters (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class ICalParameters

    -
    -java.lang.Object
    -  extended by biweekly.util.ListMultimap<String,String>
    -      extended by biweekly.parameter.ICalParameters
    -
    -
    -
    All Implemented Interfaces:
    Iterable<Map.Entry<String,List<String>>>
    -
    -
    -
    -
    public class ICalParameters
    extends ListMultimap<String,String>
    - - -

    -Contains the list of parameters that belong to a property. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringALTREP - -
    -           
    -static StringCN - -
    -           
    -static StringCUTYPE - -
    -           
    -static StringDELEGATED_FROM - -
    -           
    -static StringDELEGATED_TO - -
    -           
    -static StringDIR - -
    -           
    -static StringENCODING - -
    -           
    -static StringFBTYPE - -
    -           
    -static StringFMTTYPE - -
    -           
    -static StringLANGUAGE - -
    -           
    -static StringMEMBER - -
    -           
    -static StringPARTSTAT - -
    -           
    -static StringRANGE - -
    -           
    -static StringRELATED - -
    -           
    -static StringRELTYPE - -
    -           
    -static StringROLE - -
    -           
    -static StringRSVP - -
    -           
    -static StringSENT_BY - -
    -           
    -static StringTZID - -
    -           
    -static StringVALUE - -
    -           
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    ICalParameters() - -
    -          Creates a parameters list.
    ICalParameters(ICalParameters parameters) - -
    -          Copies an existing parameters list.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddDelegatedFrom(String uri) - -
    -          Adds a person who has delegated his or her responsibility to an attendee.
    - voidaddDelegatedTo(String uri) - -
    -          Adds a person to which an attendee has delegated his or her - responsibility.
    - voidaddMember(String uri) - -
    -          Adds a group that an attendee is a member of.
    - StringgetAltRepresentation() - -
    -          Gets a URI pointing to additional information about the entity - represented by the property.
    - CalendarUserTypegetCalendarUserType() - -
    -          Gets the type of user an attendee is (for example, an "individual" or a - "room").
    - StringgetCommonName() - -
    -          Gets the display name of a person.
    - List<String>getDelegatedFrom() - -
    -          Gets the people who have delegated their responsibility to an attendee.
    - List<String>getDelegatedTo() - -
    -          Gets the people to which an attendee has delegated his or her - responsibility.
    - StringgetDirectoryEntry() - -
    -          Gets a URI that contains additional information about the person.
    - EncodinggetEncoding() - -
    -          Gets the encoding of the property value (for example, "base64").
    - StringgetFormatType() - -
    -          Gets the content-type of the property's value.
    - FreeBusyTypegetFreeBusyType() - -
    -          Gets the person's status over the time periods that are specified in a - FreeBusy property (for example, "free" or "busy").
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - List<String>getMembers() - -
    -          Gets the groups that an attendee is a member of.
    - ParticipationStatusgetParticipationStatus() - -
    -          Gets an attendee's level of participation.
    - RangegetRange() - -
    -          Gets the effective range of recurrence instances from the instance - specified by a RecurrenceId property.
    - RelatedgetRelated() - -
    -          Gets the date-time field that the duration in a Trigger property - is relative to.
    - RelationshipTypegetRelationshipType() - -
    -          Gets the relationship type of a RelatedTo property.
    - RolegetRole() - -
    -          Gets an attendee's role (for example, "chair" or "required participant").
    - BooleangetRsvp() - -
    -          Gets whether the organizer requests a response from an attendee.
    - StringgetSentBy() - -
    -          Gets a person that is acting on behalf of the person defined in the - property.
    - StringgetTimezoneId() - -
    -          Gets the timezone identifier.
    - ICalDataTypegetValue() - -
    -          Gets the data type of the property's value (for example, "text" or - "datetime").
    - voidremoveDelegatedFrom() - -
    -          Removes everyone who has delegated his or her responsibility to an - attendee.
    - voidremoveDelegatedFrom(String uri) - -
    -          Removes a person who has delegated his or her responsibility to an - attendee.
    - voidremoveDelegatedTo() - -
    -          Removes everyone to which an attendee has delegated his or her - responsibility.
    - voidremoveDelegatedTo(String uri) - -
    -          Removes a person to which an attendee has delegated his or her - responsibility.
    - voidremoveMember(String uri) - -
    -          Removes a group that an attendee is a member of.
    - voidremoveMembers() - -
    -          Removes all groups that an attendee is a member of.
    -protected  StringsanitizeKey(String key) - -
    -          Modifies a given key before it is used to interact with the internal map.
    - voidsetAltRepresentation(String uri) - -
    -          Sets a URI pointing to additional information about the entity - represented by the property.
    - voidsetCalendarUserType(CalendarUserType cutype) - -
    -          Sets the type of user an attendee is (for example, an "individual" or a - "room").
    - voidsetCommonName(String cn) - -
    -          Sets the display name of a person.
    - voidsetDirectoryEntry(String uri) - -
    -          Sets a URI that contains additional information about the person.
    - voidsetEncoding(Encoding encoding) - -
    -          Sets the encoding of the property value (for example, "base64").
    - voidsetFormatType(String formatType) - -
    -          Sets the content-type of the property's value.
    - voidsetFreeBusyType(FreeBusyType fbType) - -
    -          Sets the person's status over the time periods that are specified in a - FreeBusy property (for example, "free" or "busy").
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - voidsetParticipationStatus(ParticipationStatus status) - -
    -          Sets an attendee's level of participation.
    - voidsetRange(Range range) - -
    -          Sets the effective range of recurrence instances from the instance - specified by a RecurrenceId property.
    - voidsetRelated(Related related) - -
    -          Sets the date-time field that the duration in a Trigger property - is relative to.
    - voidsetRelationshipType(RelationshipType relationshipType) - -
    -          Sets the relationship type of a RelatedTo property.
    - voidsetRole(Role role) - -
    -          Sets an attendee's role (for example, "chair" or "required participant").
    - voidsetRsvp(Boolean rsvp) - -
    -          Sets whether the organizer requests a response from an attendee.
    - voidsetSentBy(String uri) - -
    -          Sets a person that is acting on behalf of the person defined in the - property.
    - voidsetTimezoneId(String timezoneId) - -
    -          Sets the timezone identifier.
    - voidsetValue(ICalDataType value) - -
    -          Sets the data type of the property's value (for example, "text" or - "datetime").
    - List<String>validate() - -
    -          Checks this parameters list for data consistency problems or deviations - from the spec.
    - - - - - - - -
    Methods inherited from class biweekly.util.ListMultimap
    clear, containsKey, equals, first, get, getMap, hashCode, isEmpty, iterator, keySet, put, putAll, remove, removeAll, replace, replace, size, toString, values
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -CN

    -
    -public static final String CN
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ALTREP

    -
    -public static final String ALTREP
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CUTYPE

    -
    -public static final String CUTYPE
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DELEGATED_FROM

    -
    -public static final String DELEGATED_FROM
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DELEGATED_TO

    -
    -public static final String DELEGATED_TO
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DIR

    -
    -public static final String DIR
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ENCODING

    -
    -public static final String ENCODING
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -FMTTYPE

    -
    -public static final String FMTTYPE
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -FBTYPE

    -
    -public static final String FBTYPE
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -LANGUAGE

    -
    -public static final String LANGUAGE
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MEMBER

    -
    -public static final String MEMBER
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -PARTSTAT

    -
    -public static final String PARTSTAT
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RANGE

    -
    -public static final String RANGE
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RELATED

    -
    -public static final String RELATED
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RELTYPE

    -
    -public static final String RELTYPE
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ROLE

    -
    -public static final String ROLE
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RSVP

    -
    -public static final String RSVP
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -SENT_BY

    -
    -public static final String SENT_BY
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TZID

    -
    -public static final String TZID
    -
    -
    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VALUE

    -
    -public static final String VALUE
    -
    -
    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalParameters

    -
    -public ICalParameters()
    -
    -
    Creates a parameters list. -

    -

    -
    - -

    -ICalParameters

    -
    -public ICalParameters(ICalParameters parameters)
    -
    -
    Copies an existing parameters list. -

    -

    -
    Parameters:
    parameters - the list to copy
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAltRepresentation

    -
    -public String getAltRepresentation()
    -
    -
    Gets a URI pointing to additional information about the entity - represented by the property. -

    -

    - -
    Returns:
    the URI or null if not set
    Specification Reference:
    RFC 5545 p.14-5
    -
    -
    -
    - -

    -setAltRepresentation

    -
    -public void setAltRepresentation(String uri)
    -
    -
    Sets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    Parameters:
    uri - the URI or null to remove
    Specification Reference:
    RFC 5545 p.14-5
    -
    -
    -
    - -

    -getCommonName

    -
    -public String getCommonName()
    -
    -
    Gets the display name of a person. -

    -

    - -
    Returns:
    the display name (e.g. "John Doe") or null if not set
    Specification Reference:
    RFC 5545 p.15-6
    -
    -
    -
    - -

    -setCommonName

    -
    -public void setCommonName(String cn)
    -
    -
    Sets the display name of a person. -

    -

    -
    Parameters:
    cn - the display name (e.g. "John Doe") or null to remove
    Specification Reference:
    RFC 5545 p.15-6
    -
    -
    -
    - -

    -getCalendarUserType

    -
    -public CalendarUserType getCalendarUserType()
    -
    -
    Gets the type of user an attendee is (for example, an "individual" or a - "room"). -

    -

    - -
    Returns:
    the calendar user type or null if not set
    Specification Reference:
    RFC 5545 p.16
    -
    -
    -
    - -

    -setCalendarUserType

    -
    -public void setCalendarUserType(CalendarUserType cutype)
    -
    -
    Sets the type of user an attendee is (for example, an "individual" or a - "room"). -

    -

    -
    Parameters:
    cutype - the calendar user type or null to remove
    Specification Reference:
    RFC 5545 p.16
    -
    -
    -
    - -

    -getDelegatedFrom

    -
    -public List<String> getDelegatedFrom()
    -
    -
    Gets the people who have delegated their responsibility to an attendee. -

    -

    - -
    Returns:
    the delegators (typically email URIs, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17
    -
    -
    -
    - -

    -addDelegatedFrom

    -
    -public void addDelegatedFrom(String uri)
    -
    -
    Adds a person who has delegated his or her responsibility to an attendee. -

    -

    -
    Parameters:
    uri - the delegator (typically an email URI, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17
    -
    -
    -
    - -

    -removeDelegatedFrom

    -
    -public void removeDelegatedFrom(String uri)
    -
    -
    Removes a person who has delegated his or her responsibility to an - attendee. -

    -

    -
    Parameters:
    uri - the delegator to remove (typically an email URI, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17
    -
    -
    -
    - -

    -removeDelegatedFrom

    -
    -public void removeDelegatedFrom()
    -
    -
    Removes everyone who has delegated his or her responsibility to an - attendee. -

    -

    -
    Specification Reference:
    RFC 5545 p.17
    -
    -
    -
    - -

    -getDelegatedTo

    -
    -public List<String> getDelegatedTo()
    -
    -
    Gets the people to which an attendee has delegated his or her - responsibility. -

    -

    - -
    Returns:
    the delegatees (typically email URIs, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17-8
    -
    -
    -
    - -

    -addDelegatedTo

    -
    -public void addDelegatedTo(String uri)
    -
    -
    Adds a person to which an attendee has delegated his or her - responsibility. -

    -

    -
    Parameters:
    uri - the delegatee (typically an email URI, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17-8
    -
    -
    -
    - -

    -removeDelegatedTo

    -
    -public void removeDelegatedTo(String uri)
    -
    -
    Removes a person to which an attendee has delegated his or her - responsibility. -

    -

    -
    Parameters:
    uri - the delegatee to remove (typically an email URI, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17-8
    -
    -
    -
    - -

    -removeDelegatedTo

    -
    -public void removeDelegatedTo()
    -
    -
    Removes everyone to which an attendee has delegated his or her - responsibility. -

    -

    -
    Specification Reference:
    RFC 5545 p.17-8
    -
    -
    -
    - -

    -getDirectoryEntry

    -
    -public String getDirectoryEntry()
    -
    -
    Gets a URI that contains additional information about the person. -

    -

    - -
    Returns:
    the URI (e.g. an LDAP URI) or null if not set
    Specification Reference:
    RFC 5545 p.18
    -
    -
    -
    - -

    -setDirectoryEntry

    -
    -public void setDirectoryEntry(String uri)
    -
    -
    Sets a URI that contains additional information about the person. -

    -

    -
    Parameters:
    uri - the URI (e.g. an LDAP URI) or null to remove
    Specification Reference:
    RFC 5545 p.18
    -
    -
    -
    - -

    -getEncoding

    -
    -public Encoding getEncoding()
    -
    -
    Gets the encoding of the property value (for example, "base64"). -

    -

    - -
    Returns:
    the encoding or null if not set
    Specification Reference:
    RFC 5545 p.18-9
    -
    -
    -
    - -

    -setEncoding

    -
    -public void setEncoding(Encoding encoding)
    -
    -
    Sets the encoding of the property value (for example, "base64"). -

    -

    -
    Parameters:
    encoding - the encoding or null to remove
    Specification Reference:
    RFC 5545 p.18-9
    -
    -
    -
    - -

    -getFormatType

    -
    -public String getFormatType()
    -
    -
    Gets the content-type of the property's value. -

    -

    - -
    Returns:
    the content type (e.g. "image/png") or null if not set
    Specification Reference:
    RFC 5545 p.19-20
    -
    -
    -
    - -

    -setFormatType

    -
    -public void setFormatType(String formatType)
    -
    -
    Sets the content-type of the property's value. -

    -

    -
    Parameters:
    formatType - the content type (e.g. "image/png") or null to remove
    Specification Reference:
    RFC 5545 p.19-20
    -
    -
    -
    - -

    -getFreeBusyType

    -
    -public FreeBusyType getFreeBusyType()
    -
    -
    Gets the person's status over the time periods that are specified in a - FreeBusy property (for example, "free" or "busy"). If not set, - the user should be considered "busy". -

    -

    - -
    Returns:
    the type or null if not set
    Specification Reference:
    RFC 5545 p.20
    -
    -
    -
    - -

    -setFreeBusyType

    -
    -public void setFreeBusyType(FreeBusyType fbType)
    -
    -
    Sets the person's status over the time periods that are specified in a - FreeBusy property (for example, "free" or "busy"). If not set, - the user should be considered "busy". -

    -

    -
    Parameters:
    fbType - the type or null to remove
    Specification Reference:
    RFC 5545 p.20
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Gets the language that the property value is written in. -

    -

    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    Specification Reference:
    RFC 5545 p.21
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Sets the language that the property value is written in. -

    -

    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    Specification Reference:
    RFC 5545 p.21
    -
    -
    -
    - -

    -addMember

    -
    -public void addMember(String uri)
    -
    -
    Adds a group that an attendee is a member of. -

    -

    -
    Parameters:
    uri - the group URI (typically, an email address URI, e.g. - "mailto:mailinglist@example.com")
    Specification Reference:
    RFC 5545 p.21-2
    -
    -
    -
    - -

    -getMembers

    -
    -public List<String> getMembers()
    -
    -
    Gets the groups that an attendee is a member of. -

    -

    - -
    Returns:
    the group URIs (typically, these are email address URIs, e.g. - "mailto:mailinglist@example.com")
    Specification Reference:
    RFC 5545 p.21-2
    -
    -
    -
    - -

    -removeMember

    -
    -public void removeMember(String uri)
    -
    -
    Removes a group that an attendee is a member of. -

    -

    -
    Parameters:
    uri - the group URI to remove (typically, an email address URI, e.g. - "mailto:mailinglist@example.com")
    Specification Reference:
    RFC 5545 p.21-2
    -
    -
    -
    - -

    -removeMembers

    -
    -public void removeMembers()
    -
    -
    Removes all groups that an attendee is a member of. -

    -

    -
    Specification Reference:
    RFC 5545 p.21-2
    -
    -
    -
    - -

    -getParticipationStatus

    -
    -public ParticipationStatus getParticipationStatus()
    -
    -
    Gets an attendee's level of participation. -

    -

    - -
    Returns:
    the participation status or null if not set
    Specification Reference:
    RFC 5545 p.22-3
    -
    -
    -
    - -

    -setParticipationStatus

    -
    -public void setParticipationStatus(ParticipationStatus status)
    -
    -
    Sets an attendee's level of participation. -

    -

    -
    Parameters:
    status - the participation status or null to remove
    Specification Reference:
    RFC 5545 p.22-3
    -
    -
    -
    - -

    -getRange

    -
    -public Range getRange()
    -
    -
    Gets the effective range of recurrence instances from the instance - specified by a RecurrenceId property. -

    -

    - -
    Returns:
    the range or null if not set
    Specification Reference:
    RFC 5545 p.23-4
    -
    -
    -
    - -

    -setRange

    -
    -public void setRange(Range range)
    -
    -
    Sets the effective range of recurrence instances from the instance - specified by a RecurrenceId property. -

    -

    -
    Parameters:
    range - the range or null to remove
    Specification Reference:
    RFC 5545 p.23-4
    -
    -
    -
    - -

    -getRelated

    -
    -public Related getRelated()
    -
    -
    Gets the date-time field that the duration in a Trigger property - is relative to. -

    -

    - -
    Returns:
    the field or null if not set
    Specification Reference:
    RFC 5545 p.24
    -
    -
    -
    - -

    -setRelated

    -
    -public void setRelated(Related related)
    -
    -
    Sets the date-time field that the duration in a Trigger property - is relative to. -

    -

    -
    Parameters:
    related - the field or null to remove
    Specification Reference:
    RFC 5545 p.24
    -
    -
    -
    - -

    -getRelationshipType

    -
    -public RelationshipType getRelationshipType()
    -
    -
    Gets the relationship type of a RelatedTo property. -

    -

    - -
    Returns:
    the relationship type (e.g. "child") or null if not set
    Specification Reference:
    RFC 5545 p.25
    -
    -
    -
    - -

    -setRelationshipType

    -
    -public void setRelationshipType(RelationshipType relationshipType)
    -
    -
    Sets the relationship type of a RelatedTo property. -

    -

    -
    Parameters:
    relationshipType - the relationship type (e.g. "child") or null to - remove
    Specification Reference:
    RFC 5545 p.25
    -
    -
    -
    - -

    -getRole

    -
    -public Role getRole()
    -
    -
    Gets an attendee's role (for example, "chair" or "required participant"). -

    -

    - -
    Returns:
    the role or null if not set
    Specification Reference:
    RFC 5545 p.25-6
    -
    -
    -
    - -

    -setRole

    -
    -public void setRole(Role role)
    -
    -
    Sets an attendee's role (for example, "chair" or "required participant"). -

    -

    -
    Parameters:
    role - the role or null to remove
    Specification Reference:
    RFC 5545 p.25-6
    -
    -
    -
    - -

    -getRsvp

    -
    -public Boolean getRsvp()
    -
    -
    Gets whether the organizer requests a response from an attendee. -

    -

    - -
    Returns:
    true if an RSVP is requested, false if not, null if not set -
    Throws: -
    IllegalStateException - if the parameter value is malformed and - cannot be parsed
    Specification Reference:
    RFC 5545 p.26-7
    -
    -
    -
    - -

    -setRsvp

    -
    -public void setRsvp(Boolean rsvp)
    -
    -
    Sets whether the organizer requests a response from an attendee. -

    -

    -
    Parameters:
    rsvp - true if an RSVP has been requested, false if not, null to - remove
    Specification Reference:
    RFC 5545 p.26-7
    -
    -
    -
    - -

    -getSentBy

    -
    -public String getSentBy()
    -
    -
    Gets a person that is acting on behalf of the person defined in the - property. -

    -

    - -
    Returns:
    a URI representing the person (typically, an email URI, e.g. - "mailto:janedoe@example.com") or null if not set
    Specification Reference:
    RFC 5545 p.27
    -
    -
    -
    - -

    -setSentBy

    -
    -public void setSentBy(String uri)
    -
    -
    Sets a person that is acting on behalf of the person defined in the - property. -

    -

    -
    Parameters:
    uri - a URI representing the person (typically, an email URI, e.g. - "mailto:janedoe@example.com") or null to remove
    Specification Reference:
    RFC 5545 p.27
    -
    -
    -
    - -

    -getTimezoneId

    -
    -public String getTimezoneId()
    -
    -
    Gets the timezone identifier. This either (a) references the - TimezoneId property of a VTimezone component, or (b) - specifies a globally-defined timezone (e.g. "America/New_York"). For a - list of globally-defined timezones, see the TZ database. -

    -

    - -
    Returns:
    the timezone identifier or null if not set
    Specification Reference:
    RFC 5545 p.27-8
    -
    -
    -
    - -

    -setTimezoneId

    -
    -public void setTimezoneId(String timezoneId)
    -
    -
    Sets the timezone identifier. This either (a) references the - TimezoneId property of a VTimezone component, or (b) - specifies a globally-defined timezone (e.g. "America/New_York"). For a - list of globally-defined timezones, see the TZ database. -

    -

    -
    Parameters:
    timezoneId - the timezone identifier or null to remove
    Specification Reference:
    RFC 5545 p.27-8
    -
    -
    -
    - -

    -getValue

    -
    -public ICalDataType getValue()
    -
    -
    Gets the data type of the property's value (for example, "text" or - "datetime"). -

    -

    - -
    Returns:
    the data type or null if not set
    Specification Reference:
    RFC 5545 p.29-50
    -
    -
    -
    - -

    -setValue

    -
    -public void setValue(ICalDataType value)
    -
    -
    Sets the data type of the property's value (for example, "text" or - "datetime"). -

    -

    -
    Parameters:
    value - the data type or null to remove
    Specification Reference:
    RFC 5545 p.29-50
    -
    -
    -
    - -

    -validate

    -
    -public List<String> validate()
    -
    -
    Checks this parameters list for data consistency problems or deviations - from the spec. These problems will not prevent the iCalendar object from - being written to a data stream, but may prevent it from being parsed - correctly by the consuming application. -

    -

    - -
    Returns:
    a list of warnings or an empty list if no problems were found
    -
    -
    -
    - -

    -sanitizeKey

    -
    -protected String sanitizeKey(String key)
    -
    -
    Description copied from class: ListMultimap
    -
    Modifies a given key before it is used to interact with the internal map. - This method is meant to be overridden by child classes if necessary. -

    -

    -
    Overrides:
    sanitizeKey in class ListMultimap<String,String>
    -
    -
    -
    Parameters:
    key - the key -
    Returns:
    the modified key (by default, the key is returned as-is)
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ParticipationStatus.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ParticipationStatus.html deleted file mode 100644 index 71c3677d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/ParticipationStatus.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - -ParticipationStatus (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class ParticipationStatus

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -      extended by biweekly.parameter.ParticipationStatus
    -
    -
    -
    -
    public class ParticipationStatus
    extends EnumParameterValue
    - - -

    -Defines a calendar user's level of participation. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.22-3
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static ParticipationStatusACCEPTED - -
    -           
    -static ParticipationStatusCOMPLETED - -
    -           
    -static ParticipationStatusDECLINED - -
    -           
    -static ParticipationStatusDELEGATED - -
    -           
    -static ParticipationStatusIN_PROGRESS - -
    -           
    -static ParticipationStatusNEEDS_ACTION - -
    -           
    -static ParticipationStatusTENTATIVE - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.parameter.EnumParameterValue
    value
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<ParticipationStatus>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static ParticipationStatusfind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static ParticipationStatusget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - - - - - - - -
    Methods inherited from class biweekly.parameter.EnumParameterValue
    getValue, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -NEEDS_ACTION

    -
    -public static final ParticipationStatus NEEDS_ACTION
    -
    -
    -
    -
    -
    - -

    -ACCEPTED

    -
    -public static final ParticipationStatus ACCEPTED
    -
    -
    -
    -
    -
    - -

    -DECLINED

    -
    -public static final ParticipationStatus DECLINED
    -
    -
    -
    -
    -
    - -

    -TENTATIVE

    -
    -public static final ParticipationStatus TENTATIVE
    -
    -
    -
    -
    -
    - -

    -DELEGATED

    -
    -public static final ParticipationStatus DELEGATED
    -
    -
    -
    -
    -
    - -

    -COMPLETED

    -
    -public static final ParticipationStatus COMPLETED
    -
    -
    -
    -
    -
    - -

    -IN_PROGRESS

    -
    -public static final ParticipationStatus IN_PROGRESS
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -find

    -
    -public static ParticipationStatus find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static ParticipationStatus get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<ParticipationStatus> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Range.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Range.html deleted file mode 100644 index 03d2fa53..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Range.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - - -Range (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class Range

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -      extended by biweekly.parameter.Range
    -
    -
    -
    -
    public class Range
    extends EnumParameterValue
    - - -

    -Defines the effective range of recurrence instances specified by the - RecurrenceId property. This parameter is essentially deprecated. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.23-4
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static RangeTHIS_AND_FUTURE - -
    -           
    -static RangeTHIS_AND_PRIOR - -
    -          Deprecated in the latest iCal specification.
    - - - - - - - -
    Fields inherited from class biweekly.parameter.EnumParameterValue
    value
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<Range>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static Rangefind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static Rangeget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - - - - - - - -
    Methods inherited from class biweekly.parameter.EnumParameterValue
    getValue, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -THIS_AND_FUTURE

    -
    -public static final Range THIS_AND_FUTURE
    -
    -
    -
    -
    -
    - -

    -THIS_AND_PRIOR

    -
    -public static final Range THIS_AND_PRIOR
    -
    -
    Deprecated in the latest iCal specification. -

    -

    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -find

    -
    -public static Range find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static Range get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<Range> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Related.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Related.html deleted file mode 100644 index 6ffb1196..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Related.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - -Related (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class Related

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -      extended by biweekly.parameter.Related
    -
    -
    -
    -
    public class Related
    extends EnumParameterValue
    - - -

    -Defines the date that an alarm trigger is relative to. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.24
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static RelatedEND - -
    -           
    -static RelatedSTART - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.parameter.EnumParameterValue
    value
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<Related>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static Relatedfind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static Relatedget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - - - - - - - -
    Methods inherited from class biweekly.parameter.EnumParameterValue
    getValue, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -START

    -
    -public static final Related START
    -
    -
    -
    -
    -
    - -

    -END

    -
    -public static final Related END
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -find

    -
    -public static Related find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static Related get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<Related> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/RelationshipType.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/RelationshipType.html deleted file mode 100644 index 2123827c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/RelationshipType.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - - -RelationshipType (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class RelationshipType

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -      extended by biweekly.parameter.RelationshipType
    -
    -
    -
    -
    public class RelationshipType
    extends EnumParameterValue
    - - -

    -Defines the hierarchical relationship that a component has with another - component. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.25
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static RelationshipTypeCHILD - -
    -           
    -static RelationshipTypePARENT - -
    -           
    -static RelationshipTypeSIBLING - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.parameter.EnumParameterValue
    value
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<RelationshipType>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static RelationshipTypefind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static RelationshipTypeget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - - - - - - - -
    Methods inherited from class biweekly.parameter.EnumParameterValue
    getValue, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PARENT

    -
    -public static final RelationshipType PARENT
    -
    -
    -
    -
    -
    - -

    -CHILD

    -
    -public static final RelationshipType CHILD
    -
    -
    -
    -
    -
    - -

    -SIBLING

    -
    -public static final RelationshipType SIBLING
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -find

    -
    -public static RelationshipType find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static RelationshipType get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<RelationshipType> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Role.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Role.html deleted file mode 100644 index 6278ec30..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/Role.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Role (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.parameter -
    -Class Role

    -
    -java.lang.Object
    -  extended by biweekly.parameter.EnumParameterValue
    -      extended by biweekly.parameter.Role
    -
    -
    -
    -
    public class Role
    extends EnumParameterValue
    - - -

    -Defines the role that a calendar user holds. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.25-6
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static RoleCHAIR - -
    -           
    -static RoleNON_PARTICIPANT - -
    -           
    -static RoleOPT_PARTICIPANT - -
    -           
    -static RoleREQ_PARTICIPANT - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.parameter.EnumParameterValue
    value
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Collection<Role>all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -static Rolefind(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static Roleget(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - - - - - - - -
    Methods inherited from class biweekly.parameter.EnumParameterValue
    getValue, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -CHAIR

    -
    -public static final Role CHAIR
    -
    -
    -
    -
    -
    - -

    -REQ_PARTICIPANT

    -
    -public static final Role REQ_PARTICIPANT
    -
    -
    -
    -
    -
    - -

    -OPT_PARTICIPANT

    -
    -public static final Role OPT_PARTICIPANT
    -
    -
    -
    -
    -
    - -

    -NON_PARTICIPANT

    -
    -public static final Role NON_PARTICIPANT
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -find

    -
    -public static Role find(String value)
    -
    -
    Searches for a parameter value that is defined as a static constant in - this class. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object or null if not found
    -
    -
    -
    - -

    -get

    -
    -public static Role get(String value)
    -
    -
    Searches for a parameter value and creates one if it cannot be found. All - objects are guaranteed to be unique, so they can be compared with - == equality. -

    -

    -
    Parameters:
    value - the parameter value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public static Collection<Role> all()
    -
    -
    Gets all of the parameter values that are defined as static constants in - this class. -

    -

    - -
    Returns:
    the parameter values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/CalendarUserType.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/CalendarUserType.html deleted file mode 100644 index c796d2dd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/CalendarUserType.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.CalendarUserType (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.CalendarUserType

    -
    - - - - - - - - - - - - - -
    -Packages that use CalendarUserType
    biweekly.parameter  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of CalendarUserType in biweekly.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in biweekly.parameter declared as CalendarUserType
    -static CalendarUserTypeCalendarUserType.GROUP - -
    -           
    -static CalendarUserTypeCalendarUserType.INDIVIDUAL - -
    -           
    -static CalendarUserTypeCalendarUserType.RESOURCE - -
    -           
    -static CalendarUserTypeCalendarUserType.ROOM - -
    -           
    -static CalendarUserTypeCalendarUserType.UNKNOWN - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.parameter that return CalendarUserType
    -static CalendarUserTypeCalendarUserType.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static CalendarUserTypeCalendarUserType.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - CalendarUserTypeICalParameters.getCalendarUserType() - -
    -          Gets the type of user an attendee is (for example, an "individual" or a - "room").
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return types with arguments of type CalendarUserType
    -static Collection<CalendarUserType>CalendarUserType.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type CalendarUserType
    - voidICalParameters.setCalendarUserType(CalendarUserType cutype) - -
    -          Sets the type of user an attendee is (for example, an "individual" or a - "room").
    -  -

    - - - - - -
    -Uses of CalendarUserType in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return CalendarUserType
    - CalendarUserTypeAttendee.getCalendarUserType() - -
    -          Gets the type of user the attendee is (for example, an "individual" or a - "room").
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type CalendarUserType
    - voidAttendee.setCalendarUserType(CalendarUserType cutype) - -
    -          Sets the type of user the attendee is (for example, an "individual" or a - "room").
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Encoding.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Encoding.html deleted file mode 100644 index 972e42ab..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Encoding.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.Encoding (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.Encoding

    -
    - - - - - - - - - -
    -Packages that use Encoding
    biweekly.parameter  
    -  -

    - - - - - -
    -Uses of Encoding in biweekly.parameter
    -  -

    - - - - - - - - - - - - - -
    Fields in biweekly.parameter declared as Encoding
    -static EncodingEncoding._8BIT - -
    -           
    -static EncodingEncoding.BASE64 - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.parameter that return Encoding
    -static EncodingEncoding.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static EncodingEncoding.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - EncodingICalParameters.getEncoding() - -
    -          Gets the encoding of the property value (for example, "base64").
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return types with arguments of type Encoding
    -static Collection<Encoding>Encoding.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type Encoding
    - voidICalParameters.setEncoding(Encoding encoding) - -
    -          Sets the encoding of the property value (for example, "base64").
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/EnumParameterValue.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/EnumParameterValue.html deleted file mode 100644 index 136d5771..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/EnumParameterValue.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.EnumParameterValue (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.EnumParameterValue

    -
    - - - - - - - - - -
    -Packages that use EnumParameterValue
    biweekly.parameter  
    -  -

    - - - - - -
    -Uses of EnumParameterValue in biweekly.parameter
    -  -

    - - - - - - - - - -
    Classes in biweekly.parameter with type parameters of type EnumParameterValue
    - classICalParameterCaseClasses<T extends EnumParameterValue> - -
    -          Manages the list of pre-defined values for a parameter (such as VALUE or - ENCODING).
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of EnumParameterValue in biweekly.parameter
    - classCalendarUserType - -
    -          Defines the type of user an entity is.
    - classEncoding - -
    -          Defines how a property value is encoded.
    - classFreeBusyType - -
    -          Defines whether a calendar user is free or busy over a time period.
    - classParticipationStatus - -
    -          Defines a calendar user's level of participation.
    - classRange - -
    -          Defines the effective range of recurrence instances specified by the - RecurrenceId property.
    - classRelated - -
    -          Defines the date that an alarm trigger is relative to.
    - classRelationshipType - -
    -          Defines the hierarchical relationship that a component has with another - component.
    - classRole - -
    -          Defines the role that a calendar user holds.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/FreeBusyType.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/FreeBusyType.html deleted file mode 100644 index 9d46da29..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/FreeBusyType.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.FreeBusyType (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.FreeBusyType

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use FreeBusyType
    biweekly.component  
    biweekly.parameter  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of FreeBusyType in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type FreeBusyType
    - FreeBusyVFreeBusy.addFreeBusy(FreeBusyType type, - Date start, - Date end) - -
    -          Adds a single time period for which the person is free or busy (for - example, "free" between 1pm-3pm).
    - FreeBusyVFreeBusy.addFreeBusy(FreeBusyType type, - Date start, - Duration duration) - -
    -          Adds a single time period for which the person is free or busy (for - example, "free" for 2 hours after 1pm).
    -  -

    - - - - - -
    -Uses of FreeBusyType in biweekly.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Fields in biweekly.parameter declared as FreeBusyType
    -static FreeBusyTypeFreeBusyType.BUSY - -
    -           
    -static FreeBusyTypeFreeBusyType.BUSY_TENTATIVE - -
    -           
    -static FreeBusyTypeFreeBusyType.BUSY_UNAVAILABLE - -
    -           
    -static FreeBusyTypeFreeBusyType.FREE - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.parameter that return FreeBusyType
    -static FreeBusyTypeFreeBusyType.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static FreeBusyTypeFreeBusyType.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - FreeBusyTypeICalParameters.getFreeBusyType() - -
    -          Gets the person's status over the time periods that are specified in a - FreeBusy property (for example, "free" or "busy").
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return types with arguments of type FreeBusyType
    -static Collection<FreeBusyType>FreeBusyType.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type FreeBusyType
    - voidICalParameters.setFreeBusyType(FreeBusyType fbType) - -
    -          Sets the person's status over the time periods that are specified in a - FreeBusy property (for example, "free" or "busy").
    -  -

    - - - - - -
    -Uses of FreeBusyType in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return FreeBusyType
    - FreeBusyTypeFreeBusy.getType() - -
    -          Gets the person's status over the time periods that are specified in this - property (for example, "free" or "busy").
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type FreeBusyType
    - voidFreeBusy.setType(FreeBusyType fbType) - -
    -          Sets the person's status over the time periods that are specified in this - property (for example, "free" or "busy").
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ICalParameterCaseClasses.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ICalParameterCaseClasses.html deleted file mode 100644 index 4352e84c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ICalParameterCaseClasses.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.ICalParameterCaseClasses (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.ICalParameterCaseClasses

    -
    -No usage of biweekly.parameter.ICalParameterCaseClasses -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ICalParameters.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ICalParameters.html deleted file mode 100644 index 8a241d5d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ICalParameters.html +++ /dev/null @@ -1,1067 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.ICalParameters (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.ICalParameters

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ICalParameters
    biweekly.io.json  
    biweekly.io.text  
    biweekly.parameter  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalParameters in biweekly.io.json
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type ICalParameters
    - voidJCalRawReader.JCalDataStreamListener.readProperty(List<String> componentHierarchy, - String propertyName, - ICalParameters parameters, - ICalDataType dataType, - JCalValue value) - -
    -          Called when a property is read.
    - voidJCalRawWriter.writeProperty(String propertyName, - ICalParameters parameters, - ICalDataType dataType, - JCalValue value) - -
    -          Writes a property to the current component.
    -  -

    - - - - - -
    -Uses of ICalParameters in biweekly.io.text
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.text with parameters of type ICalParameters
    - voidICalRawReader.ICalDataStreamListener.readProperty(String name, - ICalParameters parameters, - String value) - -
    -          Called when a property is read.
    - voidICalRawWriter.writeProperty(String propertyName, - ICalParameters parameters, - String value) - -
    -          Writes a property to the iCalendar data stream.
    -  -

    - - - - - -
    -Uses of ICalParameters in biweekly.parameter
    -  -

    - - - - - - - - -
    Constructors in biweekly.parameter with parameters of type ICalParameters
    ICalParameters(ICalParameters parameters) - -
    -          Copies an existing parameters list.
    -  -

    - - - - - -
    -Uses of ICalParameters in biweekly.property
    -  -

    - - - - - - - - - -
    Fields in biweekly.property declared as ICalParameters
    -protected  ICalParametersICalProperty.parameters - -
    -          The property parameters.
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return ICalParameters
    - ICalParametersICalProperty.getParameters() - -
    -          Gets the property's parameters.
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type ICalParameters
    - voidICalProperty.setParameters(ICalParameters parameters) - -
    -          Sets the property's parameters
    -  -

    - - - - - -
    -Uses of ICalParameters in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ICalParameters
    - ICalParametersICalPropertyMarshaller.prepareParameters(T property) - -
    -          Sanitizes a property's parameters (called before the property is - written).
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type ICalParameters
    -protected  XmlXmlMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TUtcOffsetPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TTextPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TRecurrencePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TListPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TIntegerPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TICalPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  GeoGeoMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateTimePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateOrDateTimePropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  XmlXmlMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TUtcOffsetPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TTextPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TRecurrencePropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RawPropertyRawPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TListPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TIntegerPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected abstract  TICalPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  GeoGeoMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateTimePropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateOrDateTimePropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  XmlXmlMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TUtcOffsetPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TTextPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TRecurrencePropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RawPropertyRawPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TListPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TIntegerPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TICalPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  GeoGeoMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateTimePropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TDateOrDateTimePropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  voidAttachmentMarshaller._prepareParameters(Attachment property, - ICalParameters copy) - -
    -           
    -protected  voidICalPropertyMarshaller._prepareParameters(T property, - ICalParameters copy) - -
    -           - Sanitizes a property's parameters before the property is written.
    - ResourcesResourcesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -protected abstract  TListPropertyMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    - CategoriesCategoriesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property's value from a JSON data stream (jCal).
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseText(String value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseXml(Element element, - ICalParameters parameters) - -
    -          Unmarshals a property's value from an XML document (xCal).
    -protected  StringTextListPropertyMarshaller.readValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected abstract  VListPropertyMarshaller.readValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DateExceptionDatesMarshaller.readValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ParticipationStatus.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ParticipationStatus.html deleted file mode 100644 index 2db4b379..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/ParticipationStatus.html +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.ParticipationStatus (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.ParticipationStatus

    -
    - - - - - - - - - - - - - -
    -Packages that use ParticipationStatus
    biweekly.parameter  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of ParticipationStatus in biweekly.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in biweekly.parameter declared as ParticipationStatus
    -static ParticipationStatusParticipationStatus.ACCEPTED - -
    -           
    -static ParticipationStatusParticipationStatus.COMPLETED - -
    -           
    -static ParticipationStatusParticipationStatus.DECLINED - -
    -           
    -static ParticipationStatusParticipationStatus.DELEGATED - -
    -           
    -static ParticipationStatusParticipationStatus.IN_PROGRESS - -
    -           
    -static ParticipationStatusParticipationStatus.NEEDS_ACTION - -
    -           
    -static ParticipationStatusParticipationStatus.TENTATIVE - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.parameter that return ParticipationStatus
    -static ParticipationStatusParticipationStatus.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static ParticipationStatusParticipationStatus.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - ParticipationStatusICalParameters.getParticipationStatus() - -
    -          Gets an attendee's level of participation.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return types with arguments of type ParticipationStatus
    -static Collection<ParticipationStatus>ParticipationStatus.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type ParticipationStatus
    - voidICalParameters.setParticipationStatus(ParticipationStatus status) - -
    -          Sets an attendee's level of participation.
    -  -

    - - - - - -
    -Uses of ParticipationStatus in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return ParticipationStatus
    - ParticipationStatusAttendee.getParticipationStatus() - -
    -          Gets the attendee's level of participation.
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type ParticipationStatus
    - voidAttendee.setParticipationStatus(ParticipationStatus status) - -
    -          Sets the attendee's level of participation.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Range.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Range.html deleted file mode 100644 index c89814f3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Range.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.Range (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.Range

    -
    - - - - - - - - - - - - - -
    -Packages that use Range
    biweekly.parameter  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of Range in biweekly.parameter
    -  -

    - - - - - - - - - - - - - -
    Fields in biweekly.parameter declared as Range
    -static RangeRange.THIS_AND_FUTURE - -
    -           
    -static RangeRange.THIS_AND_PRIOR - -
    -          Deprecated in the latest iCal specification.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.parameter that return Range
    -static RangeRange.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static RangeRange.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - RangeICalParameters.getRange() - -
    -          Gets the effective range of recurrence instances from the instance - specified by a RecurrenceId property.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return types with arguments of type Range
    -static Collection<Range>Range.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type Range
    - voidICalParameters.setRange(Range range) - -
    -          Sets the effective range of recurrence instances from the instance - specified by a RecurrenceId property.
    -  -

    - - - - - -
    -Uses of Range in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return Range
    - RangeRecurrenceId.getRange() - -
    -          Gets the effective range of recurrence instances from the instance - specified by this property.
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type Range
    - voidRecurrenceId.setRange(Range range) - -
    -          Sets the effective range of recurrence instances from the instance - specified by this property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Related.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Related.html deleted file mode 100644 index 7976b153..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Related.html +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.Related (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.Related

    -
    - - - - - - - - - - - - - -
    -Packages that use Related
    biweekly.parameter  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of Related in biweekly.parameter
    -  -

    - - - - - - - - - - - - - -
    Fields in biweekly.parameter declared as Related
    -static RelatedRelated.END - -
    -           
    -static RelatedRelated.START - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.parameter that return Related
    -static RelatedRelated.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static RelatedRelated.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - RelatedICalParameters.getRelated() - -
    -          Gets the date-time field that the duration in a Trigger property - is relative to.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return types with arguments of type Related
    -static Collection<Related>Related.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type Related
    - voidICalParameters.setRelated(Related related) - -
    -          Sets the date-time field that the duration in a Trigger property - is relative to.
    -  -

    - - - - - -
    -Uses of Related in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return Related
    - RelatedTrigger.getRelated() - -
    -          Gets the date-time field that the duration is relative to.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property with parameters of type Related
    - voidTrigger.setDuration(Duration duration, - Related related) - -
    -          Sets a relative time at which the alarm will trigger.
    - voidTrigger.setRelated(Related related) - -
    -          Sets the date-time field that the duration is relative to.
    -  -

    - - - - - - - - -
    Constructors in biweekly.property with parameters of type Related
    Trigger(Duration duration, - Related related) - -
    -          Creates a trigger property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/RelationshipType.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/RelationshipType.html deleted file mode 100644 index 3f78807d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/RelationshipType.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.RelationshipType (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.RelationshipType

    -
    - - - - - - - - - - - - - -
    -Packages that use RelationshipType
    biweekly.parameter  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of RelationshipType in biweekly.parameter
    -  -

    - - - - - - - - - - - - - - - - - -
    Fields in biweekly.parameter declared as RelationshipType
    -static RelationshipTypeRelationshipType.CHILD - -
    -           
    -static RelationshipTypeRelationshipType.PARENT - -
    -           
    -static RelationshipTypeRelationshipType.SIBLING - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.parameter that return RelationshipType
    -static RelationshipTypeRelationshipType.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static RelationshipTypeRelationshipType.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - RelationshipTypeICalParameters.getRelationshipType() - -
    -          Gets the relationship type of a RelatedTo property.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return types with arguments of type RelationshipType
    -static Collection<RelationshipType>RelationshipType.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type RelationshipType
    - voidICalParameters.setRelationshipType(RelationshipType relationshipType) - -
    -          Sets the relationship type of a RelatedTo property.
    -  -

    - - - - - -
    -Uses of RelationshipType in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return RelationshipType
    - RelationshipTypeRelatedTo.getRelationshipType() - -
    -          Gets the relationship type.
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type RelationshipType
    - voidRelatedTo.setRelationshipType(RelationshipType relationshipType) - -
    -          Sets the relationship type.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Role.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Role.html deleted file mode 100644 index fab5140a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/class-use/Role.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - -Uses of Class biweekly.parameter.Role (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.parameter.Role

    -
    - - - - - - - - - - - - - -
    -Packages that use Role
    biweekly.parameter  
    biweekly.property  
    -  -

    - - - - - -
    -Uses of Role in biweekly.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Fields in biweekly.parameter declared as Role
    -static RoleRole.CHAIR - -
    -           
    -static RoleRole.NON_PARTICIPANT - -
    -           
    -static RoleRole.OPT_PARTICIPANT - -
    -           
    -static RoleRole.REQ_PARTICIPANT - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.parameter that return Role
    -static RoleRole.find(String value) - -
    -          Searches for a parameter value that is defined as a static constant in - this class.
    -static RoleRole.get(String value) - -
    -          Searches for a parameter value and creates one if it cannot be found.
    - RoleICalParameters.getRole() - -
    -          Gets an attendee's role (for example, "chair" or "required participant").
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter that return types with arguments of type Role
    -static Collection<Role>Role.all() - -
    -          Gets all of the parameter values that are defined as static constants in - this class.
    -  -

    - - - - - - - - - -
    Methods in biweekly.parameter with parameters of type Role
    - voidICalParameters.setRole(Role role) - -
    -          Sets an attendee's role (for example, "chair" or "required participant").
    -  -

    - - - - - -
    -Uses of Role in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return Role
    - RoleAttendee.getRole() - -
    -          Gets the attendee's role (for example, "chair" or - "required participant").
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type Role
    - voidAttendee.setRole(Role role) - -
    -          Sets the attendee's role (for example, "chair" or - "required participant").
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-frame.html deleted file mode 100644 index 50b63001..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-frame.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - -biweekly.parameter (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.parameter - - - - -
    -Classes  - -
    -CalendarUserType -
    -Encoding -
    -EnumParameterValue -
    -FreeBusyType -
    -ICalParameterCaseClasses -
    -ICalParameters -
    -ParticipationStatus -
    -Range -
    -Related -
    -RelationshipType -
    -Role
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-summary.html deleted file mode 100644 index af65b474..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-summary.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - -biweekly.parameter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.parameter -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    CalendarUserTypeDefines the type of user an entity is.
    EncodingDefines how a property value is encoded.
    EnumParameterValueRepresents a value from a parameter that has a list of pre-defined values - (for example, the VALUE or ACTION parameters).
    FreeBusyTypeDefines whether a calendar user is free or busy over a time period.
    ICalParameterCaseClasses<T extends EnumParameterValue>Manages the list of pre-defined values for a parameter (such as VALUE or - ENCODING).
    ICalParametersContains the list of parameters that belong to a property.
    ParticipationStatusDefines a calendar user's level of participation.
    RangeDefines the effective range of recurrence instances specified by the - RecurrenceId property.
    RelatedDefines the date that an alarm trigger is relative to.
    RelationshipTypeDefines the hierarchical relationship that a component has with another - component.
    RoleDefines the role that a calendar user holds.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-tree.html deleted file mode 100644 index 357692ce..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-tree.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -biweekly.parameter Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.parameter -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-use.html deleted file mode 100644 index cac1a46a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/parameter/package-use.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - -Uses of Package biweekly.parameter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.parameter

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use biweekly.parameter
    biweekly.component  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.parameter  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - - - - -
    -Classes in biweekly.parameter used by biweekly.component
    FreeBusyType - -
    -          Defines whether a calendar user is free or busy over a time period.
    -  -

    - - - - - - - - -
    -Classes in biweekly.parameter used by biweekly.io.json
    ICalParameters - -
    -          Contains the list of parameters that belong to a property.
    -  -

    - - - - - - - - -
    -Classes in biweekly.parameter used by biweekly.io.text
    ICalParameters - -
    -          Contains the list of parameters that belong to a property.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.parameter used by biweekly.parameter
    CalendarUserType - -
    -          Defines the type of user an entity is.
    Encoding - -
    -          Defines how a property value is encoded.
    EnumParameterValue - -
    -          Represents a value from a parameter that has a list of pre-defined values - (for example, the VALUE or ACTION parameters).
    FreeBusyType - -
    -          Defines whether a calendar user is free or busy over a time period.
    ICalParameters - -
    -          Contains the list of parameters that belong to a property.
    ParticipationStatus - -
    -          Defines a calendar user's level of participation.
    Range - -
    -          Defines the effective range of recurrence instances specified by the - RecurrenceId property.
    Related - -
    -          Defines the date that an alarm trigger is relative to.
    RelationshipType - -
    -          Defines the hierarchical relationship that a component has with another - component.
    Role - -
    -          Defines the role that a calendar user holds.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.parameter used by biweekly.property
    CalendarUserType - -
    -          Defines the type of user an entity is.
    FreeBusyType - -
    -          Defines whether a calendar user is free or busy over a time period.
    ICalParameters - -
    -          Contains the list of parameters that belong to a property.
    ParticipationStatus - -
    -          Defines a calendar user's level of participation.
    Range - -
    -          Defines the effective range of recurrence instances specified by the - RecurrenceId property.
    Related - -
    -          Defines the date that an alarm trigger is relative to.
    RelationshipType - -
    -          Defines the hierarchical relationship that a component has with another - component.
    Role - -
    -          Defines the role that a calendar user holds.
    -  -

    - - - - - - - - -
    -Classes in biweekly.parameter used by biweekly.property.marshaller
    ICalParameters - -
    -          Contains the list of parameters that belong to a property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Action.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Action.html deleted file mode 100644 index 94e121a9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Action.html +++ /dev/null @@ -1,480 +0,0 @@ - - - - - - - -Action (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Action

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.EnumProperty
    -                  extended by biweekly.property.Action
    -
    -
    -
    -
    public class Action
    extends EnumProperty
    - - -

    -

    - Defines the type of action to invoke when an alarm is triggered. -

    - -

    - Examples: - -

    - //creating a new property
    - Action action = Action.audio();
    - 
    - if (action.isAudio()) {
    -        //it's an "AUDIO" alarm
    - }
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.132-3
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Action(String value) - -
    -          Creates an action property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Actionaudio() - -
    -          Creates an "audio" action property.
    -static Actiondisplay() - -
    -          Creates an "display" action property.
    -static Actionemail() - -
    -          Creates an "email" action property.
    -protected  Collection<String>getStandardValues() - -
    -          Gets the list of acceptable values for this property.
    - booleanisAudio() - -
    -          Determines if this property is an "audio" action.
    - booleanisDisplay() - -
    -          Determines if this property is an "display" action.
    - booleanisEmail() - -
    -          Determines if this property is an "email" action.
    - - - - - - - -
    Methods inherited from class biweekly.property.EnumProperty
    is, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Action

    -
    -public Action(String value)
    -
    -
    Creates an action property. Use of this constructor is discouraged and - may put the property in an invalid state. Use one of the static factory - methods instead. -

    -

    -
    Parameters:
    value - the value (e.g. "AUDIO")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -audio

    -
    -public static Action audio()
    -
    -
    Creates an "audio" action property. -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isAudio

    -
    -public boolean isAudio()
    -
    -
    Determines if this property is an "audio" action. -

    -

    - -
    Returns:
    true if it's an "audio" action, false if not
    -
    -
    -
    - -

    -display

    -
    -public static Action display()
    -
    -
    Creates an "display" action property. -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isDisplay

    -
    -public boolean isDisplay()
    -
    -
    Determines if this property is an "display" action. -

    -

    - -
    Returns:
    true if it's an "display" action, false if not
    -
    -
    -
    - -

    -email

    -
    -public static Action email()
    -
    -
    Creates an "email" action property. -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isEmail

    -
    -public boolean isEmail()
    -
    -
    Determines if this property is an "email" action. -

    -

    - -
    Returns:
    true if it's an "email" action, false if not
    -
    -
    -
    - -

    -getStandardValues

    -
    -protected Collection<String> getStandardValues()
    -
    -
    Description copied from class: EnumProperty
    -
    Gets the list of acceptable values for this property. -

    -

    -
    Specified by:
    getStandardValues in class EnumProperty
    -
    -
    - -
    Returns:
    the list of acceptable values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Attachment.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Attachment.html deleted file mode 100644 index 6abbd5ac..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Attachment.html +++ /dev/null @@ -1,510 +0,0 @@ - - - - - - - -Attachment (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Attachment

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.Attachment
    -
    -
    -
    -
    public class Attachment
    extends ICalProperty
    - - -

    -

    - Represents a binary resource that is associated with an event, to-do, journal - entry, or alarm. -

    - -

    - Examples: - -

    - //from a byte array
    - byte[] data = ...
    - Attachment attach = new Attachment("image/png", data);
    - 
    - //reading from a file 
    - Attachment attach = new Attachment("image/png", new File("image.png"));
    - 
    - //referencing a URL
    - Attachment attach = new Attachment("image/png", "http://example.com/image.png");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.80-1
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Attachment(String formatType, - byte[] data) - -
    -          Creates a new attachment.
    Attachment(String formatType, - File file) - -
    -          Creates a new attachment.
    Attachment(String formatType, - String uri) - -
    -          Creates a new attachment.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - byte[]getData() - -
    -          Gets the attachment's binary data.
    - StringgetFormatType() - -
    -          Gets the content-type of the property's value.
    - StringgetUri() - -
    -          Gets the attachment's URI.
    - voidsetData(byte[] data) - -
    -          Sets the attachment's binary data.
    - voidsetFormatType(String formatType) - -
    -          Sets the content-type of the property's value.
    - voidsetUri(String uri) - -
    -          Sets the attachment's URI.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Attachment

    -
    -public Attachment(String formatType,
    -                  File file)
    -           throws IOException
    -
    -
    Creates a new attachment. -

    -

    -
    Parameters:
    formatType - the content-type of the data (e.g. "image/png")
    file - the file to attach -
    Throws: -
    IOException - if there's a problem reading from the file
    -
    -
    - -

    -Attachment

    -
    -public Attachment(String formatType,
    -                  byte[] data)
    -
    -
    Creates a new attachment. -

    -

    -
    Parameters:
    formatType - the content-type of the data (e.g. "image/png")
    data - the binary data
    -
    -
    - -

    -Attachment

    -
    -public Attachment(String formatType,
    -                  String uri)
    -
    -
    Creates a new attachment. -

    -

    -
    Parameters:
    formatType - the content-type of the data (e.g. "image/png")
    uri - a URL pointing to the resource (e.g. - "http://example.com/image.png")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getData

    -
    -public byte[] getData()
    -
    -
    Gets the attachment's binary data. -

    -

    - -
    Returns:
    the binary data or null if not set
    -
    -
    -
    - -

    -setData

    -
    -public void setData(byte[] data)
    -
    -
    Sets the attachment's binary data. If the attachment has a URI associated - with it, the URI will be set to null. -

    -

    -
    Parameters:
    data - the binary data
    -
    -
    -
    - -

    -getUri

    -
    -public String getUri()
    -
    -
    Gets the attachment's URI. -

    -

    - -
    Returns:
    the URI (e.g. "http://example.com/image.png") or null if not set
    -
    -
    -
    - -

    -setUri

    -
    -public void setUri(String uri)
    -
    -
    Sets the attachment's URI. If the attachment has binary data associated - with it, the binary data will be set to null. -

    -

    -
    Parameters:
    uri - the URI (e.g. "http://example.com/image.png")
    -
    -
    -
    - -

    -getFormatType

    -
    -public String getFormatType()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the content-type of the property's value. -

    -

    -
    -
    -
    - -
    Returns:
    the content type (e.g. "image/png") or null if not set
    -
    -
    -
    - -

    -setFormatType

    -
    -public void setFormatType(String formatType)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the content-type of the property's value. -

    -

    -
    -
    -
    -
    Parameters:
    formatType - the content type (e.g. "image/png") or null to remove
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Attendee.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Attendee.html deleted file mode 100644 index e89c6967..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Attendee.html +++ /dev/null @@ -1,868 +0,0 @@ - - - - - - - -Attendee (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Attendee

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Attendee
    -
    -
    -
    -
    public class Attendee
    extends TextProperty
    - - -

    -

    - Defines an attendee (such as a person attending an event). This property has - different meanings depending on the component that it belongs to: -

      -
    • VAlarm (with "EMAIL" action) - An email address that is to - receive the alarm.
    • -
    • All others - An attendee of the event.
    • -
    -

    - -

    - Examples: - -

    - Attendee attendee = Attendee.email("johndoe@example.com")
    - attendee.setCommonName("John Doe");
    - attendee.setRsvp(true);
    - attendee.setRole(Role.CHAIR);
    - attendee.setParticipationStatus(ParticipationStatus.ACCEPTED);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.107-9
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Attendee(String uri) - -
    -          Creates an attendee property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddDelegatedFrom(String uri) - -
    -          Adds a person who has delegated his or her responsibility to the - attendee.
    - voidaddDelegatedTo(String uri) - -
    -          Adds a person to which the attendee has delegated his or her - responsibility.
    - voidaddMember(String uri) - -
    -          Adds a group that the attendee is a member of.
    -static Attendeeemail(String email) - -
    -          Creates an attendee property using an email address as its value.
    - CalendarUserTypegetCalendarUserType() - -
    -          Gets the type of user the attendee is (for example, an "individual" or a - "room").
    - StringgetCommonName() - -
    -          Gets the display name of the person.
    - List<String>getDelegatedFrom() - -
    -          Gets the people who have delegated their responsibility to the attendee.
    - List<String>getDelegatedTo() - -
    -          Gets the people to which the attendee has delegated his or her - responsibility.
    - StringgetDirectoryEntry() - -
    -          Gets a URI that contains additional information about the person.
    - StringgetLanguage() - -
    -          Gets the language that the common name parameter is written in.
    - List<String>getMembers() - -
    -          Gets the groups that the attendee is a member of.
    - ParticipationStatusgetParticipationStatus() - -
    -          Gets the attendee's level of participation.
    - RolegetRole() - -
    -          Gets the attendee's role (for example, "chair" or - "required participant").
    - BooleangetRsvp() - -
    -          Gets whether the organizer requests a response from the attendee.
    - StringgetSentBy() - -
    -          Gets a person that is acting on behalf of the person defined in the - property.
    - voidsetCalendarUserType(CalendarUserType cutype) - -
    -          Sets the type of user the attendee is (for example, an "individual" or a - "room").
    - voidsetCommonName(String commonName) - -
    -          Sets the display name of the person.
    - voidsetDirectoryEntry(String uri) - -
    -          Sets a URI that contains additional information about the person.
    - voidsetLanguage(String language) - -
    -          Sets the language that the common name parameter is written in.
    - voidsetParticipationStatus(ParticipationStatus status) - -
    -          Sets the attendee's level of participation.
    - voidsetRole(Role role) - -
    -          Sets the attendee's role (for example, "chair" or - "required participant").
    - voidsetRsvp(Boolean rsvp) - -
    -          Sets whether the organizer requests a response from the attendee.
    - voidsetSentBy(String uri) - -
    -          Sets a person that is acting on behalf of the person defined in the - property.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Attendee

    -
    -public Attendee(String uri)
    -
    -
    Creates an attendee property. -

    -

    -
    Parameters:
    uri - a URI representing the attendee (typically, an email address, - e.g. "mailto:johndoe@example.com")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -email

    -
    -public static Attendee email(String email)
    -
    -
    Creates an attendee property using an email address as its value. -

    -

    -
    Parameters:
    email - the email address (e.g. "johndoe@example.com") -
    Returns:
    the property
    -
    -
    -
    - -

    -getCalendarUserType

    -
    -public CalendarUserType getCalendarUserType()
    -
    -
    Gets the type of user the attendee is (for example, an "individual" or a - "room"). -

    -

    - -
    Returns:
    the calendar user type or null if not set
    Specification Reference:
    RFC 5545 p.16
    -
    -
    -
    - -

    -setCalendarUserType

    -
    -public void setCalendarUserType(CalendarUserType cutype)
    -
    -
    Sets the type of user the attendee is (for example, an "individual" or a - "room"). -

    -

    -
    Parameters:
    cutype - the calendar user type or null to remove
    Specification Reference:
    RFC 5545 p.16
    -
    -
    -
    - -

    -getMembers

    -
    -public List<String> getMembers()
    -
    -
    Gets the groups that the attendee is a member of. -

    -

    - -
    Returns:
    the group URIs (typically, these are email address URIs, e.g. - "mailto:mailinglist@example.com")
    Specification Reference:
    RFC 5545 p.21-2
    -
    -
    -
    - -

    -addMember

    -
    -public void addMember(String uri)
    -
    -
    Adds a group that the attendee is a member of. -

    -

    -
    Parameters:
    uri - the group URI (typically, an email address URI, e.g. - "mailto:mailinglist@example.com")
    Specification Reference:
    RFC 5545 p.21-2
    -
    -
    -
    - -

    -getRole

    -
    -public Role getRole()
    -
    -
    Gets the attendee's role (for example, "chair" or - "required participant"). -

    -

    - -
    Returns:
    the role or null if not set
    Specification Reference:
    RFC 5545 p.25-6
    -
    -
    -
    - -

    -setRole

    -
    -public void setRole(Role role)
    -
    -
    Sets the attendee's role (for example, "chair" or - "required participant"). -

    -

    -
    Parameters:
    role - the role or null to remove
    Specification Reference:
    RFC 5545 p.25-6
    -
    -
    -
    - -

    -getParticipationStatus

    -
    -public ParticipationStatus getParticipationStatus()
    -
    -
    Gets the attendee's level of participation. -

    -

    - -
    Returns:
    the participation status or null if not set
    Specification Reference:
    RFC 5545 p.22-3
    -
    -
    -
    - -

    -setParticipationStatus

    -
    -public void setParticipationStatus(ParticipationStatus status)
    -
    -
    Sets the attendee's level of participation. -

    -

    -
    Parameters:
    status - the participation status or null to remove
    Specification Reference:
    RFC 5545 p.22-3
    -
    -
    -
    - -

    -getRsvp

    -
    -public Boolean getRsvp()
    -
    -
    Gets whether the organizer requests a response from the attendee. -

    -

    - -
    Returns:
    true if an RSVP is requested, false if not, null if not set
    Specification Reference:
    RFC 5545 p.26-7
    -
    -
    -
    - -

    -setRsvp

    -
    -public void setRsvp(Boolean rsvp)
    -
    -
    Sets whether the organizer requests a response from the attendee. -

    -

    -
    Parameters:
    rsvp - true if an RSVP has been requested, false if not, null to - remove
    Specification Reference:
    RFC 5545 p.26-7
    -
    -
    -
    - -

    -getDelegatedFrom

    -
    -public List<String> getDelegatedFrom()
    -
    -
    Gets the people who have delegated their responsibility to the attendee. -

    -

    - -
    Returns:
    the delegators (typically email URIs, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17
    -
    -
    -
    - -

    -addDelegatedFrom

    -
    -public void addDelegatedFrom(String uri)
    -
    -
    Adds a person who has delegated his or her responsibility to the - attendee. -

    -

    -
    Parameters:
    uri - the delegator (typically an email URI, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17
    -
    -
    -
    - -

    -getDelegatedTo

    -
    -public List<String> getDelegatedTo()
    -
    -
    Gets the people to which the attendee has delegated his or her - responsibility. -

    -

    - -
    Returns:
    the delegatees (typically email URIs, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17-8
    -
    -
    -
    - -

    -addDelegatedTo

    -
    -public void addDelegatedTo(String uri)
    -
    -
    Adds a person to which the attendee has delegated his or her - responsibility. -

    -

    -
    Parameters:
    uri - the delegatee (typically an email URI, e.g. - "mailto:janedoe@example.com")
    Specification Reference:
    RFC 5545 p.17-8
    -
    -
    -
    - -

    -getSentBy

    -
    -public String getSentBy()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a person that is acting on behalf of the person defined in the - property. -

    -

    -
    -
    -
    - -
    Returns:
    a URI representing the person (typically, an email URI, e.g. - "mailto:janedoe@example.com") or null if not set
    -
    -
    -
    - -

    -setSentBy

    -
    -public void setSentBy(String uri)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a person that is acting on behalf of the person defined in the - property. -

    -

    -
    -
    -
    -
    Parameters:
    uri - a URI representing the person (typically, an email URI, e.g. - "mailto:janedoe@example.com") or null to remove
    -
    -
    -
    - -

    -getCommonName

    -
    -public String getCommonName()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the display name of the person. -

    -

    -
    -
    -
    - -
    Returns:
    the display name (e.g. "John Doe") or null if not set
    -
    -
    -
    - -

    -setCommonName

    -
    -public void setCommonName(String commonName)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the display name of the person. -

    -

    -
    -
    -
    -
    Parameters:
    commonName - the display name (e.g. "John Doe") or null to remove
    -
    -
    -
    - -

    -getDirectoryEntry

    -
    -public String getDirectoryEntry()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a URI that contains additional information about the person. -

    -

    -
    -
    -
    - -
    Returns:
    the URI (e.g. an LDAP URI) or null if not set
    -
    -
    -
    - -

    -setDirectoryEntry

    -
    -public void setDirectoryEntry(String uri)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a URI that contains additional information about the person. -

    -

    -
    -
    -
    -
    Parameters:
    uri - the URI (e.g. an LDAP URI) or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Gets the language that the common name parameter is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Sets the language that the common name parameter is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/CalendarScale.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/CalendarScale.html deleted file mode 100644 index 1c5d5e2f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/CalendarScale.html +++ /dev/null @@ -1,392 +0,0 @@ - - - - - - - -CalendarScale (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class CalendarScale

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.EnumProperty
    -                  extended by biweekly.property.CalendarScale
    -
    -
    -
    -
    public class CalendarScale
    extends EnumProperty
    - - -

    -

    - Specifies the calendar system that this iCalendar object uses. If none is - specified, then the calendar is assumed to be in "gregorian" format. -

    -

    - Examples: - -

    - //creating a new property
    - CalendarScale calscale = CalendarScale.gregorian();
    - 
    - if (calscale.isGregorian()) {
    -        //its value is "GREGORIAN"
    - }
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.76-7
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    CalendarScale(String value) - -
    -          Creates a new calendar scale property.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  Collection<String>getStandardValues() - -
    -          Gets the list of acceptable values for this property.
    -static CalendarScalegregorian() - -
    -          Creates a new property whose value is set to "gregorian".
    - booleanisGregorian() - -
    -          Determines whether the property is set to "gregorian".
    - - - - - - - -
    Methods inherited from class biweekly.property.EnumProperty
    is, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CalendarScale

    -
    -public CalendarScale(String value)
    -
    -
    Creates a new calendar scale property. Use of this constructor is - discouraged and may put the property in an invalid state. Use one of the - static factory methods instead. -

    -

    -
    Parameters:
    value - the value of the property (e.g. "gregorian")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -gregorian

    -
    -public static CalendarScale gregorian()
    -
    -
    Creates a new property whose value is set to "gregorian". -

    -

    - -
    Returns:
    the new property
    -
    -
    -
    - -

    -isGregorian

    -
    -public boolean isGregorian()
    -
    -
    Determines whether the property is set to "gregorian". -

    -

    - -
    Returns:
    true if it's set to "gregorian", false if not
    -
    -
    -
    - -

    -getStandardValues

    -
    -protected Collection<String> getStandardValues()
    -
    -
    Description copied from class: EnumProperty
    -
    Gets the list of acceptable values for this property. -

    -

    -
    Specified by:
    getStandardValues in class EnumProperty
    -
    -
    - -
    Returns:
    the list of acceptable values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Categories.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Categories.html deleted file mode 100644 index 02227aae..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Categories.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - -Categories (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Categories

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ListProperty<String>
    -          extended by biweekly.property.Categories
    -
    -
    -
    -
    public class Categories
    extends ListProperty<String>
    - - -

    -

    - Defines a list of "tags" or "keywords" that describe the component. -

    -

    - Examples: - -

    - //creating a new property (multi-valued)
    - Categories categories = new Categories("conference", "meeting");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.81-2
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Categories() - -
    -          Creates a new categories property.
    Categories(List<String> categories) - -
    -          Creates a new categories property.
    Categories(String... categories) - -
    -          Creates a new categories property.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - - - - - - - -
    Methods inherited from class biweekly.property.ListProperty
    addValue, getValues, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Categories

    -
    -public Categories()
    -
    -
    Creates a new categories property. -

    -

    -
    - -

    -Categories

    -
    -public Categories(String... categories)
    -
    -
    Creates a new categories property. -

    -

    -
    Parameters:
    categories - the categories to initialize the property with
    -
    -
    - -

    -Categories

    -
    -public Categories(List<String> categories)
    -
    -
    Creates a new categories property. -

    -

    -
    Parameters:
    categories - the categories to initialize the property with
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Classification.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Classification.html deleted file mode 100644 index b359e7b2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Classification.html +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - - -Classification (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Classification

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.EnumProperty
    -                  extended by biweekly.property.Classification
    -
    -
    -
    -
    public class Classification
    extends EnumProperty
    - - -

    -

    - Defines the level of sensitivity of the iCalendar data. If not specified, the - data should be considered "public". -

    -

    - Examples: - -

    - //creating a new property
    - Classification classification = Classification.public_();
    - 
    - if (classification.isPublic()) {
    -        //its value is "PUBLIC"
    - }
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.82-3
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Classification(String classification) - -
    -          Creates a new classification property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Classificationconfidential() - -
    -          Creates a "confidential" classification property.
    -protected  Collection<String>getStandardValues() - -
    -          Gets the list of acceptable values for this property.
    - booleanisConfidential() - -
    -          Determines if the classification level is "confidential".
    - booleanisPrivate() - -
    -          Determines if the classification level is "private".
    - booleanisPublic() - -
    -          Determines if the classification level is "public".
    -static Classificationprivate_() - -
    -          Creates a "private" classification property.
    -static Classificationpublic_() - -
    -          Creates a "public" classification property.
    - - - - - - - -
    Methods inherited from class biweekly.property.EnumProperty
    is, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Classification

    -
    -public Classification(String classification)
    -
    -
    Creates a new classification property. Use the static factory methods to - create a property with a standard classification level. -

    -

    -
    Parameters:
    classification - the classification level (e.g. "PUBLIC")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -public_

    -
    -public static Classification public_()
    -
    -
    Creates a "public" classification property. -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isPublic

    -
    -public boolean isPublic()
    -
    -
    Determines if the classification level is "public". -

    -

    - -
    Returns:
    true if it's "public", false if not
    -
    -
    -
    - -

    -private_

    -
    -public static Classification private_()
    -
    -
    Creates a "private" classification property. -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isPrivate

    -
    -public boolean isPrivate()
    -
    -
    Determines if the classification level is "private". -

    -

    - -
    Returns:
    true if it's "private", false if not
    -
    -
    -
    - -

    -confidential

    -
    -public static Classification confidential()
    -
    -
    Creates a "confidential" classification property. -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isConfidential

    -
    -public boolean isConfidential()
    -
    -
    Determines if the classification level is "confidential". -

    -

    - -
    Returns:
    true if it's "confidential", false if not
    -
    -
    -
    - -

    -getStandardValues

    -
    -protected Collection<String> getStandardValues()
    -
    -
    Description copied from class: EnumProperty
    -
    Gets the list of acceptable values for this property. -

    -

    -
    Specified by:
    getStandardValues in class EnumProperty
    -
    -
    - -
    Returns:
    the list of acceptable values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Comment.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Comment.html deleted file mode 100644 index e02decbf..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Comment.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - -Comment (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Comment

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Comment
    -
    -
    -
    -
    public class Comment
    extends TextProperty
    - - -

    -

    - Defines a free-text comment to be read by the user. -

    -

    - Examples: - -

    - Comment comment = new Comment("Free text");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.83-4
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Comment(String comment) - -
    -          Creates a comment property.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetAltRepresentation() - -
    -          Gets a URI pointing to additional information about the entity - represented by the property.
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - voidsetAltRepresentation(String uri) - -
    -          Sets a URI pointing to additional information about the entity - represented by the property.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Comment

    -
    -public Comment(String comment)
    -
    -
    Creates a comment property. -

    -

    -
    Parameters:
    comment - the comment
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAltRepresentation

    -
    -public String getAltRepresentation()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    - -
    Returns:
    the URI or null if not set
    -
    -
    -
    - -

    -setAltRepresentation

    -
    -public void setAltRepresentation(String uri)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    -
    Parameters:
    uri - the URI or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Completed.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Completed.html deleted file mode 100644 index 576fd629..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Completed.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - - -Completed (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Completed

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Date>
    -          extended by biweekly.property.DateTimeProperty
    -              extended by biweekly.property.Completed
    -
    -
    -
    -
    public class Completed
    extends DateTimeProperty
    - - -

    -

    - Defines the date and time that a to-do task was completed. -

    -

    - Examples: - -

    - Date datetime = ...
    - Completed completed = new Completed(datetime);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.94-5
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Completed(Date completed) - -
    -          Creates a completed property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Completed

    -
    -public Completed(Date completed)
    -
    -
    Creates a completed property. -

    -

    -
    Parameters:
    completed - the completion date
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Contact.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Contact.html deleted file mode 100644 index 9bca95a8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Contact.html +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - -Contact (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Contact

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Contact
    -
    -
    -
    -
    public class Contact
    extends TextProperty
    - - -

    -

    - Defines contact information for a person or other entity (for example, the - name of a business and its phone number). -

    -

    - Examples: - -

    - Contact contact = new Contact("Acme Co: (212) 555-1234");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.109-11
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Contact(String contact) - -
    -          Creates a contact property.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetAltRepresentation() - -
    -          Gets a URI pointing to additional information about the entity - represented by the property.
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - voidsetAltRepresentation(String uri) - -
    -          Sets a URI pointing to additional information about the entity - represented by the property.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Contact

    -
    -public Contact(String contact)
    -
    -
    Creates a contact property. -

    -

    -
    Parameters:
    contact - the contact information (e.g. "Acme Co: (212) 555-1234")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAltRepresentation

    -
    -public String getAltRepresentation()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    - -
    Returns:
    the URI (such as a URL to a vCard) or null if not set
    -
    -
    -
    - -

    -setAltRepresentation

    -
    -public void setAltRepresentation(String uri)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    -
    Parameters:
    uri - the URI (such as a URL to a vCard) or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Created.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Created.html deleted file mode 100644 index 9d7e44b1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Created.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - - -Created (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Created

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Date>
    -          extended by biweekly.property.DateTimeProperty
    -              extended by biweekly.property.Created
    -
    -
    -
    -
    public class Created
    extends DateTimeProperty
    - - -

    -

    - Defines the date-time that the calendar information was initially created. -

    -

    - Examples: - -

    - Date datetime = ...
    - Created created = new Created(datetime);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.136
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Created(Date date) - -
    -          Creates a created property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Created

    -
    -public Created(Date date)
    -
    -
    Creates a created property. -

    -

    -
    Parameters:
    date - the creation date
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateDue.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/DateDue.html deleted file mode 100644 index 3b4d0474..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateDue.html +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - -DateDue (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class DateDue

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.DateOrDateTimeProperty
    -          extended by biweekly.property.DateDue
    -
    -
    -
    -
    public class DateDue
    extends DateOrDateTimeProperty
    - - -

    -

    - Defines the date that a to-do task is due by. -

    -

    - Examples: - -

    - //date and time
    - Date datetime = ...
    - DateDue due = new DateDue(datetime);
    - 
    - //date
    - Date date = ...
    - DateDue due = new DateDue(date, false);
    - 
    - //with timezone 
    - Date datetime = ... 
    - DateDue due = new DateDue(datetime); 
    - due.setTimezoneId("America/New_York");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.96-7
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.DateOrDateTimeProperty
    hasTime, localTime, rawComponents, value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    DateDue(Date dueDate) - -
    -          Creates a due date property.
    DateDue(Date dueDate, - boolean hasTime) - -
    -          Creates a due date property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.DateOrDateTimeProperty
    getRawComponents, getTimezoneId, getValue, hasTime, isLocalTime, setLocalTime, setRawComponents, setTimezone, setTimezoneId, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateDue

    -
    -public DateDue(Date dueDate)
    -
    -
    Creates a due date property. -

    -

    -
    Parameters:
    dueDate - the due date
    -
    -
    - -

    -DateDue

    -
    -public DateDue(Date dueDate,
    -               boolean hasTime)
    -
    -
    Creates a due date property. -

    -

    -
    Parameters:
    dueDate - the due date
    hasTime - true to include the time component of the date, false not - to
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateEnd.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/DateEnd.html deleted file mode 100644 index e0292081..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateEnd.html +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - -DateEnd (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class DateEnd

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.DateOrDateTimeProperty
    -          extended by biweekly.property.DateEnd
    -
    -
    -
    -
    public class DateEnd
    extends DateOrDateTimeProperty
    - - -

    -

    - Defines the date that an event or free/busy component ends. -

    -

    - Examples: - -

    - //date and time
    - Date datetime = ...
    - DateEnd dtend = new DateEnd(datetime);
    - 
    - //date
    - Date date = ...
    - DateEnd dtend = new DateEnd(date, false);
    - 
    - //with timezone 
    - Date datetime = ... 
    - DateEnd dtend = new DateEnd(datetime); 
    - dtend.setTimezoneId("America/New_York");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.95-6
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.DateOrDateTimeProperty
    hasTime, localTime, rawComponents, value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    DateEnd(Date endDate) - -
    -          Creates a date end property.
    DateEnd(Date endDate, - boolean hasTime) - -
    -          Creates a date end property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.DateOrDateTimeProperty
    getRawComponents, getTimezoneId, getValue, hasTime, isLocalTime, setLocalTime, setRawComponents, setTimezone, setTimezoneId, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateEnd

    -
    -public DateEnd(Date endDate)
    -
    -
    Creates a date end property. -

    -

    -
    Parameters:
    endDate - the end date
    -
    -
    - -

    -DateEnd

    -
    -public DateEnd(Date endDate,
    -               boolean hasTime)
    -
    -
    Creates a date end property. -

    -

    -
    Parameters:
    endDate - the end date
    hasTime - true to include the time component of the date, false not - to
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateOrDateTimeProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/DateOrDateTimeProperty.html deleted file mode 100644 index 33599ad6..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateOrDateTimeProperty.html +++ /dev/null @@ -1,660 +0,0 @@ - - - - - - - -DateOrDateTimeProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class DateOrDateTimeProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.DateOrDateTimeProperty
    -
    -
    -
    Direct Known Subclasses:
    DateDue, DateEnd, DateStart, RecurrenceId
    -
    -
    -
    -
    public class DateOrDateTimeProperty
    extends ICalProperty
    - - -

    -Represents a property whose value is a date or a date-time. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -protected  booleanhasTime - -
    -           
    -protected  booleanlocalTime - -
    -           
    -protected  DateTimeComponentsrawComponents - -
    -           
    -protected  Datevalue - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    DateOrDateTimeProperty(Date value, - boolean hasTime) - -
    -          Creates a new property.
    DateOrDateTimeProperty(DateTimeComponents rawComponents) - -
    -          Creates a new property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - DateTimeComponentsgetRawComponents() - -
    -          Gets the raw components of the date-time value.
    - StringgetTimezoneId() - -
    -          Gets the timezone identifier.
    - DategetValue() - -
    -          Gets the date-time value.
    - booleanhasTime() - -
    -          Determines whether the date-time value has a time component.
    - booleanisLocalTime() - -
    -          Gets whether the date should be outputted in local time (without a - timezone).
    - voidsetLocalTime(boolean localTime) - -
    -          Sets whether the date should be outputted in local time (without a - timezone).
    - voidsetRawComponents(DateTimeComponents rawComponents) - -
    -          Sets the raw components of the date-time value.
    - voidsetTimezone(VTimezone timezone) - -
    -          Sets the property's timezone to a timezone that is defined within the - iCalendar object.
    - voidsetTimezoneId(String timezoneId) - -
    -          Sets the timezone identifier.
    - voidsetValue(Date value, - boolean hasTime) - -
    -          Sets the date-time value.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -value

    -
    -protected Date value
    -
    -
    -
    -
    -
    - -

    -rawComponents

    -
    -protected DateTimeComponents rawComponents
    -
    -
    -
    -
    -
    - -

    -hasTime

    -
    -protected boolean hasTime
    -
    -
    -
    -
    -
    - -

    -localTime

    -
    -protected boolean localTime
    -
    -
    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -DateOrDateTimeProperty

    -
    -public DateOrDateTimeProperty(DateTimeComponents rawComponents)
    -
    -
    Creates a new property. -

    -

    -
    Parameters:
    rawComponents - the raw components of the date-time value
    -
    -
    - -

    -DateOrDateTimeProperty

    -
    -public DateOrDateTimeProperty(Date value,
    -                              boolean hasTime)
    -
    -
    Creates a new property. -

    -

    -
    Parameters:
    value - the date-time value
    hasTime - true if the value has a time component, false if it is - strictly a date
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public Date getValue()
    -
    -
    Gets the date-time value. -

    -

    - -
    Returns:
    the date-time value
    -
    -
    -
    - -

    -setValue

    -
    -public void setValue(Date value,
    -                     boolean hasTime)
    -
    -
    Sets the date-time value. -

    -

    -
    Parameters:
    value - the date-time value
    hasTime - true if the value has a time component, false if it is - strictly a date
    -
    -
    -
    - -

    -getRawComponents

    -
    -public DateTimeComponents getRawComponents()
    -
    -
    Gets the raw components of the date-time value. -

    -

    - -
    Returns:
    the raw components
    -
    -
    -
    - -

    -setRawComponents

    -
    -public void setRawComponents(DateTimeComponents rawComponents)
    -
    -
    Sets the raw components of the date-time value. -

    -

    -
    Parameters:
    rawComponents - the raw components
    -
    -
    -
    - -

    -hasTime

    -
    -public boolean hasTime()
    -
    -
    Determines whether the date-time value has a time component. -

    -

    - -
    Returns:
    true if the value has a time component, false if it is strictly a - date
    -
    -
    -
    - -

    -isLocalTime

    -
    -public boolean isLocalTime()
    -
    -
    Gets whether the date should be outputted in local time (without a - timezone). -

    -

    - -
    Returns:
    true to output the date without a timezone, false to include a - timezone
    -
    -
    -
    - -

    -setLocalTime

    -
    -public void setLocalTime(boolean localTime)
    -
    -
    Sets whether the date should be outputted in local time (without a - timezone). Use setTimezoneId(String) to specify a timezone. - Dates are written in UTC time by default. -

    -

    -
    Parameters:
    localTime - true to output the date without a timezone, false to - include a timezone (defaults to false)
    -
    -
    -
    - -

    -getTimezoneId

    -
    -public String getTimezoneId()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the timezone identifier. This either (a) references the - TimezoneId property of a VTimezone component, or (b) - specifies a globally-defined timezone (e.g. "America/New_York"). For a - list of globally-defined timezones, see the TZ database. -

    -

    -
    -
    -
    - -
    Returns:
    the timezone identifier or null if not set
    -
    -
    -
    - -

    -setTimezoneId

    -
    -public void setTimezoneId(String timezoneId)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the timezone identifier. This either (a) references the - TimezoneId property of a VTimezone component, or (b) - specifies a globally-defined timezone (e.g. "America/New_York"). For a - list of globally-defined timezones, see the TZ database. -

    -

    -
    -
    -
    -
    Parameters:
    timezoneId - the timezone identifier (e.g. "America/New_York") or - null to remove
    -
    -
    -
    - -

    -setTimezone

    -
    -public void setTimezone(VTimezone timezone)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the property's timezone to a timezone that is defined within the - iCalendar object. Use ICalProperty.setTimezoneId(String) to use a - globally-defined timezone (e.g. "America/New_York"). -

    -

    -
    -
    -
    -
    Parameters:
    timezone - the timezone component to reference or null to remove
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateStart.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/DateStart.html deleted file mode 100644 index 04d707ef..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateStart.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - -DateStart (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class DateStart

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.DateOrDateTimeProperty
    -          extended by biweekly.property.DateStart
    -
    -
    -
    -
    public class DateStart
    extends DateOrDateTimeProperty
    - - -

    -

    - Defines the date that an event, free/busy component, or timezone component - starts. -

    -

    - Examples: - -

    - //date and time
    - Date datetime = ...
    - DateStart dtstart = new DateStart(datetime);
    - 
    - //date
    - Date date = ...
    - DateStart dtstart = new DateStart(date, false);
    - 
    - //local date and time (don't print a timezone)
    - Date datetime = ...
    - DateStart dtstart = new DateStart(datetime);
    - dtstart.setLocalTime(true);
    - 
    - //with timezone 
    - Date datetime = ... 
    - DateStart dtstart = new DateStart(datetime); 
    - dtstart.setTimezoneId("America/New_York");
    - 
    - //raw components 
    - DateTimeComponents components = new DateTimeComponents(1999, 4, 4, 2, 0, 0, false);
    - DateStart dtstart = new DateStart(components);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.97-8
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.DateOrDateTimeProperty
    hasTime, localTime, rawComponents, value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    DateStart(Date startDate) - -
    -          Creates a start date property.
    DateStart(Date startDate, - boolean hasTime) - -
    -          Creates a start date property.
    DateStart(DateTimeComponents components) - -
    -          Creates a start date property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.DateOrDateTimeProperty
    getRawComponents, getTimezoneId, getValue, hasTime, isLocalTime, setLocalTime, setRawComponents, setTimezone, setTimezoneId, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateStart

    -
    -public DateStart(Date startDate)
    -
    -
    Creates a start date property. -

    -

    -
    Parameters:
    startDate - the start date
    -
    -
    - -

    -DateStart

    -
    -public DateStart(Date startDate,
    -                 boolean hasTime)
    -
    -
    Creates a start date property. -

    -

    -
    Parameters:
    startDate - the start date
    hasTime - true to include the time component of the date, false not - to
    -
    -
    - -

    -DateStart

    -
    -public DateStart(DateTimeComponents components)
    -
    -
    Creates a start date property. -

    -

    -
    Parameters:
    components - the raw components of the date-time value
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateTimeProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/DateTimeProperty.html deleted file mode 100644 index 75f7ba69..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateTimeProperty.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - -DateTimeProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class DateTimeProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Date>
    -          extended by biweekly.property.DateTimeProperty
    -
    -
    -
    Direct Known Subclasses:
    Completed, Created, DateTimeStamp, LastModified
    -
    -
    -
    -
    public class DateTimeProperty
    extends ValuedProperty<Date>
    - - -

    -Represents a property whose value is a date-time. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    DateTimeProperty(Date value) - -
    -          Creates a new property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateTimeProperty

    -
    -public DateTimeProperty(Date value)
    -
    -
    Creates a new property. -

    -

    -
    Parameters:
    value - the date
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateTimeStamp.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/DateTimeStamp.html deleted file mode 100644 index e260493b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/DateTimeStamp.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - - -DateTimeStamp (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class DateTimeStamp

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Date>
    -          extended by biweekly.property.DateTimeProperty
    -              extended by biweekly.property.DateTimeStamp
    -
    -
    -
    -
    public class DateTimeStamp
    extends DateTimeProperty
    - - -

    -

    - The meaning of this property varies depending on the state of the iCalendar - object: -

      -
    • If a Method property exists: Defines the creation date of - the iCalendar object (not the creation date of the actual calendar data). Use - the Created property to define the date that the calendar data was - last created.
    • -
    • Otherwise - Defines the date that the calendar data was last - modified (the LastModified property also holds this information).
    • -
    -

    -

    - Examples: - -

    - Date datetime = ... 
    - DateTimeStamp dtstamp = new DateTimeStamp(datetime);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.137-8
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    DateTimeStamp(Date date) - -
    -          Creates a date time stamp property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateTimeStamp

    -
    -public DateTimeStamp(Date date)
    -
    -
    Creates a date time stamp property. -

    -

    -
    Parameters:
    date - the date
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Description.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Description.html deleted file mode 100644 index 0cc71200..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Description.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - -Description (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Description

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Description
    -
    -
    -
    -
    public class Description
    extends TextProperty
    - - -

    -

    - A detailed description of the component that this property belongs to. The - description should be a more detailed version of the text provided by the - Summary property. -

    -

    - Examples: - -

    - Description description = new Description("description text");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.84-5
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Description(String description) - -
    -          Creates a description property.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetAltRepresentation() - -
    -          Gets a URI pointing to additional information about the entity - represented by the property.
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - voidsetAltRepresentation(String uri) - -
    -          Sets a URI pointing to additional information about the entity - represented by the property.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Description

    -
    -public Description(String description)
    -
    -
    Creates a description property. -

    -

    -
    Parameters:
    description - the description
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAltRepresentation

    -
    -public String getAltRepresentation()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    - -
    Returns:
    the URI or null if not set
    -
    -
    -
    - -

    -setAltRepresentation

    -
    -public void setAltRepresentation(String uri)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    -
    Parameters:
    uri - the URI or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/DurationProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/DurationProperty.html deleted file mode 100644 index 3a08f847..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/DurationProperty.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - - -DurationProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class DurationProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Duration>
    -          extended by biweekly.property.DurationProperty
    -
    -
    -
    -
    public class DurationProperty
    extends ValuedProperty<Duration>
    - - -

    -

    - Defines a duration of time (for example, "2 hours and 30 minutes"). It has - different meanings depending on the component it belongs to: -

      -
    • VEvent - The duration of the event (used in place of a - DateEnd property).
    • -
    • VTodo - The duration of the to-do task (used in place of a - DateEnd property).
    • -
    • VAlarm - The pause between alarm repetitions.
    • -
    -

    - -

    - Examples: - -

    - Duration duration = Duration.builder().hours(2).minutes(30).build();
    - DurationProperty prop = new DurationProperty(duration);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.99
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    DurationProperty(Duration duration) - -
    -          Creates a duration property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DurationProperty

    -
    -public DurationProperty(Duration duration)
    -
    -
    Creates a duration property. -

    -

    -
    Parameters:
    duration - the duration value (e.g. "2 hours nad 30 minutes")
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/EnumProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/EnumProperty.html deleted file mode 100644 index c6132ea3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/EnumProperty.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - - -EnumProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class EnumProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.EnumProperty
    -
    -
    -
    Direct Known Subclasses:
    Action, CalendarScale, Classification, Status, Transparency
    -
    -
    -
    -
    public abstract class EnumProperty
    extends TextProperty
    - - -

    -Parent class for properties that have a defined set of acceptable values (for - example, Action). -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    EnumProperty(String value) - -
    -          Creates an enum property.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected abstract  Collection<String>getStandardValues() - -
    -          Gets the list of acceptable values for this property.
    -protected  booleanis(String value) - -
    -          Compares the property's value with a given string (case-insensitive).
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -EnumProperty

    -
    -public EnumProperty(String value)
    -
    -
    Creates an enum property. -

    -

    -
    Parameters:
    value - the property value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -is

    -
    -protected boolean is(String value)
    -
    -
    Compares the property's value with a given string (case-insensitive). -

    -

    -
    Parameters:
    value - the string -
    Returns:
    true if it's equal, false if not
    -
    -
    -
    - -

    -getStandardValues

    -
    -protected abstract Collection<String> getStandardValues()
    -
    -
    Gets the list of acceptable values for this property. -

    -

    - -
    Returns:
    the list of acceptable values
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ValuedProperty<String>
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/ExceptionDates.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/ExceptionDates.html deleted file mode 100644 index 519d738a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/ExceptionDates.html +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - -ExceptionDates (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class ExceptionDates

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ListProperty<Date>
    -          extended by biweekly.property.ExceptionDates
    -
    -
    -
    -
    public class ExceptionDates
    extends ListProperty<Date>
    - - -

    -

    - Defines a list of exceptions to the recurrence rule defined in a component. -

    -

    - Examples: - -

    - //date and times
    - ExceptionDates exdate = new ExceptionDates(true);
    - Date datetime1 = ...;
    - exdate.addValue(datetime1);
    - Date datetime2 = ...;
    - exdate.addValue(datetime2);
    - 
    - //dates
    - ExceptionDates exdate = new ExceptionDates(false);
    - Date date1 = ...;
    - exdate.addValue(date1);
    - Date date2 = ...;
    - exdate.addValue(date2);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.118-20
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    ExceptionDates(boolean hasTime) - -
    -          Creates an exception dates property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetTimezoneId() - -
    -          Gets the timezone identifier.
    - booleanhasTime() - -
    -          Gets whether the dates have time components.
    - voidsetHasTime(boolean hasTime) - -
    -          Sets whether the dates have time components.
    - voidsetTimezone(VTimezone timezone) - -
    -          Sets the property's timezone to a timezone that is defined within the - iCalendar object.
    - voidsetTimezoneId(String timezoneId) - -
    -          Sets the timezone identifier.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ListProperty
    addValue, getValues
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ExceptionDates

    -
    -public ExceptionDates(boolean hasTime)
    -
    -
    Creates an exception dates property. -

    -

    -
    Parameters:
    hasTime - true if the dates have a time component, false if they are - strictly dates
    -
    - - - - - - - - -
    -Method Detail
    - -

    -hasTime

    -
    -public boolean hasTime()
    -
    -
    Gets whether the dates have time components. -

    -

    - -
    Returns:
    true if the dates have time components, false if they are - strictly dates
    -
    -
    -
    - -

    -setHasTime

    -
    -public void setHasTime(boolean hasTime)
    -
    -
    Sets whether the dates have time components. -

    -

    -
    Parameters:
    hasTime - true if the dates have time components, false if they are - strictly dates
    -
    -
    -
    - -

    -getTimezoneId

    -
    -public String getTimezoneId()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the timezone identifier. This either (a) references the - TimezoneId property of a VTimezone component, or (b) - specifies a globally-defined timezone (e.g. "America/New_York"). For a - list of globally-defined timezones, see the TZ database. -

    -

    -
    -
    -
    - -
    Returns:
    the timezone identifier or null if not set
    -
    -
    -
    - -

    -setTimezoneId

    -
    -public void setTimezoneId(String timezoneId)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the timezone identifier. This either (a) references the - TimezoneId property of a VTimezone component, or (b) - specifies a globally-defined timezone (e.g. "America/New_York"). For a - list of globally-defined timezones, see the TZ database. -

    -

    -
    -
    -
    -
    Parameters:
    timezoneId - the timezone identifier (e.g. "America/New_York") or - null to remove
    -
    -
    -
    - -

    -setTimezone

    -
    -public void setTimezone(VTimezone timezone)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the property's timezone to a timezone that is defined within the - iCalendar object. Use ICalProperty.setTimezoneId(String) to use a - globally-defined timezone (e.g. "America/New_York"). -

    -

    -
    -
    -
    -
    Parameters:
    timezone - the timezone component to reference or null to remove
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ListProperty<Date>
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/ExceptionRule.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/ExceptionRule.html deleted file mode 100644 index 666cf2a0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/ExceptionRule.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - -ExceptionRule (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class ExceptionRule

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Recurrence>
    -          extended by biweekly.property.RecurrenceProperty
    -              extended by biweekly.property.ExceptionRule
    -
    -
    -
    -
    public class ExceptionRule
    extends RecurrenceProperty
    - - -

    -

    - Defines an exception to a RecurrenceRule. -

    -

    - Note that this property has been removed from the latest version of the iCal - specification. Its use should be avoided. -

    -

    - Examples: - -

    - //"bi-weekly"
    - Recurrence recur = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    - ExceptionRule exrule = new ExceptionRule(recur);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 2445 p.114-15
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    ExceptionRule(Recurrence recur) - -
    -          Creates a new exception rule property.
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ExceptionRule

    -
    -public ExceptionRule(Recurrence recur)
    -
    -
    Creates a new exception rule property. -

    -

    -
    Parameters:
    recur - the recurrence rule
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class RecurrenceProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/FreeBusy.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/FreeBusy.html deleted file mode 100644 index c8a3a06a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/FreeBusy.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - - -FreeBusy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class FreeBusy

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.FreeBusy
    -
    -
    -
    -
    public class FreeBusy
    extends ICalProperty
    - - -

    -

    - Defines a person's availability over certain time periods (for example, - "busy" between 1pm-3pm and 4pm-5pm). Note that this property can contain - multiple time periods, but only one availability type may be defined (e.g. - "busy" or "free"). -

    -

    - Examples: - -

    - FreeBusy freebusy = new FreeBusy();
    - freebusy.setType(FreeBusyType.BUSY);
    - 
    - Date onePM = ...
    - Date threePM = ...
    - freebusy.addValue(onePM, threePM);
    - 
    - Date fourPM = ...
    - Duration oneHour = Duration.builder().hours(1).build();
    - freeBusy.addValue(fourPM, oneHour);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.100-1
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    FreeBusy() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddValue(Date start, - Date end) - -
    -          Adds a time period.
    - voidaddValue(Date start, - Duration duration) - -
    -          Adds a time period.
    - FreeBusyTypegetType() - -
    -          Gets the person's status over the time periods that are specified in this - property (for example, "free" or "busy").
    - List<Period>getValues() - -
    -          Gets all time periods.
    - voidsetType(FreeBusyType fbType) - -
    -          Sets the person's status over the time periods that are specified in this - property (for example, "free" or "busy").
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -FreeBusy

    -
    -public FreeBusy()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -addValue

    -
    -public void addValue(Date start,
    -                     Date end)
    -
    -
    Adds a time period. -

    -

    -
    Parameters:
    start - the start date
    end - the end date
    -
    -
    -
    - -

    -addValue

    -
    -public void addValue(Date start,
    -                     Duration duration)
    -
    -
    Adds a time period. -

    -

    -
    Parameters:
    start - the start date
    duration - the duration
    -
    -
    -
    - -

    -getValues

    -
    -public List<Period> getValues()
    -
    -
    Gets all time periods. -

    -

    - -
    Returns:
    the time periods
    -
    -
    -
    - -

    -getType

    -
    -public FreeBusyType getType()
    -
    -
    Gets the person's status over the time periods that are specified in this - property (for example, "free" or "busy"). If not set, the user should be - considered "busy". -

    -

    - -
    Returns:
    the type or null if not set
    Specification Reference:
    RFC 5545 p.20
    -
    -
    -
    - -

    -setType

    -
    -public void setType(FreeBusyType fbType)
    -
    -
    Sets the person's status over the time periods that are specified in this - property (for example, "free" or "busy"). If not set, the user should be - considered "busy". -

    -

    -
    Parameters:
    fbType - the type or null to remove
    Specification Reference:
    RFC 5545 p.20
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Geo.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Geo.html deleted file mode 100644 index 1aab1426..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Geo.html +++ /dev/null @@ -1,431 +0,0 @@ - - - - - - - -Geo (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Geo

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.Geo
    -
    -
    -
    -
    public class Geo
    extends ICalProperty
    - - -

    -

    - Defines a set of geographical coordinates. -

    -

    - Examples: - -

    - Geo geo = new Geo(40.714623, -74.006605);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.85-7
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Geo(Double latitude, - Double longitude) - -
    -          Creates a new geo property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - DoublegetLatitude() - -
    -          Gets the latitude.
    - DoublegetLongitude() - -
    -          Gets the longitude.
    - voidsetLatitude(Double latitude) - -
    -          Sets the latitude.
    - voidsetLongitude(Double longitude) - -
    -          Sets the longitude.
    -static doubletoDecimal(int degrees, - int minutes, - int seconds) - -
    -          Converts a coordinate in the degrees-minutes-seconds format into its - decimal equivalent.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Geo

    -
    -public Geo(Double latitude,
    -           Double longitude)
    -
    -
    Creates a new geo property. -

    -

    -
    Parameters:
    latitude - the latitude
    longitude - the longitude
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLatitude

    -
    -public Double getLatitude()
    -
    -
    Gets the latitude. -

    -

    - -
    Returns:
    the latitude
    -
    -
    -
    - -

    -setLatitude

    -
    -public void setLatitude(Double latitude)
    -
    -
    Sets the latitude. -

    -

    -
    Parameters:
    latitude - the latitude
    -
    -
    -
    - -

    -getLongitude

    -
    -public Double getLongitude()
    -
    -
    Gets the longitude. -

    -

    - -
    Returns:
    the longitude
    -
    -
    -
    - -

    -setLongitude

    -
    -public void setLongitude(Double longitude)
    -
    -
    Sets the longitude. -

    -

    -
    Parameters:
    longitude - the longitude
    -
    -
    -
    - -

    -toDecimal

    -
    -public static double toDecimal(int degrees,
    -                               int minutes,
    -                               int seconds)
    -
    -
    Converts a coordinate in the degrees-minutes-seconds format into its - decimal equivalent. -

    -

    -
    Parameters:
    degrees - the degrees
    minutes - the minutes
    seconds - the seconds -
    Returns:
    the decimal value
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/ICalProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/ICalProperty.html deleted file mode 100644 index 4edc6c5f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/ICalProperty.html +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - -ICalProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class ICalProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -
    -
    -
    Direct Known Subclasses:
    Attachment, DateOrDateTimeProperty, FreeBusy, Geo, ListProperty, RawProperty, RecurrenceDates, RequestStatus, Trigger, UtcOffsetProperty, ValuedProperty, Version
    -
    -
    -
    -
    public abstract class ICalProperty
    extends Object
    - - -

    -Base class for all iCalendar properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -protected  ICalParametersparameters - -
    -          The property parameters.
    -  - - - - - - - - - - -
    -Constructor Summary
    ICalProperty() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddParameter(String name, - String value) - -
    -          Adds a value to a parameter.
    - StringgetParameter(String name) - -
    -          Gets the first value of a parameter with the given name.
    - ICalParametersgetParameters() - -
    -          Gets the property's parameters.
    - List<String>getParameters(String name) - -
    -          Gets all values of a parameter with the given name.
    - voidremoveParameter(String name) - -
    -          Removes a parameter from the property.
    - voidsetParameter(String name, - Collection<String> values) - -
    -          Replaces all existing values of a parameter with the given values.
    - voidsetParameter(String name, - String value) - -
    -          Replaces all existing values of a parameter with the given value.
    - voidsetParameters(ICalParameters parameters) - -
    -          Sets the property's parameters
    - List<String>validate(List<ICalComponent> components) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -parameters

    -
    -protected ICalParameters parameters
    -
    -
    The property parameters. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalProperty

    -
    -public ICalProperty()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getParameters

    -
    -public ICalParameters getParameters()
    -
    -
    Gets the property's parameters. -

    -

    - -
    Returns:
    the parameters
    -
    -
    -
    - -

    -setParameters

    -
    -public void setParameters(ICalParameters parameters)
    -
    -
    Sets the property's parameters -

    -

    -
    Parameters:
    parameters - the parameters
    -
    -
    -
    - -

    -getParameter

    -
    -public String getParameter(String name)
    -
    -
    Gets the first value of a parameter with the given name. -

    -

    -
    Parameters:
    name - the parameter name (case insensitive, e.g. "LANGUAGE") -
    Returns:
    the parameter value or null if not found
    -
    -
    -
    - -

    -getParameters

    -
    -public List<String> getParameters(String name)
    -
    -
    Gets all values of a parameter with the given name. -

    -

    -
    Parameters:
    name - the parameter name (case insensitive, e.g. "LANGUAGE") -
    Returns:
    the parameter values
    -
    -
    -
    - -

    -addParameter

    -
    -public void addParameter(String name,
    -                         String value)
    -
    -
    Adds a value to a parameter. -

    -

    -
    Parameters:
    name - the parameter name (case insensitive, e.g. "LANGUAGE")
    value - the parameter value
    -
    -
    -
    - -

    -setParameter

    -
    -public void setParameter(String name,
    -                         String value)
    -
    -
    Replaces all existing values of a parameter with the given value. -

    -

    -
    Parameters:
    name - the parameter name (case insensitive, e.g. "LANGUAGE")
    value - the parameter value
    -
    -
    -
    - -

    -setParameter

    -
    -public void setParameter(String name,
    -                         Collection<String> values)
    -
    -
    Replaces all existing values of a parameter with the given values. -

    -

    -
    Parameters:
    name - the parameter name (case insensitive, e.g. "LANGUAGE")
    values - the parameter values
    -
    -
    -
    - -

    -removeParameter

    -
    -public void removeParameter(String name)
    -
    -
    Removes a parameter from the property. -

    -

    -
    Parameters:
    name - the parameter name (case insensitive, e.g. "LANGUAGE")
    -
    -
    -
    - -

    -validate

    -
    -public final List<String> validate(List<ICalComponent> components)
    -
    -
    Checks the property for data consistency problems or deviations from the - spec. These problems will not prevent the property from being written to - a data stream, but may prevent it from being parsed correctly by the - consuming application. These problems can largely be avoided by reading - the Javadocs of the property class, or by being familiar with the - iCalendar standard. -

    -

    -
    Parameters:
    components - the hierarchy of components that the property belongs - to -
    Returns:
    a list of warnings or an empty list if no problems were found
    See Also:
    ICalendar.validate()
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/IntegerProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/IntegerProperty.html deleted file mode 100644 index f25fe22e..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/IntegerProperty.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - -IntegerProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class IntegerProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Integer>
    -          extended by biweekly.property.IntegerProperty
    -
    -
    -
    Direct Known Subclasses:
    PercentComplete, Priority, Repeat, Sequence
    -
    -
    -
    -
    public class IntegerProperty
    extends ValuedProperty<Integer>
    - - -

    -Represents a property whose value is an integer. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    IntegerProperty(Integer value) - -
    -          Creates a new integer property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -IntegerProperty

    -
    -public IntegerProperty(Integer value)
    -
    -
    Creates a new integer property. -

    -

    -
    Parameters:
    value - the property's value
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/LastModified.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/LastModified.html deleted file mode 100644 index 4b45298b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/LastModified.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - -LastModified (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class LastModified

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Date>
    -          extended by biweekly.property.DateTimeProperty
    -              extended by biweekly.property.LastModified
    -
    -
    -
    -
    public class LastModified
    extends DateTimeProperty
    - - -

    -

    - Defines the date and time that the calendar data in a component was last - changed. -

    -

    - Examples: - -

    - Date datetime = ...
    - LastModified lastModified = new LastModified(datetime);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.138
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    LastModified(Date date) - -
    -          Creates a last modified property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -LastModified

    -
    -public LastModified(Date date)
    -
    -
    Creates a last modified property. -

    -

    -
    Parameters:
    date - the date
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/ListProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/ListProperty.html deleted file mode 100644 index 41d8541f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/ListProperty.html +++ /dev/null @@ -1,387 +0,0 @@ - - - - - - - -ListProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class ListProperty<T>

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ListProperty<T>
    -
    -
    -
    Type Parameters:
    T - the value type
    -
    -
    Direct Known Subclasses:
    Categories, ExceptionDates, Resources
    -
    -
    -
    -
    public class ListProperty<T>
    extends ICalProperty
    - - -

    -Represents a property whose value is a list of values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ListProperty() - -
    -          Creates a new list property.
    ListProperty(List<T> values) - -
    -          Creates a new list property.
    ListProperty(T... values) - -
    -          Creates a new list property.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidaddValue(T value) - -
    -          Adds a value to this property.
    - List<T>getValues() - -
    -          Gets the values of this property.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ListProperty

    -
    -public ListProperty()
    -
    -
    Creates a new list property. -

    -

    -
    - -

    -ListProperty

    -
    -public ListProperty(T... values)
    -
    -
    Creates a new list property. -

    -

    -
    Parameters:
    values - the values to initialize the property with
    -
    -
    - -

    -ListProperty

    -
    -public ListProperty(List<T> values)
    -
    -
    Creates a new list property. -

    -

    -
    Parameters:
    values - the values to initialize the property with
    -
    - - - - - - - - -
    -Method Detail
    - -

    -addValue

    -
    -public void addValue(T value)
    -
    -
    Adds a value to this property. -

    -

    -
    Parameters:
    value - the value to add
    -
    -
    -
    - -

    -getValues

    -
    -public List<T> getValues()
    -
    -
    Gets the values of this property. -

    -

    - -
    Returns:
    the values
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Location.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Location.html deleted file mode 100644 index a1feaf93..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Location.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - -Location (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Location

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Location
    -
    -
    -
    -
    public class Location
    extends TextProperty
    - - -

    -

    - Defines the physical location of an event. -

    -

    - Examples: - -

    - Location location = new Location("Room 32B");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.87-8
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Location(String location) - -
    -          Creates a location property.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetAltRepresentation() - -
    -          Gets a URI pointing to additional information about the entity - represented by the property.
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - voidsetAltRepresentation(String uri) - -
    -          Sets a URI pointing to additional information about the entity - represented by the property.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Location

    -
    -public Location(String location)
    -
    -
    Creates a location property. -

    -

    -
    Parameters:
    location - the location (e.g. "Room 101")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAltRepresentation

    -
    -public String getAltRepresentation()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    - -
    Returns:
    the URI or null if not set
    -
    -
    -
    - -

    -setAltRepresentation

    -
    -public void setAltRepresentation(String uri)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    -
    Parameters:
    uri - the URI or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Method.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Method.html deleted file mode 100644 index 13c4b900..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Method.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - - -Method (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Method

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Method
    -
    -
    -
    -
    public class Method
    extends TextProperty
    - - -

    -

    - Specifies the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity. -

    -

    - Examples: - -

    - Method method = new Method("value");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.77-8
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Method(String value) - -
    -          Creates a new method property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Method

    -
    -public Method(String value)
    -
    -
    Creates a new method property. -

    -

    -
    Parameters:
    value - the property value
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Organizer.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Organizer.html deleted file mode 100644 index d3e69ed7..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Organizer.html +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - -Organizer (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Organizer

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Organizer
    -
    -
    -
    -
    public class Organizer
    extends TextProperty
    - - -

    -

    - Defines an organizer. This property has different meanings depending on the - component it belongs to: -

      -
    • VEvent - The organizer of the event.
    • -
    • VTodo - The creator of the to-do task.
    • -
    • VJournal - The owner of the journal entry.
    • -
    • VFreeBusy - The person requesting the free/busy time.
    • -
    -

    -

    - Examples: - -

    - Organizer organizer = Organizer.email("johndoe@example.com");
    - organizer.setCommonName("John Doe");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.111-2
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Organizer(String uri) - -
    -          Creates an organizer property
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Organizeremail(String email) - -
    -          Creates an organizer property using an email address as its value.
    - StringgetCommonName() - -
    -          Gets the display name of the person.
    - StringgetDirectoryEntry() - -
    -          Gets a URI that contains additional information about the person.
    - StringgetLanguage() - -
    -          Gets the language that the common name parameter is written in.
    - StringgetSentBy() - -
    -          Gets a person that is acting on behalf of the person defined in the - property.
    - voidsetCommonName(String commonName) - -
    -          Sets the display name of the person.
    - voidsetDirectoryEntry(String directoryEntry) - -
    -          Sets a URI that contains additional information about the person.
    - voidsetLanguage(String language) - -
    -          Sets the language that the common name parameter is written in.
    - voidsetSentBy(String sentBy) - -
    -          Sets a person that is acting on behalf of the person defined in the - property.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Organizer

    -
    -public Organizer(String uri)
    -
    -
    Creates an organizer property -

    -

    -
    Parameters:
    uri - a URI representing the organizer (typically, an email address, - e.g. "mailto:johndoe@example.com")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -email

    -
    -public static Organizer email(String email)
    -
    -
    Creates an organizer property using an email address as its value. -

    -

    -
    Parameters:
    email - the email address (e.g. "johndoe@example.com") -
    Returns:
    the property
    -
    -
    -
    - -

    -getSentBy

    -
    -public String getSentBy()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a person that is acting on behalf of the person defined in the - property. -

    -

    -
    -
    -
    - -
    Returns:
    a URI representing the person (typically, an email URI, e.g. - "mailto:janedoe@example.com") or null if not set
    -
    -
    -
    - -

    -setSentBy

    -
    -public void setSentBy(String sentBy)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a person that is acting on behalf of the person defined in the - property. -

    -

    -
    -
    -
    -
    Parameters:
    sentBy - a URI representing the person (typically, an email URI, e.g. - "mailto:janedoe@example.com") or null to remove
    -
    -
    -
    - -

    -getCommonName

    -
    -public String getCommonName()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the display name of the person. -

    -

    -
    -
    -
    - -
    Returns:
    the display name (e.g. "John Doe") or null if not set
    -
    -
    -
    - -

    -setCommonName

    -
    -public void setCommonName(String commonName)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the display name of the person. -

    -

    -
    -
    -
    -
    Parameters:
    commonName - the display name (e.g. "John Doe") or null to remove
    -
    -
    -
    - -

    -getDirectoryEntry

    -
    -public String getDirectoryEntry()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a URI that contains additional information about the person. -

    -

    -
    -
    -
    - -
    Returns:
    the URI (e.g. an LDAP URI) or null if not set
    -
    -
    -
    - -

    -setDirectoryEntry

    -
    -public void setDirectoryEntry(String directoryEntry)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a URI that contains additional information about the person. -

    -

    -
    -
    -
    -
    Parameters:
    directoryEntry - the URI (e.g. an LDAP URI) or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Gets the language that the common name parameter is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Sets the language that the common name parameter is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/PercentComplete.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/PercentComplete.html deleted file mode 100644 index f49ef9ce..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/PercentComplete.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - -PercentComplete (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class PercentComplete

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Integer>
    -          extended by biweekly.property.IntegerProperty
    -              extended by biweekly.property.PercentComplete
    -
    -
    -
    -
    public class PercentComplete
    extends IntegerProperty
    - - -

    -

    - Defines a to-do task's level of completion. -

    -

    - Examples: - -

    - PercentComplete percentComplete = new PercentComplete(50); //50%
    - 
    - VTodo todo = new VTodo();
    - todo.setPercentComplete(50);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.88-9
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    PercentComplete(Integer percent) - -
    -          Creates a percent complete property.
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PercentComplete

    -
    -public PercentComplete(Integer percent)
    -
    -
    Creates a percent complete property. -

    -

    -
    Parameters:
    percent - the percentage (e.g. "50" for 50%)
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ValuedProperty<Integer>
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Priority.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Priority.html deleted file mode 100644 index 92c5e9f5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Priority.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - -Priority (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Priority

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Integer>
    -          extended by biweekly.property.IntegerProperty
    -              extended by biweekly.property.Priority
    -
    -
    -
    -
    public class Priority
    extends IntegerProperty
    - - -

    -

    - Defines the priority of an event or to-do task. -

    -

    - Examples: - -

    - //highest
    - Priority priority = new Priority(1);
    - 
    - //lowest
    - Priority priority = new Priority(9);
    - 
    - VTodo todo = new VTodo();
    - todo.setPriority(1);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.89-90
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Priority(Integer priority) - -
    -          Creates a priority property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanisHigh() - -
    -          Determines if this priority is considered "high" priority.
    - booleanisLow() - -
    -          Determines if this priority is considered "low" priority.
    - booleanisMedium() - -
    -          Determines if this priority is considered "medium" priority.
    - booleanisUndefined() - -
    -          Determines if this priority has an "undefined" value.
    - StringtoCuaPriority() - -
    -          Converts this priority to its two-character CUA code.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Priority

    -
    -public Priority(Integer priority)
    -
    -
    Creates a priority property. -

    -

    -
    Parameters:
    priority - the priority ("0" is undefined, "1" is the highest, "9" - is the lowest)
    -
    - - - - - - - - -
    -Method Detail
    - -

    -isHigh

    -
    -public boolean isHigh()
    -
    -
    Determines if this priority is considered "high" priority. -

    -

    - -
    Returns:
    true if the priority is between 1 and 4, false if not
    -
    -
    -
    - -

    -isMedium

    -
    -public boolean isMedium()
    -
    -
    Determines if this priority is considered "medium" priority. -

    -

    - -
    Returns:
    true if the priority is "5", false if not
    -
    -
    -
    - -

    -isLow

    -
    -public boolean isLow()
    -
    -
    Determines if this priority is considered "low" priority. -

    -

    - -
    Returns:
    true if the priority is between 6 and 9, false if not
    -
    -
    -
    - -

    -isUndefined

    -
    -public boolean isUndefined()
    -
    -
    Determines if this priority has an "undefined" value. -

    -

    - -
    Returns:
    true if the priority is "0", false if not
    -
    -
    -
    - -

    -toCuaPriority

    -
    -public String toCuaPriority()
    -
    -
    Converts this priority to its two-character CUA code. -

    -

    - -
    Returns:
    the CUA code (e.g. "B1" for "4") or null if the priority cannot - be converted to a CUA code
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/ProductId.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/ProductId.html deleted file mode 100644 index fb2a06a1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/ProductId.html +++ /dev/null @@ -1,330 +0,0 @@ - - - - - - - -ProductId (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class ProductId

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.ProductId
    -
    -
    -
    -
    public class ProductId
    extends TextProperty
    - - -

    -

    - Identifies the application that created the iCalendar object. -

    -

    - Examples: - -

    - ProductId prodid = new ProductId("-//Company//Application Name//EN");
    - 
    - ICalendar ical = new ICalendar();
    - ical.setProductId("-//Company//Application Name//EN");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.78-9
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    ProductId(String value) - -
    -          Creates a new product identifier property.
    -  - - - - - - - - - - - -
    -Method Summary
    -static ProductIdbiweekly() - -
    -          Creates a new product identifier property that represents this library.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ProductId

    -
    -public ProductId(String value)
    -
    -
    Creates a new product identifier property. -

    -

    -
    Parameters:
    value - a unique string representing the application (e.g. - "-//Company//Application Name//EN")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -biweekly

    -
    -public static ProductId biweekly()
    -
    -
    Creates a new product identifier property that represents this library. -

    -

    - -
    Returns:
    the property
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/RawProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/RawProperty.html deleted file mode 100644 index a6e2512b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/RawProperty.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - -RawProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class RawProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.RawProperty
    -
    -
    -
    -
    public class RawProperty
    extends ICalProperty
    - - -

    -A property that does not have a marshaller associated with it. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    RawProperty(String name, - ICalDataType dataType, - String value) - -
    -           
    RawProperty(String name, - String value) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ICalDataTypegetDataType() - -
    -           
    - StringgetName() - -
    -           
    - StringgetValue() - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RawProperty

    -
    -public RawProperty(String name,
    -                   String value)
    -
    -
    -
    - -

    -RawProperty

    -
    -public RawProperty(String name,
    -                   ICalDataType dataType,
    -                   String value)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public String getValue()
    -
    -
    -
    -
    -
    -
    - -

    -getDataType

    -
    -public ICalDataType getDataType()
    -
    -
    -
    -
    -
    -
    - -

    -getName

    -
    -public String getName()
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceDates.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceDates.html deleted file mode 100644 index c4e8cab0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceDates.html +++ /dev/null @@ -1,509 +0,0 @@ - - - - - - - -RecurrenceDates (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class RecurrenceDates

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.RecurrenceDates
    -
    -
    -
    -
    public class RecurrenceDates
    extends ICalProperty
    - - -

    -

    - Defines a list of dates or periods that help define a recurrence rule. It - must contain either dates or time periods. It cannot contain a combination of - both. -

    -

    - Examples: - -

    - //date-time values
    - Date datetime1 = ...
    - Date datetime2 = ...
    - List<Date> datetimes = Arrays.asList(datetime1, datetime2);
    - RecurrenceDates prop = new RecurrenceDates(datetimes, true);
    - 
    - //date values
    - Date date1 = ...
    - Date date2 = ...
    - List<Date> dates = Arrays.asList(date1, date2);
    - RecurrenceDates prop = new RecurrenceDates(dates, false);
    - 
    - //periods
    - Period period1 = ...
    - Period period2 = ...
    - List<Period> periods = Arrays.asList(period1, period2);
    - RecurrenceDates prop = new RecurrenceDates(periods, true);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.120-2
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    RecurrenceDates(List<Date> dates, - boolean hasTime) - -
    -          Creates a recurrence dates property.
    RecurrenceDates(List<Period> periods) - -
    -          Creates a recurrence dates property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - List<Date>getDates() - -
    -          Gets the recurrence dates.
    - List<Period>getPeriods() - -
    -          Gets the time periods.
    - StringgetTimezoneId() - -
    -          Gets the timezone identifier.
    - booleanhasTime() - -
    -          Gets whether the recurrence dates have time components.
    - voidsetTimezone(VTimezone timezone) - -
    -          Sets the property's timezone to a timezone that is defined within the - iCalendar object.
    - voidsetTimezoneId(String timezoneId) - -
    -          Sets the timezone identifier.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrenceDates

    -
    -public RecurrenceDates(List<Date> dates,
    -                       boolean hasTime)
    -
    -
    Creates a recurrence dates property. -

    -

    -
    Parameters:
    dates - the recurrence dates
    hasTime - true if the dates have a time component, false if they are - strictly dates
    -
    -
    - -

    -RecurrenceDates

    -
    -public RecurrenceDates(List<Period> periods)
    -
    -
    Creates a recurrence dates property. -

    -

    -
    Parameters:
    periods - the time periods
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDates

    -
    -public List<Date> getDates()
    -
    -
    Gets the recurrence dates. -

    -

    - -
    Returns:
    the dates or null if this property contains periods
    -
    -
    -
    - -

    -hasTime

    -
    -public boolean hasTime()
    -
    -
    Gets whether the recurrence dates have time components. -

    -

    - -
    Returns:
    true if the dates have a time component, false if they are - strictly dates
    -
    -
    -
    - -

    -getPeriods

    -
    -public List<Period> getPeriods()
    -
    -
    Gets the time periods. -

    -

    - -
    Returns:
    the time periods or null if this property contains dates
    -
    -
    -
    - -

    -getTimezoneId

    -
    -public String getTimezoneId()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the timezone identifier. This either (a) references the - TimezoneId property of a VTimezone component, or (b) - specifies a globally-defined timezone (e.g. "America/New_York"). For a - list of globally-defined timezones, see the TZ database. -

    -

    -
    -
    -
    - -
    Returns:
    the timezone identifier or null if not set
    -
    -
    -
    - -

    -setTimezoneId

    -
    -public void setTimezoneId(String timezoneId)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the timezone identifier. This either (a) references the - TimezoneId property of a VTimezone component, or (b) - specifies a globally-defined timezone (e.g. "America/New_York"). For a - list of globally-defined timezones, see the TZ database. -

    -

    -
    -
    -
    -
    Parameters:
    timezoneId - the timezone identifier (e.g. "America/New_York") or - null to remove
    -
    -
    -
    - -

    -setTimezone

    -
    -public void setTimezone(VTimezone timezone)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the property's timezone to a timezone that is defined within the - iCalendar object. Use ICalProperty.setTimezoneId(String) to use a - globally-defined timezone (e.g. "America/New_York"). -

    -

    -
    -
    -
    -
    Parameters:
    timezone - the timezone component to reference or null to remove
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceId.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceId.html deleted file mode 100644 index 8c9fbfdc..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceId.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - - -RecurrenceId (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class RecurrenceId

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.DateOrDateTimeProperty
    -          extended by biweekly.property.RecurrenceId
    -
    -
    -
    -
    public class RecurrenceId
    extends DateOrDateTimeProperty
    - - -

    -

    - Records the original value of the DateStart property if a recurrence - instance has been modified. Used in conjunction with the Uid and - Sequence properties to uniquely identify a recurrence instance. -

    -

    - Examples: - -

    - //date-time value
    - Date datetime = ...
    - RecurrenceId recurrenceId = new RecurrenceId(datetime);
    - 
    - //datevalue
    - Date date = ...
    - RecurrenceId recurrenceId = new RecurrenceId(date, false);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.112-4
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.DateOrDateTimeProperty
    hasTime, localTime, rawComponents, value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    RecurrenceId(Date originalStartDate) - -
    -          Creates a recurrence ID property.
    RecurrenceId(Date originalStartDate, - boolean hasTime) - -
    -          Creates a recurrence ID property.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - RangegetRange() - -
    -          Gets the effective range of recurrence instances from the instance - specified by this property.
    - voidsetRange(Range range) - -
    -          Sets the effective range of recurrence instances from the instance - specified by this property.
    - - - - - - - -
    Methods inherited from class biweekly.property.DateOrDateTimeProperty
    getRawComponents, getTimezoneId, getValue, hasTime, isLocalTime, setLocalTime, setRawComponents, setTimezone, setTimezoneId, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrenceId

    -
    -public RecurrenceId(Date originalStartDate)
    -
    -
    Creates a recurrence ID property. -

    -

    -
    Parameters:
    originalStartDate - the original start date
    -
    -
    - -

    -RecurrenceId

    -
    -public RecurrenceId(Date originalStartDate,
    -                    boolean hasTime)
    -
    -
    Creates a recurrence ID property. -

    -

    -
    Parameters:
    originalStartDate - the original start date
    hasTime - true to include the time component of the date, false not - to
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getRange

    -
    -public Range getRange()
    -
    -
    Gets the effective range of recurrence instances from the instance - specified by this property. -

    -

    - -
    Returns:
    the range or null if not set
    Specification Reference:
    RFC 5545 p.23-4
    -
    -
    -
    - -

    -setRange

    -
    -public void setRange(Range range)
    -
    -
    Sets the effective range of recurrence instances from the instance - specified by this property. -

    -

    -
    Parameters:
    range - the range or null to remove
    Specification Reference:
    RFC 5545 p.23-4
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceProperty.html deleted file mode 100644 index 7b4a522d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceProperty.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - -RecurrenceProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class RecurrenceProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Recurrence>
    -          extended by biweekly.property.RecurrenceProperty
    -
    -
    -
    Direct Known Subclasses:
    ExceptionRule, RecurrenceRule
    -
    -
    -
    -
    public class RecurrenceProperty
    extends ValuedProperty<Recurrence>
    - - -

    -Defines a property whose value is a recurrence rule. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    RecurrenceProperty(Recurrence recur) - -
    -          Creates a new recurrence property.
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrenceProperty

    -
    -public RecurrenceProperty(Recurrence recur)
    -
    -
    Creates a new recurrence property. -

    -

    -
    Parameters:
    recur - the recurrence value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ValuedProperty<Recurrence>
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceRule.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceRule.html deleted file mode 100644 index e5415b6a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/RecurrenceRule.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - -RecurrenceRule (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class RecurrenceRule

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Recurrence>
    -          extended by biweekly.property.RecurrenceProperty
    -              extended by biweekly.property.RecurrenceRule
    -
    -
    -
    -
    public class RecurrenceRule
    extends RecurrenceProperty
    - - -

    -

    - Defines how often a component repeats. -

    -

    - Examples: - -

    - //"bi-weekly"
    - Recurrence recur = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    - RecurrenceRule rrule = new RecurrenceRule(recur);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.122-32
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    RecurrenceRule(Recurrence recur) - -
    -          Creates a new recurrence rule property.
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrenceRule

    -
    -public RecurrenceRule(Recurrence recur)
    -
    -
    Creates a new recurrence rule property. -

    -

    -
    Parameters:
    recur - the recurrence rule
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class RecurrenceProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/RelatedTo.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/RelatedTo.html deleted file mode 100644 index fdb849f8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/RelatedTo.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - - -RelatedTo (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class RelatedTo

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.RelatedTo
    -
    -
    -
    -
    public class RelatedTo
    extends TextProperty
    - - -

    -

    - Defines a relationship between the component that this property belongs to - and another component. -

    -

    - Examples: - -

    - RelatedTo relatedTo = new RelatedTo("uid-value");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.115-6
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    RelatedTo(String uid) - -
    -          Creates a related-to property.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - RelationshipTypegetRelationshipType() - -
    -          Gets the relationship type.
    - voidsetRelationshipType(RelationshipType relationshipType) - -
    -          Sets the relationship type.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RelatedTo

    -
    -public RelatedTo(String uid)
    -
    -
    Creates a related-to property. -

    -

    -
    Parameters:
    uid - the value of the Uid property of the component that - this property is referencing
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getRelationshipType

    -
    -public RelationshipType getRelationshipType()
    -
    -
    Gets the relationship type. -

    -

    - -
    Returns:
    the relationship type (e.g. "child") or null if not set
    Specification Reference:
    RFC 5545 p.25
    -
    -
    -
    - -

    -setRelationshipType

    -
    -public void setRelationshipType(RelationshipType relationshipType)
    -
    -
    Sets the relationship type. -

    -

    -
    Parameters:
    relationshipType - the relationship type (e.g. "child") or null to - remove
    Specification Reference:
    RFC 5545 p.25
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Repeat.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Repeat.html deleted file mode 100644 index c24242c5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Repeat.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -Repeat (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Repeat

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Integer>
    -          extended by biweekly.property.IntegerProperty
    -              extended by biweekly.property.Repeat
    -
    -
    -
    -
    public class Repeat
    extends IntegerProperty
    - - -

    -

    - Defines the number of times an alarm should be repeated after its initial - trigger. Used in conjunction with DurationProperty, which defines the - length of the pause between repeats. -

    -

    - Examples: - -

    - //repeat 5 more times after the first time
    - Repeat relatedTo = new Repeat(5);
    - 
    - VAlarm alarm = ...;
    - alarm.setRepeat(5);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.133
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Repeat(Integer count) - -
    -          Creates a repeat property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Repeat

    -
    -public Repeat(Integer count)
    -
    -
    Creates a repeat property. -

    -

    -
    Parameters:
    count - the number of times to repeat the alarm (e.g. "2" to repeat - it two more times after it was initially triggered, for a total of three - times)
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/RequestStatus.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/RequestStatus.html deleted file mode 100644 index 238e7826..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/RequestStatus.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - - -RequestStatus (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class RequestStatus

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.RequestStatus
    -
    -
    -
    -
    public class RequestStatus
    extends ICalProperty
    - - -

    -

    - Represents a response to a scheduling request, describing whether the request - was successfully processed or not. -

    -

    - Each property instance has a status code. The following status code families - are defined: -

      -
    • 1.x - The request has been received, but is still being processed. -
    • -
    • 2.x - The request was processed successfully.
    • -
    • 3.x - There is a client-side problem with the request (such as - some incorrect syntax).
    • -
    • 4.x - A server-side error occurred.
    • -
    -

    -

    - Examples: - -

    - RequestStatus requestStatus = new RequestStatus("2.0");
    - requestStatus.setDescription("Success");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.141-3
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    RequestStatus(String statusCode) - -
    -          Creates a request status property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetDescription() - -
    -          Gets the human-readable description of the status.
    - StringgetExceptionText() - -
    -          Gets any additional data related to the response.
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - StringgetStatusCode() - -
    -          Gets the status code.
    - voidsetDescription(String description) - -
    -          Sets a human-readable description of the status.
    - voidsetExceptionText(String exceptionText) - -
    -          Sets any additional data related to the response.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - voidsetStatusCode(String statusCode) - -
    -          Sets a status code.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RequestStatus

    -
    -public RequestStatus(String statusCode)
    -
    -
    Creates a request status property. -

    -

    -
    Parameters:
    statusCode - the status code (e.g. "1.1.3")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getStatusCode

    -
    -public String getStatusCode()
    -
    -
    Gets the status code. The following status code families are defined: -
      -
    • 1.x - The request has been received, but is still being - processed.
    • -
    • 2.x - The request was processed successfully.
    • -
    • 3.x - There is a client-side problem with the request (such as - some incorrect syntax).
    • -
    • 4.x - A server-side error occurred.
    • -
    -

    -

    - -
    Returns:
    the status code (e.g. "1.1.3")
    -
    -
    -
    - -

    -setStatusCode

    -
    -public void setStatusCode(String statusCode)
    -
    -
    Sets a status code. The following status code families are defined: -
      -
    • 1.x - The request has been received, but is still being - processed.
    • -
    • 2.x - The request was processed successfully.
    • -
    • 3.x - There is a client-side problem with the request (such as - some incorrect syntax).
    • -
    • 4.x - A server-side error occurred.
    • -
    -

    -

    -
    Parameters:
    statusCode - the status code (e.g. "1.1.3")
    -
    -
    -
    - -

    -getDescription

    -
    -public String getDescription()
    -
    -
    Gets the human-readable description of the status. -

    -

    - -
    Returns:
    the description (e.g. "Success") or null if not set
    -
    -
    -
    - -

    -setDescription

    -
    -public void setDescription(String description)
    -
    -
    Sets a human-readable description of the status. -

    -

    -
    Parameters:
    description - the description (e.g. "Success") or null to remove
    -
    -
    -
    - -

    -getExceptionText

    -
    -public String getExceptionText()
    -
    -
    Gets any additional data related to the response. -

    -

    - -
    Returns:
    the additional data or null if not set
    -
    -
    -
    - -

    -setExceptionText

    -
    -public void setExceptionText(String exceptionText)
    -
    -
    Sets any additional data related to the response. -

    -

    -
    Parameters:
    exceptionText - the additional data or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Resources.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Resources.html deleted file mode 100644 index 79aab528..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Resources.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - -Resources (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Resources

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ListProperty<String>
    -          extended by biweekly.property.Resources
    -
    -
    -
    -
    public class Resources
    extends ListProperty<String>
    - - -

    -

    - Defines a list of resources that are needed for an event or to-do task (for - example a projector or DVD player). -

    -

    - Examples: - -

    - Resources resources = new Resources("projector", "DVD player");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.91
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Resources() - -
    -          Creates a new resources property.
    Resources(List<String> values) - -
    -          Creates a new resources property.
    Resources(String... values) - -
    -          Creates a new resources property.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetAltRepresentation() - -
    -          Gets a URI pointing to additional information about the entity - represented by the property.
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - voidsetAltRepresentation(String uri) - -
    -          Sets a URI pointing to additional information about the entity - represented by the property.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - - - - - - - -
    Methods inherited from class biweekly.property.ListProperty
    addValue, getValues, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Resources

    -
    -public Resources()
    -
    -
    Creates a new resources property. -

    -

    -
    - -

    -Resources

    -
    -public Resources(String... values)
    -
    -
    Creates a new resources property. -

    -

    -
    Parameters:
    values - the values to initialize the property with (e.g. "easel", - "projector")
    -
    -
    - -

    -Resources

    -
    -public Resources(List<String> values)
    -
    -
    Creates a new resources property. -

    -

    -
    Parameters:
    values - the values to initialize the property with (e.g. "easel", - "projector")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAltRepresentation

    -
    -public String getAltRepresentation()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    - -
    Returns:
    the URI or null if not set
    -
    -
    -
    - -

    -setAltRepresentation

    -
    -public void setAltRepresentation(String uri)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    -
    Parameters:
    uri - the URI or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Sequence.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Sequence.html deleted file mode 100644 index f962ee6a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Sequence.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - - -Sequence (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Sequence

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Integer>
    -          extended by biweekly.property.IntegerProperty
    -              extended by biweekly.property.Sequence
    -
    -
    -
    -
    public class Sequence
    extends IntegerProperty
    - - -

    -

    - Defines a revision number for an event, to-do task, or journal entry. This - number can be incremented every time a significant change is made to the - component. -

    -

    - Examples: - -

    - Sequence sequence = new Sequence(2);
    - 
    - VEvent event = ...
    - event.setSequence(2);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.138-9
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Sequence(Integer sequence) - -
    -          Creates a sequence property.
    -  - - - - - - - - - - - -
    -Method Summary
    - voidincrement() - -
    -          Increments the sequence number.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Sequence

    -
    -public Sequence(Integer sequence)
    -
    -
    Creates a sequence property. -

    -

    -
    Parameters:
    sequence - the sequence number (e.g. "0" for the initial version, - "1" for the first revision, etc)
    -
    - - - - - - - - -
    -Method Detail
    - -

    -increment

    -
    -public void increment()
    -
    -
    Increments the sequence number. -

    -

    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Status.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Status.html deleted file mode 100644 index 6c965600..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Status.html +++ /dev/null @@ -1,706 +0,0 @@ - - - - - - - -Status (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Status

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.EnumProperty
    -                  extended by biweekly.property.Status
    -
    -
    -
    -
    public class Status
    extends EnumProperty
    - - -

    -

    - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state. -

    -

    - Examples: - -

    - //creating a new property
    - Status status = Status.completed();
    - 
    - if (status.isCompleted()) {
    -        //its value is "COMPLETED"
    - }
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.92-3
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Status(String status) - -
    -          Creates a status property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Statuscancelled() - -
    -          Creates a "cancelled" status property (only valid for event, to-do, and - journal components).
    -static Statuscompleted() - -
    -          Creates a "completed" status property (only valid for to-do components).
    -static Statusconfirmed() - -
    -          Creates a "confirmed" status property (only valid for event components).
    -static Statusdraft() - -
    -          Creates a "draft" status property (only valid for journal components).
    -static Statusfinal_() - -
    -          Creates a "final" status property (only valid for journal components).
    -protected  Collection<String>getStandardValues() - -
    -          Gets the list of acceptable values for this property.
    -static StatusinProgress() - -
    -          Creates a "in-progress" status property (only valid for to-do - components).
    - booleanisCancelled() - -
    -          Determines if the status is set to "cancelled".
    - booleanisCompleted() - -
    -          Determines if the status is set to "completed".
    - booleanisConfirmed() - -
    -          Determines if the status is set to "confirmed".
    - booleanisDraft() - -
    -          Determines if the status is set to "draft".
    - booleanisFinal() - -
    -          Determines if the status is set to "final".
    - booleanisInProgress() - -
    -          Determines if the status is set to "in-progress".
    - booleanisNeedsAction() - -
    -          Determines if the status is set to "needs-action".
    - booleanisTentative() - -
    -          Determines if the status is set to "tentative".
    -static StatusneedsAction() - -
    -          Creates a "needs-action" status property (only valid for to-do - components).
    -static Statustentative() - -
    -          Creates a "tentative" status property (only valid for event components).
    - - - - - - - -
    Methods inherited from class biweekly.property.EnumProperty
    is, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Status

    -
    -public Status(String status)
    -
    -
    Creates a status property. Use of this constructor is discouraged and may - put the property in an invalid state. Use one of the static factory - methods instead. -

    -

    -
    Parameters:
    status - the status (e.g. "TENTATIVE")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -tentative

    -
    -public static Status tentative()
    -
    -
    Creates a "tentative" status property (only valid for event components). -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isTentative

    -
    -public boolean isTentative()
    -
    -
    Determines if the status is set to "tentative". -

    -

    - -
    Returns:
    true if set to "tentative", false if not
    -
    -
    -
    - -

    -confirmed

    -
    -public static Status confirmed()
    -
    -
    Creates a "confirmed" status property (only valid for event components). -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isConfirmed

    -
    -public boolean isConfirmed()
    -
    -
    Determines if the status is set to "confirmed". -

    -

    - -
    Returns:
    true if set to "confirmed", false if not
    -
    -
    -
    - -

    -cancelled

    -
    -public static Status cancelled()
    -
    -
    Creates a "cancelled" status property (only valid for event, to-do, and - journal components). -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isCancelled

    -
    -public boolean isCancelled()
    -
    -
    Determines if the status is set to "cancelled". -

    -

    - -
    Returns:
    true if set to "cancelled", false if not
    -
    -
    -
    - -

    -needsAction

    -
    -public static Status needsAction()
    -
    -
    Creates a "needs-action" status property (only valid for to-do - components). -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isNeedsAction

    -
    -public boolean isNeedsAction()
    -
    -
    Determines if the status is set to "needs-action". -

    -

    - -
    Returns:
    true if set to "needs-action", false if not
    -
    -
    -
    - -

    -completed

    -
    -public static Status completed()
    -
    -
    Creates a "completed" status property (only valid for to-do components). -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isCompleted

    -
    -public boolean isCompleted()
    -
    -
    Determines if the status is set to "completed". -

    -

    - -
    Returns:
    true if set to "completed", false if not
    -
    -
    -
    - -

    -inProgress

    -
    -public static Status inProgress()
    -
    -
    Creates a "in-progress" status property (only valid for to-do - components). -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isInProgress

    -
    -public boolean isInProgress()
    -
    -
    Determines if the status is set to "in-progress". -

    -

    - -
    Returns:
    true if set to "in-progress", false if not
    -
    -
    -
    - -

    -draft

    -
    -public static Status draft()
    -
    -
    Creates a "draft" status property (only valid for journal components). -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isDraft

    -
    -public boolean isDraft()
    -
    -
    Determines if the status is set to "draft". -

    -

    - -
    Returns:
    true if set to "draft", false if not
    -
    -
    -
    - -

    -final_

    -
    -public static Status final_()
    -
    -
    Creates a "final" status property (only valid for journal components). -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isFinal

    -
    -public boolean isFinal()
    -
    -
    Determines if the status is set to "final". -

    -

    - -
    Returns:
    true if set to "final", false if not
    -
    -
    -
    - -

    -getStandardValues

    -
    -protected Collection<String> getStandardValues()
    -
    -
    Description copied from class: EnumProperty
    -
    Gets the list of acceptable values for this property. -

    -

    -
    Specified by:
    getStandardValues in class EnumProperty
    -
    -
    - -
    Returns:
    the list of acceptable values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Summary.html deleted file mode 100644 index b11503f6..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Summary.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - -Summary (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Summary

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Summary
    -
    -
    -
    -
    public class Summary
    extends TextProperty
    - - -

    -

    - Defines a short, one line summary of the component that this property belongs - to. The summary should be a more concise version of the text provided by the - Description property. -

    -

    - Examples: - -

    - Summary summary = new Summary("summary text");
    - 
    - VEvent event = ...;
    - event.setSummary("summary text");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.93-4
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Summary(String summary) - -
    -          Creates a new summary property.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetAltRepresentation() - -
    -          Gets a URI pointing to additional information about the entity - represented by the property.
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - voidsetAltRepresentation(String uri) - -
    -          Sets a URI pointing to additional information about the entity - represented by the property.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Summary

    -
    -public Summary(String summary)
    -
    -
    Creates a new summary property. -

    -

    -
    Parameters:
    summary - the summary
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAltRepresentation

    -
    -public String getAltRepresentation()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    - -
    Returns:
    the URI or null if not set
    -
    -
    -
    - -

    -setAltRepresentation

    -
    -public void setAltRepresentation(String uri)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets a URI pointing to additional information about the entity - represented by the property. -

    -

    -
    -
    -
    -
    Parameters:
    uri - the URI or null to remove
    -
    -
    -
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/TextProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/TextProperty.html deleted file mode 100644 index dd43ce22..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/TextProperty.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - -TextProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class TextProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -
    -
    -
    Direct Known Subclasses:
    Attendee, Comment, Contact, Description, EnumProperty, Location, Method, Organizer, ProductId, RelatedTo, Summary, TimezoneId, TimezoneName, TimezoneUrl, Uid, Url
    -
    -
    -
    -
    public class TextProperty
    extends ValuedProperty<String>
    - - -

    -Represents a property whose value is a plain-text string. Note that this does - not always mean that the property has a data type of "text". -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    TextProperty(String value) - -
    -          Creates a new text property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TextProperty

    -
    -public TextProperty(String value)
    -
    -
    Creates a new text property. -

    -

    -
    Parameters:
    value - the property's value
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneId.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneId.html deleted file mode 100644 index 73d0e0e0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneId.html +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - -TimezoneId (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class TimezoneId

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.TimezoneId
    -
    -
    -
    -
    public class TimezoneId
    extends TextProperty
    - - -

    -

    - Defines a unique identifier for a VTimezone component. The identifier - must be unique within the scope of the iCalendar object. -

    -

    - Date-time properties that support timezones (such as DateStart) can - format their date-time values according to the rules defined in the - VTimezone component, and then use this ID to reference the component - by assigning the ID to a TZID parameter. -

    -

    - All properties that support timezones will have - get/setTimezoneId() methods. If a property has no timezone - assigned to it, it is written in UTC. -

    -

    - Examples: - -

    - VTimezone timezone = new VTimezone("Eastern");
    - 
    - Date start = ...;
    - DateStart dtstart = new DateStart(start);
    - dtStart.setTimezoneId("Eastern");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.102-3
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    TimezoneId(String timezone) - -
    -          Creates a timezone identifier property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneId

    -
    -public TimezoneId(String timezone)
    -
    -
    Creates a timezone identifier property. -

    -

    -
    Parameters:
    timezone - the timezone identifier
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneName.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneName.html deleted file mode 100644 index e9472787..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneName.html +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - - -TimezoneName (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class TimezoneName

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.TimezoneName
    -
    -
    -
    -
    public class TimezoneName
    extends TextProperty
    - - -

    -

    - Defines a traditional, non-standard name for a timezone observance (for - example, "Eastern Standard Time" for standard time on the US east coast). -

    -

    - Examples: - -

    - //creating a new property
    - TimezoneName tzname = new TimezoneName("Eastern Standard Time");
    - 
    - //usage in a VTIMEZONE component
    - VTimezone timezone = new VTimezone("East Coast");
    - 
    - StandardTime standard = new StandardTime();
    - standard.setTimezoneName("Eastern Standard Time");
    - ...
    - timezone.addStandardTime(standard);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.103-4
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    TimezoneName(String name) - -
    -          Creates a timezone name property.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetLanguage() - -
    -          Gets the language that the property value is written in.
    - voidsetLanguage(String language) - -
    -          Sets the language that the property value is written in.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneName

    -
    -public TimezoneName(String name)
    -
    -
    Creates a timezone name property. -

    -

    -
    Parameters:
    name - the timezone name (e.g. "EST")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLanguage

    -
    -public String getLanguage()
    -
    -
    Description copied from class: ICalProperty
    -
    Gets the language that the property value is written in. -

    -

    -
    -
    -
    - -
    Returns:
    the language (e.g. "en" for English) or null if not set
    -
    -
    -
    - -

    -setLanguage

    -
    -public void setLanguage(String language)
    -
    -
    Description copied from class: ICalProperty
    -
    Sets the language that the property value is written in. -

    -

    -
    -
    -
    -
    Parameters:
    language - the language (e.g. "en" for English) or null to remove
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneOffsetFrom.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneOffsetFrom.html deleted file mode 100644 index d88c5257..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneOffsetFrom.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - -TimezoneOffsetFrom (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class TimezoneOffsetFrom

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.UtcOffsetProperty
    -          extended by biweekly.property.TimezoneOffsetFrom
    -
    -
    -
    -
    public class TimezoneOffsetFrom
    extends UtcOffsetProperty
    - - -

    -

    - Defines the timezone offset that was in use before a timezone observance. -

    -

    - Examples: - -

    - //creating a new property
    - TimezoneOffsetFrom tzname = new TimezoneOffsetFrom(-5, 0);
    - 
    - //usage in a VTIMEZONE component
    - VTimezone timezone = ...
    - StandardTime standard = new StandardTime();
    - standard.setTimezoneOffsetFrom(-5, 0);
    - ...
    - timezone.addStandardTime(standard);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.104-5
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.UtcOffsetProperty
    offset
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    TimezoneOffsetFrom(Integer hourOffset, - Integer minuteOffset) - -
    -          Creates a new timezone offset from property.
    TimezoneOffsetFrom(UtcOffset offset) - -
    -          Creates a new timezone offset from property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.UtcOffsetProperty
    getHourOffset, getMinuteOffset, getOffset, setOffset, setOffset, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneOffsetFrom

    -
    -public TimezoneOffsetFrom(Integer hourOffset,
    -                          Integer minuteOffset)
    -
    -
    Creates a new timezone offset from property. -

    -

    -
    Parameters:
    hourOffset - the hour offset (e.g. "-5")
    minuteOffset - the minute offset (e.g. "0")
    -
    -
    - -

    -TimezoneOffsetFrom

    -
    -public TimezoneOffsetFrom(UtcOffset offset)
    -
    -
    Creates a new timezone offset from property. -

    -

    -
    Parameters:
    offset - the UTC offset
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneOffsetTo.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneOffsetTo.html deleted file mode 100644 index 71ba70be..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneOffsetTo.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - -TimezoneOffsetTo (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class TimezoneOffsetTo

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.UtcOffsetProperty
    -          extended by biweekly.property.TimezoneOffsetTo
    -
    -
    -
    -
    public class TimezoneOffsetTo
    extends UtcOffsetProperty
    - - -

    -

    - Defines the timezone offset that is currently in use in a timezone - observance. -

    -

    - Examples: - -

    - //creating a new property
    - TimezoneOffsetTo tzname = new TimezoneOffsetTo(-4, 0);
    - 
    - //usage in a VTIMEZONE component
    - VTimezone timezone = ...
    - StandardTime standard = new StandardTime();
    - standard.setTimezoneOffsetTo(-4, 0);
    - ...
    - timezone.addStandardTime(standard);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.105-6
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.UtcOffsetProperty
    offset
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    TimezoneOffsetTo(int hourOffset, - int minuteOffset) - -
    -          Creates a new timezone offset to property.
    TimezoneOffsetTo(UtcOffset offset) - -
    -          Creates a new timezone offset to property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.UtcOffsetProperty
    getHourOffset, getMinuteOffset, getOffset, setOffset, setOffset, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneOffsetTo

    -
    -public TimezoneOffsetTo(int hourOffset,
    -                        int minuteOffset)
    -
    -
    Creates a new timezone offset to property. -

    -

    -
    Parameters:
    hourOffset - the hour offset (e.g. "-5")
    minuteOffset - the minute offset (e.g. "0")
    -
    -
    - -

    -TimezoneOffsetTo

    -
    -public TimezoneOffsetTo(UtcOffset offset)
    -
    -
    Creates a new timezone offset to property. -

    -

    -
    Parameters:
    offset - the UTC offset
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneUrl.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneUrl.html deleted file mode 100644 index e3b03bbb..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/TimezoneUrl.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - -TimezoneUrl (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class TimezoneUrl

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.TimezoneUrl
    -
    -
    -
    -
    public class TimezoneUrl
    extends TextProperty
    - - -

    -

    - Defines a URL that points to an iCalendar object that contains further - information on a timezone. -

    -

    - Examples: - -

    - //creating a new property
    - TimezoneUrl tzurl = new TimezoneUrl("http://example.com/tz.ics");
    - 
    - //usage in a VTIMEZONE component
    - VTimezone timezone = ...
    - timezone.getTimezoneUrl("http://example.com/tz.ics");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.106
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    TimezoneUrl(String url) - -
    -          Creates a timezone URL property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneUrl

    -
    -public TimezoneUrl(String url)
    -
    -
    Creates a timezone URL property. -

    -

    -
    Parameters:
    url - the timezone URL (e.g. - "http://example.com/America-New_York.ics")
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Transparency.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Transparency.html deleted file mode 100644 index 7f111d60..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Transparency.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - -Transparency (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Transparency

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.EnumProperty
    -                  extended by biweekly.property.Transparency
    -
    -
    -
    -
    public class Transparency
    extends EnumProperty
    - - -

    -

    - Defines whether an event is visible to free/busy time searches. If an event - does not have this property, the event should be considered visible - ("opaque"). -

    -

    - Examples: - -

    - //creating a new property
    - Transparency transp = Transparency.opaque();
    - 
    - if (transp.isOpaque()) {
    -   //its value is "OPAQUE"
    - }
    - 
    - //usage in a VEVENT component
    - VEvent event = ...
    - event.setTransparency(true); //hidden from searches ("TRANSPARENT")
    - event.setTransparency(false); //visible to searches ("OPAQUE")
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.101-2
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Transparency(String value) - -
    -          Creates a new transparency property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  Collection<String>getStandardValues() - -
    -          Gets the list of acceptable values for this property.
    - booleanisOpaque() - -
    -          Determines if the event is visible to free/busy time searches.
    - booleanisTransparent() - -
    -          Determines if the event is hidden from free/busy time searches.
    -static Transparencyopaque() - -
    -          Creates a property that marks the event as being visible to free/busy - time searches.
    -static Transparencytransparent() - -
    -          Creates a property that marks the event as being hidden from free/busy - time searches.
    - - - - - - - -
    Methods inherited from class biweekly.property.EnumProperty
    is, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Transparency

    -
    -public Transparency(String value)
    -
    -
    Creates a new transparency property. -

    -

    -
    Parameters:
    value - the value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -opaque

    -
    -public static Transparency opaque()
    -
    -
    Creates a property that marks the event as being visible to free/busy - time searches. -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isOpaque

    -
    -public boolean isOpaque()
    -
    -
    Determines if the event is visible to free/busy time searches. -

    -

    - -
    Returns:
    true if it's visible, false if not
    -
    -
    -
    - -

    -transparent

    -
    -public static Transparency transparent()
    -
    -
    Creates a property that marks the event as being hidden from free/busy - time searches. -

    -

    - -
    Returns:
    the property
    -
    -
    -
    - -

    -isTransparent

    -
    -public boolean isTransparent()
    -
    -
    Determines if the event is hidden from free/busy time searches. -

    -

    - -
    Returns:
    true if it's hidden, false if not
    -
    -
    -
    - -

    -getStandardValues

    -
    -protected Collection<String> getStandardValues()
    -
    -
    Description copied from class: EnumProperty
    -
    Gets the list of acceptable values for this property. -

    -

    -
    Specified by:
    getStandardValues in class EnumProperty
    -
    -
    - -
    Returns:
    the list of acceptable values
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Trigger.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Trigger.html deleted file mode 100644 index 01427a7f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Trigger.html +++ /dev/null @@ -1,469 +0,0 @@ - - - - - - - -Trigger (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Trigger

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.Trigger
    -
    -
    -
    -
    public class Trigger
    extends ICalProperty
    - - -

    -

    - Defines when an alarm will be triggered. -

    -

    - Examples: - -

    - //15 minutes before the start time
    - Duration duration = Duration.builder().prior(true).minutes(15).build();
    - Trigger trigger = new Trigger(duration, Related.START);
    - VAlarm alarm = VAlarm.display(trigger, "Meeting in 15 minutes");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.133-6
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Trigger(Date date) - -
    -          Creates a trigger property.
    Trigger(Duration duration, - Related related) - -
    -          Creates a trigger property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - DategetDate() - -
    -          Gets the date-time that the alarm will trigger.
    - DurationgetDuration() - -
    -          Gets the relative time at which the alarm will trigger.
    - RelatedgetRelated() - -
    -          Gets the date-time field that the duration is relative to.
    - voidsetDate(Date date) - -
    -          Sets the date-time that the alarm will trigger.
    - voidsetDuration(Duration duration, - Related related) - -
    -          Sets a relative time at which the alarm will trigger.
    - voidsetRelated(Related related) - -
    -          Sets the date-time field that the duration is relative to.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Trigger

    -
    -public Trigger(Duration duration,
    -               Related related)
    -
    -
    Creates a trigger property. -

    -

    -
    Parameters:
    duration - the relative time
    related - the date-time field that the duration is relative to
    -
    -
    - -

    -Trigger

    -
    -public Trigger(Date date)
    -
    -
    Creates a trigger property. -

    -

    -
    Parameters:
    date - the date-time the alarm will trigger.
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDuration

    -
    -public Duration getDuration()
    -
    -
    Gets the relative time at which the alarm will trigger. -

    -

    - -
    Returns:
    the relative time or null if an absolute time is set
    -
    -
    -
    - -

    -setDuration

    -
    -public void setDuration(Duration duration,
    -                        Related related)
    -
    -
    Sets a relative time at which the alarm will trigger. -

    -

    -
    Parameters:
    duration - the relative time
    related - the date-time field that the duration is relative to
    -
    -
    -
    - -

    -getDate

    -
    -public Date getDate()
    -
    -
    Gets the date-time that the alarm will trigger. -

    -

    - -
    Returns:
    the date-time or null if a relative duration is set
    -
    -
    -
    - -

    -setDate

    -
    -public void setDate(Date date)
    -
    -
    Sets the date-time that the alarm will trigger. -

    -

    -
    Parameters:
    date - the date-time the alarm will trigger.
    -
    -
    -
    - -

    -getRelated

    -
    -public Related getRelated()
    -
    -
    Gets the date-time field that the duration is relative to. -

    -

    - -
    Returns:
    the field or null if not set
    Specification Reference:
    RFC 5545 p.24
    -
    -
    -
    - -

    -setRelated

    -
    -public void setRelated(Related related)
    -
    -
    Sets the date-time field that the duration is relative to. -

    -

    -
    Parameters:
    related - the field or null to remove
    Specification Reference:
    RFC 5545 p.24
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Uid.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Uid.html deleted file mode 100644 index 16783f69..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Uid.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - - -Uid (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Uid

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Uid
    -
    -
    -
    -
    public class Uid
    extends TextProperty
    - - -

    -

    - Defines a unique identifier for a component. -

    -

    - Examples: - -

    - Uid uid = new Uid("...");
    - 
    - //random UID
    - Uid uid = Uid.random();
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.117-8
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Uid(String uid) - -
    -          Creates a UID property.
    -  - - - - - - - - - - - -
    -Method Summary
    -static Uidrandom() - -
    -          Creates a UID property that contains a random UID.
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Uid

    -
    -public Uid(String uid)
    -
    -
    Creates a UID property. -

    -

    -
    Parameters:
    uid - the UID
    -
    - - - - - - - - -
    -Method Detail
    - -

    -random

    -
    -public static Uid random()
    -
    -
    Creates a UID property that contains a random UID. -

    -

    - -
    Returns:
    the property
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Url.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Url.html deleted file mode 100644 index 0be74d35..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Url.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - -Url (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Url

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<String>
    -          extended by biweekly.property.TextProperty
    -              extended by biweekly.property.Url
    -
    -
    -
    -
    public class Url
    extends TextProperty
    - - -

    -

    - Points to a resource that contains additional information about a component. -

    -

    - Examples: - -

    - Url url = new Url("http://example.com");
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.116-7
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    Url(String url) - -
    -          Creates a URL property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Url

    -
    -public Url(String url)
    -
    -
    Creates a URL property. -

    -

    -
    Parameters:
    url - the URL (e.g. "http://example.com/resource.ics")
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/UtcOffsetProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/UtcOffsetProperty.html deleted file mode 100644 index c403b4e2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/UtcOffsetProperty.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - -UtcOffsetProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class UtcOffsetProperty

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.UtcOffsetProperty
    -
    -
    -
    Direct Known Subclasses:
    TimezoneOffsetFrom, TimezoneOffsetTo
    -
    -
    -
    -
    public class UtcOffsetProperty
    extends ICalProperty
    - - -

    -Represents a property whose value is a timezone offset. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -protected  UtcOffsetoffset - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    UtcOffsetProperty(int hourOffset, - int minuteOffset) - -
    -           
    UtcOffsetProperty(UtcOffset offset) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetHourOffset() - -
    -           
    - intgetMinuteOffset() - -
    -           
    - UtcOffsetgetOffset() - -
    -           
    - voidsetOffset(int hourOffset, - int minuteOffset) - -
    -           
    - voidsetOffset(UtcOffset offset) - -
    -           
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -offset

    -
    -protected UtcOffset offset
    -
    -
    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -UtcOffsetProperty

    -
    -public UtcOffsetProperty(int hourOffset,
    -                         int minuteOffset)
    -
    -
    -
    - -

    -UtcOffsetProperty

    -
    -public UtcOffsetProperty(UtcOffset offset)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getHourOffset

    -
    -public int getHourOffset()
    -
    -
    -
    -
    -
    -
    - -

    -getMinuteOffset

    -
    -public int getMinuteOffset()
    -
    -
    -
    -
    -
    -
    - -

    -getOffset

    -
    -public UtcOffset getOffset()
    -
    -
    -
    -
    -
    -
    - -

    -setOffset

    -
    -public void setOffset(int hourOffset,
    -                      int minuteOffset)
    -
    -
    -
    -
    -
    -
    - -

    -setOffset

    -
    -public void setOffset(UtcOffset offset)
    -
    -
    -
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/ValuedProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/ValuedProperty.html deleted file mode 100644 index 522c895a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/ValuedProperty.html +++ /dev/null @@ -1,381 +0,0 @@ - - - - - - - -ValuedProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class ValuedProperty<T>

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<T>
    -
    -
    -
    Type Parameters:
    T - the value type (e.g. String)
    -
    -
    Direct Known Subclasses:
    DateTimeProperty, DurationProperty, IntegerProperty, RecurrenceProperty, TextProperty, Xml
    -
    -
    -
    -
    public class ValuedProperty<T>
    extends ICalProperty
    - - -

    -Represents a property whose data model consists of a single object (such as a - String). -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -protected  Tvalue - -
    -           
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - -
    -Constructor Summary
    ValuedProperty(T value) - -
    -          Creates a new valued property.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - TgetValue() - -
    -          Gets the value of this property.
    - voidsetValue(T value) - -
    -          Sets the value of this property.
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -value

    -
    -protected T value
    -
    -
    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -ValuedProperty

    -
    -public ValuedProperty(T value)
    -
    -
    Creates a new valued property. -

    -

    -
    Parameters:
    value - the property's value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public T getValue()
    -
    -
    Gets the value of this property. -

    -

    - -
    Returns:
    the value
    -
    -
    -
    - -

    -setValue

    -
    -public void setValue(T value)
    -
    -
    Sets the value of this property. -

    -

    -
    Parameters:
    value - the value
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Version.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Version.html deleted file mode 100644 index 7be69965..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Version.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - - -Version (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Version

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.Version
    -
    -
    -
    -
    public class Version
    extends ICalProperty
    - - -

    -

    - Specifies the min/max versions a consumer must support in order to - successfully parse the iCalendar object. -

    -

    - Examples: - -

    - //the default iCal version
    - Version version = Version.v2_0();
    - 
    - if (verison.isV2_0()) {
    -        //version is "2.0"
    - }
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.79-80
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Version(String version) - -
    -          Creates a new version property.
    Version(String minVersion, - String maxVersion) - -
    -          Creates a new version property.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetMaxVersion() - -
    -          Gets the maximum version that a consumer must support in order to - successfully parse the iCalendar object.
    - StringgetMinVersion() - -
    -          Gets the minimum version that a consumer must support in order to - successfully parse the iCalendar object.
    - booleanisV2_0() - -
    -          Determines if this version is the default iCalendar version.
    - voidsetMaxVersion(String maxVersion) - -
    -          Sets the maximum version that a consumer must support in order to - successfully parse the iCalendar object.
    - voidsetMinVersion(String minVersion) - -
    -          Sets the minimum version that a consumer must support in order to - successfully parse the iCalendar object.
    -static Versionv2_0() - -
    -          Creates a version property that is set to the default iCalendar version - (2.0).
    -protected  voidvalidate(List<ICalComponent> components, - List<String> warnings) - -
    -          Checks the property for data consistency problems or deviations from the - spec.
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Version

    -
    -public Version(String version)
    -
    -
    Creates a new version property. -

    -

    -
    Parameters:
    version - the version that a consumer must support in order to - successfully parse the iCalendar object
    -
    -
    - -

    -Version

    -
    -public Version(String minVersion,
    -               String maxVersion)
    -
    -
    Creates a new version property. -

    -

    -
    Parameters:
    minVersion - the minimum version that a consumer must support in - order to successfully parse the iCalendar object
    maxVersion - the maximum version that a consumer must support in - order to successfully parse the iCalendar object
    -
    - - - - - - - - -
    -Method Detail
    - -

    -v2_0

    -
    -public static Version v2_0()
    -
    -
    Creates a version property that is set to the default iCalendar version - (2.0). -

    -

    - -
    Returns:
    the property instance
    -
    -
    -
    - -

    -isV2_0

    -
    -public boolean isV2_0()
    -
    -
    Determines if this version is the default iCalendar version. -

    -

    - -
    Returns:
    true if the version is "2.0", false if not
    -
    -
    -
    - -

    -getMinVersion

    -
    -public String getMinVersion()
    -
    -
    Gets the minimum version that a consumer must support in order to - successfully parse the iCalendar object. -

    -

    - -
    Returns:
    the minimum version or null if not set
    -
    -
    -
    - -

    -setMinVersion

    -
    -public void setMinVersion(String minVersion)
    -
    -
    Sets the minimum version that a consumer must support in order to - successfully parse the iCalendar object. -

    -

    -
    Parameters:
    minVersion - the minimum version or null to remove
    -
    -
    -
    - -

    -getMaxVersion

    -
    -public String getMaxVersion()
    -
    -
    Gets the maximum version that a consumer must support in order to - successfully parse the iCalendar object. -

    -

    - -
    Returns:
    the maximum version or null if not set
    -
    -
    -
    - -

    -setMaxVersion

    -
    -public void setMaxVersion(String maxVersion)
    -
    -
    Sets the maximum version that a consumer must support in order to - successfully parse the iCalendar object. -

    -

    -
    Parameters:
    maxVersion - the maximum version (this field is required)
    -
    -
    -
    - -

    -validate

    -
    -protected void validate(List<ICalComponent> components,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalProperty
    -
    Checks the property for data consistency problems or deviations from the - spec. Meant to be overridden by child classes that wish to provide - validation logic. -

    -

    -
    Overrides:
    validate in class ICalProperty
    -
    -
    -
    Parameters:
    components - the hierarchy of components that the property belongs - to
    warnings - the list to add the warnings to
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/Xml.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/Xml.html deleted file mode 100644 index dd7bb8f7..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/Xml.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - -Xml (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property -
    -Class Xml

    -
    -java.lang.Object
    -  extended by biweekly.property.ICalProperty
    -      extended by biweekly.property.ValuedProperty<Document>
    -          extended by biweekly.property.Xml
    -
    -
    -
    -
    public class Xml
    extends ValuedProperty<Document>
    - - -

    -

    - Used for storing properties parsed from xCal documents whose XML namespaces - are not part of the xCal XML namespace. -

    -

    - Examples: - -

    - //creating a new property
    - Xml xml = new Xml("<company xmlns=\"http://example.com\"><ceo>John Doe</ceo><name>Acme Co</name></company>");
    - 
    - //getting the parsed DOM
    - org.w3c.dom.Document document = xml.getValue();
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 6321 p.17-8
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.ValuedProperty
    value
    - - - - - - - -
    Fields inherited from class biweekly.property.ICalProperty
    parameters
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Xml(Document document) - -
    -          Creates an XML property.
    Xml(Element element) - -
    -          Creates an XML property.
    Xml(String xml) - -
    -          Creates an XML property.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class biweekly.property.ValuedProperty
    getValue, setValue, validate
    - - - - - - - -
    Methods inherited from class biweekly.property.ICalProperty
    addParameter, getParameter, getParameters, getParameters, removeParameter, setParameter, setParameter, setParameters, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Xml

    -
    -public Xml(String xml)
    -    throws SAXException
    -
    -
    Creates an XML property. -

    -

    -
    Parameters:
    xml - the XML to use as the property's value -
    Throws: -
    SAXException - if the XML cannot be parsed
    -
    -
    - -

    -Xml

    -
    -public Xml(Element element)
    -
    -
    Creates an XML property. -

    -

    -
    Parameters:
    element - the XML element to use as the property's value (the - element is imported into an empty Document object)
    -
    -
    - -

    -Xml

    -
    -public Xml(Document document)
    -
    -
    Creates an XML property. -

    -

    -
    Parameters:
    document - the XML document to use as the property's value
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Action.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Action.html deleted file mode 100644 index 59f213a8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Action.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Action (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Action

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Action
    biweekly.component  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Action in biweekly.component
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return Action
    - ActionVAlarm.getAction() - -
    -          Gets the type of action to invoke when the alarm is triggered.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type Action
    - voidVAlarm.setAction(Action action) - -
    -          Sets the type of action to invoke when the alarm is triggered.
    -  -

    - - - - - - - - -
    Constructors in biweekly.component with parameters of type Action
    VAlarm(Action action, - Trigger trigger) - -
    -          Creates a new alarm.
    -  -

    - - - - - -
    -Uses of Action in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property that return Action
    -static ActionAction.audio() - -
    -          Creates an "audio" action property.
    -static ActionAction.display() - -
    -          Creates an "display" action property.
    -static ActionAction.email() - -
    -          Creates an "email" action property.
    -  -

    - - - - - -
    -Uses of Action in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Action
    -protected  ActionActionMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Attachment.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Attachment.html deleted file mode 100644 index 3f9a5b87..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Attachment.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Attachment (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Attachment

    -
    - - - - - - - - - - - - - -
    -Packages that use Attachment
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Attachment in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type Attachment
    - List<Attachment>VTodo.getAttachments() - -
    -          Gets any attachments that are associated with the to-do.
    - List<Attachment>VJournal.getAttachments() - -
    -          Gets any attachments that are associated with the journal entry.
    - List<Attachment>VEvent.getAttachments() - -
    -          Gets any attachments that are associated with the event.
    - List<Attachment>VAlarm.getAttachments() - -
    -          Gets any attachments that are associated with the alarm.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Attachment
    - voidVTodo.addAttachment(Attachment attachment) - -
    -          Adds an attachment to the to-do.
    - voidVJournal.addAttachment(Attachment attachment) - -
    -          Adds an attachment to the journal entry.
    - voidVEvent.addAttachment(Attachment attachment) - -
    -          Adds an attachment to the event.
    - voidVAlarm.addAttachment(Attachment attachment) - -
    -          Adds an attachment to the alarm.
    -static VAlarmVAlarm.audio(Trigger trigger, - Attachment sound) - -
    -          Creates an audio alarm.
    -  -

    - - - - - -
    -Uses of Attachment in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Attachment
    -protected  AttachmentAttachmentMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  AttachmentAttachmentMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type Attachment
    -protected  ICalDataTypeAttachmentMarshaller._dataType(Attachment property) - -
    -           
    -protected  voidAttachmentMarshaller._prepareParameters(Attachment property, - ICalParameters copy) - -
    -           
    -protected  JCalValueAttachmentMarshaller._writeJson(Attachment property) - -
    -           
    -protected  StringAttachmentMarshaller._writeText(Attachment property) - -
    -           
    -protected  voidAttachmentMarshaller._writeXml(Attachment property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Attendee.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Attendee.html deleted file mode 100644 index d25e2cb5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Attendee.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Attendee (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Attendee

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Attendee
    biweekly.component  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Attendee in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Attendee
    - AttendeeVTodo.addAttendee(String email) - -
    -          Adds a person who is involved in the to-do.
    - AttendeeVJournal.addAttendee(String email) - -
    -          Adds a person who is involved in the journal entry.
    - AttendeeVEvent.addAttendee(String email) - -
    -          Adds a person who is attending the event.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type Attendee
    - List<Attendee>VTodo.getAttendees() - -
    -          Gets the people who are involved in the to-do.
    - List<Attendee>VJournal.getAttendees() - -
    -          Gets the people who are involved in the journal entry.
    - List<Attendee>VFreeBusy.getAttendees() - -
    -          Gets the people who are involved in the free/busy entry.
    - List<Attendee>VEvent.getAttendees() - -
    -          Gets the people who are attending the event.
    - List<Attendee>VAlarm.getAttendees() - -
    -          Gets the people who will be emailed when the alarm fires (only applicable - for EMAIL alarms).
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Attendee
    - voidVTodo.addAttendee(Attendee attendee) - -
    -          Adds a person who is involved in the to-do.
    - voidVJournal.addAttendee(Attendee attendee) - -
    -          Adds a person who is involved in the journal entry.
    - voidVFreeBusy.addAttendee(Attendee attendee) - -
    -          Adds a person who is involved in the free/busy entry.
    - voidVEvent.addAttendee(Attendee attendee) - -
    -          Adds a person who is attending the event.
    - voidVAlarm.addAttendee(Attendee attendee) - -
    -          Adds a person who will be emailed when the alarm fires (only applicable - for EMAIL alarms).
    -  -

    - - - - - -
    -Uses of Attendee in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return Attendee
    -static AttendeeAttendee.email(String email) - -
    -          Creates an attendee property using an email address as its value.
    -  -

    - - - - - -
    -Uses of Attendee in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Attendee
    -protected  AttendeeAttendeeMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/CalendarScale.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/CalendarScale.html deleted file mode 100644 index 6f3e8371..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/CalendarScale.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.CalendarScale (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.CalendarScale

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use CalendarScale
    biweekly  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of CalendarScale in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return CalendarScale
    - CalendarScaleICalendar.getCalendarScale() - -
    -          Gets the calendar system that this iCalendar object uses.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type CalendarScale
    - voidICalendar.setCalendarScale(CalendarScale calendarScale) - -
    -          Sets the calendar system that this iCalendar object uses.
    -  -

    - - - - - -
    -Uses of CalendarScale in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return CalendarScale
    -static CalendarScaleCalendarScale.gregorian() - -
    -          Creates a new property whose value is set to "gregorian".
    -  -

    - - - - - -
    -Uses of CalendarScale in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return CalendarScale
    -protected  CalendarScaleCalendarScaleMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Categories.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Categories.html deleted file mode 100644 index cf80f530..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Categories.html +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Categories (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Categories

    -
    - - - - - - - - - - - - - -
    -Packages that use Categories
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Categories in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Categories
    - CategoriesVTodo.addCategories(List<String> categories) - -
    -          Adds a list of "tags" or "keywords" that describe the to-do.
    - CategoriesVJournal.addCategories(List<String> categories) - -
    -          Adds a list of "tags" or "keywords" that describe the journal entry.
    - CategoriesVEvent.addCategories(List<String> categories) - -
    -          Adds a list of "tags" or "keywords" that describe the event.
    - CategoriesVTodo.addCategories(String... categories) - -
    -          Adds a list of "tags" or "keywords" that describe the to-do.
    - CategoriesVJournal.addCategories(String... categories) - -
    -          Adds a list of "tags" or "keywords" that describe the journal entry.
    - CategoriesVEvent.addCategories(String... categories) - -
    -          Adds a list of "tags" or "keywords" that describe the event.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type Categories
    - List<Categories>VTodo.getCategories() - -
    -          Gets a list of "tags" or "keywords" that describe the to-do.
    - List<Categories>VJournal.getCategories() - -
    -          Gets a list of "tags" or "keywords" that describe the journal entry.
    - List<Categories>VEvent.getCategories() - -
    -          Gets a list of "tags" or "keywords" that describe the event.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Categories
    - voidVTodo.addCategories(Categories categories) - -
    -          Adds a list of "tags" or "keywords" that describe the to-do.
    - voidVJournal.addCategories(Categories categories) - -
    -          Adds a list of "tags" or "keywords" that describe the journal entry.
    - voidVEvent.addCategories(Categories categories) - -
    -          Adds a list of "tags" or "keywords" that describe the event.
    -  -

    - - - - - -
    -Uses of Categories in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Categories
    - CategoriesCategoriesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Classification.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Classification.html deleted file mode 100644 index 692001a4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Classification.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Classification (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Classification

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Classification
    biweekly.component  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Classification in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Classification
    - ClassificationVTodo.getClassification() - -
    -          Gets the level of sensitivity of the to-do data.
    - ClassificationVJournal.getClassification() - -
    -          Gets the level of sensitivity of the journal entry.
    - ClassificationVEvent.getClassification() - -
    -          Gets the level of sensitivity of the event data.
    - ClassificationVTodo.setClassification(String classification) - -
    -          Sets the level of sensitivity of the to-do data.
    - ClassificationVJournal.setClassification(String classification) - -
    -          Sets the level of sensitivity of the journal entry.
    - ClassificationVEvent.setClassification(String classification) - -
    -          Sets the level of sensitivity of the event data.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Classification
    - voidVTodo.setClassification(Classification classification) - -
    -          Sets the level of sensitivity of the to-do data.
    - voidVJournal.setClassification(Classification classification) - -
    -          Sets the level of sensitivity of the journal entry.
    - voidVEvent.setClassification(Classification classification) - -
    -          Sets the level of sensitivity of the event data.
    -  -

    - - - - - -
    -Uses of Classification in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property that return Classification
    -static ClassificationClassification.confidential() - -
    -          Creates a "confidential" classification property.
    -static ClassificationClassification.private_() - -
    -          Creates a "private" classification property.
    -static ClassificationClassification.public_() - -
    -          Creates a "public" classification property.
    -  -

    - - - - - -
    -Uses of Classification in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Classification
    -protected  ClassificationClassificationMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Comment.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Comment.html deleted file mode 100644 index 9b001db9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Comment.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Comment (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Comment

    -
    - - - - - - - - - - - - - -
    -Packages that use Comment
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Comment in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Comment
    - CommentVTodo.addComment(String comment) - -
    -          Adds a comment to the to-do.
    - CommentVJournal.addComment(String comment) - -
    -          Adds a comment to the journal entry.
    - CommentVFreeBusy.addComment(String comment) - -
    -          Adds a comment to the free/busy entry.
    - CommentVEvent.addComment(String comment) - -
    -          Adds a comment to the event.
    - CommentObservance.addComment(String comment) - -
    -          Adds a comment to the timezone observance.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type Comment
    - List<Comment>VTodo.getComments() - -
    -          Gets the comments attached to the to-do.
    - List<Comment>VJournal.getComments() - -
    -          Gets the comments attached to the journal entry.
    - List<Comment>VFreeBusy.getComments() - -
    -          Gets the comments attached to the free/busy entry.
    - List<Comment>VEvent.getComments() - -
    -          Gets the comments attached to the event.
    - List<Comment>Observance.getComments() - -
    -          Gets the comments attached to the timezone observance.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Comment
    - voidVTodo.addComment(Comment comment) - -
    -          Adds a comment to the to-do.
    - voidVJournal.addComment(Comment comment) - -
    -          Adds a comment to the journal entry.
    - voidVFreeBusy.addComment(Comment comment) - -
    -          Adds a comment to the free/busy entry.
    - voidVEvent.addComment(Comment comment) - -
    -          Adds a comment to the event.
    - voidObservance.addComment(Comment comment) - -
    -          Adds a comment to the timezone observance.
    -  -

    - - - - - -
    -Uses of Comment in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Comment
    -protected  CommentCommentMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Completed.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Completed.html deleted file mode 100644 index b80cb4aa..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Completed.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Completed (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Completed

    -
    - - - - - - - - - - - - - -
    -Packages that use Completed
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Completed in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return Completed
    - CompletedVTodo.getCompleted() - -
    -          Gets the date and time that the to-do was completed.
    - CompletedVTodo.setCompleted(Date completed) - -
    -          Sets the date and time that the to-do was completed.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type Completed
    - voidVTodo.setCompleted(Completed completed) - -
    -          Sets the date and time that the to-do was completed.
    -  -

    - - - - - -
    -Uses of Completed in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Completed
    -protected  CompletedCompletedMarshaller.newInstance(Date date) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Contact.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Contact.html deleted file mode 100644 index a4336542..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Contact.html +++ /dev/null @@ -1,314 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Contact (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Contact

    -
    - - - - - - - - - - - - - -
    -Packages that use Contact
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Contact in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Contact
    - ContactVTodo.addContact(String contact) - -
    -          Adds a contact to the to-do.
    - ContactVJournal.addContact(String contact) - -
    -          Adds a contact to the journal entry.
    - ContactVFreeBusy.addContact(String contact) - -
    -          Sets the contact for the free/busy entry.
    - ContactVEvent.addContact(String contact) - -
    -          Adds a contact to the event.
    - ContactVFreeBusy.getContact() - -
    -          Gets the contact associated with the free/busy entry.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type Contact
    - List<Contact>VTodo.getContacts() - -
    -          Gets the contacts associated with the to-do.
    - List<Contact>VJournal.getContacts() - -
    -          Gets the contacts associated with the journal entry.
    - List<Contact>VEvent.getContacts() - -
    -          Gets the contacts associated with the event.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Contact
    - voidVTodo.addContact(Contact contact) - -
    -          Adds a contact to the to-do.
    - voidVJournal.addContact(Contact contact) - -
    -          Adds a contact to the journal entry.
    - voidVEvent.addContact(Contact contact) - -
    -          Adds a contact to the event.
    - voidVFreeBusy.setContact(Contact contact) - -
    -          Sets the contact for the free/busy entry.
    -  -

    - - - - - -
    -Uses of Contact in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Contact
    -protected  ContactContactMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Created.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Created.html deleted file mode 100644 index 25336dfd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Created.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Created (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Created

    -
    - - - - - - - - - - - - - -
    -Packages that use Created
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Created in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Created
    - CreatedVTodo.getCreated() - -
    -          Gets the date-time that the to-do was initially created.
    - CreatedVJournal.getCreated() - -
    -          Gets the date-time that the journal entry was initially created.
    - CreatedVEvent.getCreated() - -
    -          Gets the date-time that the event was initially created.
    - CreatedVTodo.setCreated(Date created) - -
    -          Sets the date-time that the to-do was initially created.
    - CreatedVJournal.setCreated(Date created) - -
    -          Sets the date-time that the journal entry was initially created.
    - CreatedVEvent.setCreated(Date created) - -
    -          Sets the date-time that the event was initially created.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Created
    - voidVTodo.setCreated(Created created) - -
    -          Sets the date-time that the to-do was initially created.
    - voidVJournal.setCreated(Created created) - -
    -          Sets the date-time that the journal entry was initially created.
    - voidVEvent.setCreated(Created created) - -
    -          Sets the date-time that the event was initially created.
    -  -

    - - - - - -
    -Uses of Created in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Created
    -protected  CreatedCreatedMarshaller.newInstance(Date date) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateDue.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateDue.html deleted file mode 100644 index 521b44dd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateDue.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.DateDue (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.DateDue

    -
    - - - - - - - - - - - - - -
    -Packages that use DateDue
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DateDue in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return DateDue
    - DateDueVTodo.getDateDue() - -
    -          Gets the date that a to-do is due by.
    - DateDueVTodo.setDateDue(Date dateDue) - -
    -          Sets the date that a to-do is due by.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type DateDue
    - voidVTodo.setDateDue(DateDue dateDue) - -
    -          Sets the date that a to-do is due by.
    -  -

    - - - - - -
    -Uses of DateDue in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return DateDue
    -protected  DateDueDateDueMarshaller.newInstance(Date date, - boolean hasTime) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateEnd.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateEnd.html deleted file mode 100644 index 67a15f12..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateEnd.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.DateEnd (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.DateEnd

    -
    - - - - - - - - - - - - - -
    -Packages that use DateEnd
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DateEnd in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return DateEnd
    - DateEndVFreeBusy.getDateEnd() - -
    -          Gets the date that the free/busy entry ends.
    - DateEndVEvent.getDateEnd() - -
    -          Gets the date that the event ends.
    - DateEndVFreeBusy.setDateEnd(Date dateEnd) - -
    -          Sets the date that the free/busy entry ends.
    - DateEndVEvent.setDateEnd(Date dateEnd) - -
    -          Sets the date that the event ends.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type DateEnd
    - voidVFreeBusy.setDateEnd(DateEnd dateEnd) - -
    -          Sets the date that the free/busy entry ends.
    - voidVEvent.setDateEnd(DateEnd dateEnd) - -
    -          Sets the date that the event ends.
    -  -

    - - - - - -
    -Uses of DateEnd in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return DateEnd
    -protected  DateEndDateEndMarshaller.newInstance(Date date, - boolean hasTime) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateOrDateTimeProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateOrDateTimeProperty.html deleted file mode 100644 index 422f0ec3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateOrDateTimeProperty.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.DateOrDateTimeProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.DateOrDateTimeProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use DateOrDateTimeProperty
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DateOrDateTimeProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of DateOrDateTimeProperty in biweekly.property
    - classDateDue - -
    -           - Defines the date that a to-do task is due by.
    - classDateEnd - -
    -           - Defines the date that an event or free/busy component ends.
    - classDateStart - -
    -           - Defines the date that an event, free/busy component, or timezone component - starts.
    - classRecurrenceId - -
    -           - Records the original value of the DateStart property if a recurrence - instance has been modified.
    -  -

    - - - - - -
    -Uses of DateOrDateTimeProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Classes in biweekly.property.marshaller with type parameters of type DateOrDateTimeProperty
    - classDateOrDateTimePropertyMarshaller<T extends DateOrDateTimeProperty> - -
    -          Marshals properties that have either "date" or "date-time" values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateStart.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateStart.html deleted file mode 100644 index 21d5739c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateStart.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.DateStart (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.DateStart

    -
    - - - - - - - - - - - - - -
    -Packages that use DateStart
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DateStart in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return DateStart
    - DateStartVTodo.getDateStart() - -
    -          Gets the date that the to-do starts.
    - DateStartVJournal.getDateStart() - -
    -          Gets the date that the journal entry starts.
    - DateStartVFreeBusy.getDateStart() - -
    -          Gets the date that the free/busy entry starts.
    - DateStartVEvent.getDateStart() - -
    -          Gets the date that the event starts.
    - DateStartObservance.getDateStart() - -
    -          Gets the date that the timezone observance starts.
    - DateStartVTodo.setDateStart(Date dateStart) - -
    -          Sets the date that the to-do starts.
    - DateStartVJournal.setDateStart(Date dateStart) - -
    -          Sets the date that the journal entry starts.
    - DateStartVFreeBusy.setDateStart(Date dateStart) - -
    -          Sets the date that the free/busy entry starts.
    - DateStartVEvent.setDateStart(Date dateStart) - -
    -          Sets the date that the event starts (required if no Method - property is defined).
    - DateStartObservance.setDateStart(DateTimeComponents components) - -
    -          Sets the date that the timezone observance starts.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type DateStart
    - voidVTodo.setDateStart(DateStart dateStart) - -
    -          Sets the date that the to-do starts.
    - voidVJournal.setDateStart(DateStart dateStart) - -
    -          Sets the date that the journal entry starts.
    - voidVFreeBusy.setDateStart(DateStart dateStart) - -
    -          Sets the date that the free/busy entry starts.
    - voidVEvent.setDateStart(DateStart dateStart) - -
    -          Sets the date that the event starts (required if no Method - property is defined).
    - voidObservance.setDateStart(DateStart dateStart) - -
    -          Sets the date that the timezone observance starts.
    -  -

    - - - - - -
    -Uses of DateStart in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return DateStart
    -protected  DateStartDateStartMarshaller.newInstance(Date date, - boolean hasTime) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateTimeProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateTimeProperty.html deleted file mode 100644 index 23dbd347..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateTimeProperty.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.DateTimeProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.DateTimeProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use DateTimeProperty
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DateTimeProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of DateTimeProperty in biweekly.property
    - classCompleted - -
    -           - Defines the date and time that a to-do task was completed.
    - classCreated - -
    -           - Defines the date-time that the calendar information was initially created.
    - classDateTimeStamp - -
    -           - The meaning of this property varies depending on the state of the iCalendar - object: - - If a Method property exists: Defines the creation date of - the iCalendar object (not the creation date of the actual calendar data).
    - classLastModified - -
    -           - Defines the date and time that the calendar data in a component was last - changed.
    -  -

    - - - - - -
    -Uses of DateTimeProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Classes in biweekly.property.marshaller with type parameters of type DateTimeProperty
    - classDateTimePropertyMarshaller<T extends DateTimeProperty> - -
    -          Marshals properties that have "date-time" values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateTimeStamp.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateTimeStamp.html deleted file mode 100644 index 0188d1ff..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DateTimeStamp.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.DateTimeStamp (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.DateTimeStamp

    -
    - - - - - - - - - - - - - -
    -Packages that use DateTimeStamp
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DateTimeStamp in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return DateTimeStamp
    - DateTimeStampVTodo.getDateTimeStamp() - -
    -          Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information).
    - DateTimeStampVJournal.getDateTimeStamp() - -
    -          Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information).
    - DateTimeStampVFreeBusy.getDateTimeStamp() - -
    -          Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information).
    - DateTimeStampVEvent.getDateTimeStamp() - -
    -          Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information).
    - DateTimeStampVTodo.setDateTimeStamp(Date dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information).
    - DateTimeStampVJournal.setDateTimeStamp(Date dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information).
    - DateTimeStampVFreeBusy.setDateTimeStamp(Date dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information).
    - DateTimeStampVEvent.setDateTimeStamp(Date dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information).
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type DateTimeStamp
    - voidVTodo.setDateTimeStamp(DateTimeStamp dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information).
    - voidVJournal.setDateTimeStamp(DateTimeStamp dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information).
    - voidVFreeBusy.setDateTimeStamp(DateTimeStamp dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information).
    - voidVEvent.setDateTimeStamp(DateTimeStamp dateTimeStamp) - -
    -          Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information).
    -  -

    - - - - - -
    -Uses of DateTimeStamp in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return DateTimeStamp
    -protected  DateTimeStampDateTimeStampMarshaller.newInstance(Date date) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Description.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Description.html deleted file mode 100644 index 83101578..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Description.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Description (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Description

    -
    - - - - - - - - - - - - - -
    -Packages that use Description
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Description in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Description
    - DescriptionVJournal.addDescription(String description) - -
    -          Adds a detailed description to the journal entry.
    - DescriptionVTodo.getDescription() - -
    -          Gets a detailed description of the to-do.
    - DescriptionVEvent.getDescription() - -
    -          Gets a detailed description of the event.
    - DescriptionVAlarm.getDescription() - -
    -           - Gets a detailed description of the alarm.
    - DescriptionVTodo.setDescription(String description) - -
    -          Sets a detailed description of the to-do.
    - DescriptionVEvent.setDescription(String description) - -
    -          Sets a detailed description of the event.
    - DescriptionVAlarm.setDescription(String description) - -
    -           - Sets a detailed description of the alarm.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type Description
    - List<Description>VJournal.getDescriptions() - -
    -          Gets the detailed descriptions to the journal entry.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Description
    - voidVJournal.addDescription(Description description) - -
    -          Adds a detailed description to the journal entry.
    - voidVTodo.setDescription(Description description) - -
    -          Sets a detailed description of the to-do.
    - voidVEvent.setDescription(Description description) - -
    -          Sets a detailed description of the event.
    - voidVAlarm.setDescription(Description description) - -
    -           - Sets a detailed description of the alarm.
    -  -

    - - - - - -
    -Uses of Description in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Description
    -protected  DescriptionDescriptionMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DurationProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DurationProperty.html deleted file mode 100644 index 37e97b85..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/DurationProperty.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.DurationProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.DurationProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use DurationProperty
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DurationProperty in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return DurationProperty
    - DurationPropertyVTodo.getDuration() - -
    -          Gets the duration of the to-do.
    - DurationPropertyVEvent.getDuration() - -
    -          Gets the duration of the event.
    - DurationPropertyVAlarm.getDuration() - -
    -          Gets the length of the pause between alarm repetitions.
    - DurationPropertyVTodo.setDuration(Duration duration) - -
    -          Sets the duration of the to-do.
    - DurationPropertyVEvent.setDuration(Duration duration) - -
    -          Sets the duration of the event.
    - DurationPropertyVAlarm.setDuration(Duration duration) - -
    -          Sets the length of the pause between alarm repetitions.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type DurationProperty
    - voidVTodo.setDuration(DurationProperty duration) - -
    -          Sets the duration of the to-do.
    - voidVEvent.setDuration(DurationProperty duration) - -
    -          Sets the duration of the event.
    - voidVAlarm.setDuration(DurationProperty duration) - -
    -          Sets the length of the pause between alarm repetitions.
    -  -

    - - - - - -
    -Uses of DurationProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return DurationProperty
    -protected  DurationPropertyDurationPropertyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  DurationPropertyDurationPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type DurationProperty
    -protected  JCalValueDurationPropertyMarshaller._writeJson(DurationProperty property) - -
    -           
    -protected  StringDurationPropertyMarshaller._writeText(DurationProperty property) - -
    -           
    -protected  voidDurationPropertyMarshaller._writeXml(DurationProperty property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/EnumProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/EnumProperty.html deleted file mode 100644 index c80f90a3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/EnumProperty.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.EnumProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.EnumProperty

    -
    - - - - - - - - - -
    -Packages that use EnumProperty
    biweekly.property  
    -  -

    - - - - - -
    -Uses of EnumProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of EnumProperty in biweekly.property
    - classAction - -
    -           - Defines the type of action to invoke when an alarm is triggered.
    - classCalendarScale - -
    -           - Specifies the calendar system that this iCalendar object uses.
    - classClassification - -
    -           - Defines the level of sensitivity of the iCalendar data.
    - classStatus - -
    -           - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    - classTransparency - -
    -           - Defines whether an event is visible to free/busy time searches.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ExceptionDates.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ExceptionDates.html deleted file mode 100644 index 137464e4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ExceptionDates.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.ExceptionDates (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.ExceptionDates

    -
    - - - - - - - - - - - - - -
    -Packages that use ExceptionDates
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ExceptionDates in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type ExceptionDates
    - List<ExceptionDates>VTodo.getExceptionDates() - -
    -          Gets the list of exceptions to the recurrence rule defined in the to-do - (if one is defined).
    - List<ExceptionDates>VJournal.getExceptionDates() - -
    -          Gets the list of exceptions to the recurrence rule defined in the journal - entry (if one is defined).
    - List<ExceptionDates>VEvent.getExceptionDates() - -
    -          Gets the list of exceptions to the recurrence rule defined in the event - (if one is defined).
    - List<ExceptionDates>Observance.getExceptionDates() - -
    -          Gets the list of exceptions to the timezone observance.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type ExceptionDates
    - voidVTodo.addExceptionDates(ExceptionDates exceptionDates) - -
    -          Adds a list of exceptions to the recurrence rule defined in the to-do (if - one is defined).
    - voidVJournal.addExceptionDates(ExceptionDates exceptionDates) - -
    -          Adds a list of exceptions to the recurrence rule defined in the journal - entry (if one is defined).
    - voidVEvent.addExceptionDates(ExceptionDates exceptionDates) - -
    -          Adds a list of exceptions to the recurrence rule defined in the event (if - one is defined).
    - voidObservance.addExceptionDates(ExceptionDates exceptionDates) - -
    -          Adds a list of exceptions to the timezone observance.
    -  -

    - - - - - -
    -Uses of ExceptionDates in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ExceptionDates
    -protected  ExceptionDatesExceptionDatesMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  ExceptionDatesExceptionDatesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type ExceptionDates
    -protected  ICalDataTypeExceptionDatesMarshaller._dataType(ExceptionDates property) - -
    -           
    -protected  JCalValueExceptionDatesMarshaller._writeJson(ExceptionDates property) - -
    -           
    -protected  voidExceptionDatesMarshaller._writeXml(ExceptionDates property, - XCalElement element) - -
    -           
    -protected  StringExceptionDatesMarshaller.writeValue(ExceptionDates property, - Date value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ExceptionRule.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ExceptionRule.html deleted file mode 100644 index dce54c80..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ExceptionRule.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.ExceptionRule (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.ExceptionRule

    -
    - - - - - - - - - - - - - -
    -Packages that use ExceptionRule
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ExceptionRule in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return ExceptionRule
    - ExceptionRuleVTodo.addExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    - ExceptionRuleVJournal.addExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    - ExceptionRuleVEvent.addExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type ExceptionRule
    - List<ExceptionRule>VTodo.getExceptionRules() - -
    -           - Gets the exceptions for the RecurrenceRule property.
    - List<ExceptionRule>VJournal.getExceptionRules() - -
    -           - Gets the exceptions for the RecurrenceRule property.
    - List<ExceptionRule>VEvent.getExceptionRules() - -
    -           - Gets the exceptions for the RecurrenceRule property.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type ExceptionRule
    - voidVTodo.addExceptionRule(ExceptionRule exceptionRule) - -
    -           - Adds an exception for the RecurrenceRule property.
    - voidVJournal.addExceptionRule(ExceptionRule exceptionRule) - -
    -           - Adds an exception for the RecurrenceRule property.
    - voidVEvent.addExceptionRule(ExceptionRule exceptionRule) - -
    -           - Adds an exception for the RecurrenceRule property.
    -  -

    - - - - - -
    -Uses of ExceptionRule in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ExceptionRule
    -protected  ExceptionRuleExceptionRuleMarshaller.newInstance(Recurrence recur) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/FreeBusy.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/FreeBusy.html deleted file mode 100644 index b4cf1c12..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/FreeBusy.html +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.FreeBusy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.FreeBusy

    -
    - - - - - - - - - - - - - -
    -Packages that use FreeBusy
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of FreeBusy in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return FreeBusy
    - FreeBusyVFreeBusy.addFreeBusy(FreeBusyType type, - Date start, - Date end) - -
    -          Adds a single time period for which the person is free or busy (for - example, "free" between 1pm-3pm).
    - FreeBusyVFreeBusy.addFreeBusy(FreeBusyType type, - Date start, - Duration duration) - -
    -          Adds a single time period for which the person is free or busy (for - example, "free" for 2 hours after 1pm).
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type FreeBusy
    - List<FreeBusy>VFreeBusy.getFreeBusy() - -
    -          Gets the person's availabilities over certain time periods (for example, - "free" between 1pm-3pm, but "busy" between 3pm-4pm).
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type FreeBusy
    - voidVFreeBusy.addFreeBusy(FreeBusy freeBusy) - -
    -          Adds a list of time periods for which the person is free or busy (for - example, "free" between 1pm-3pm and 4pm-5pm).
    -  -

    - - - - - -
    -Uses of FreeBusy in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return FreeBusy
    -protected  FreeBusyFreeBusyMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  FreeBusyFreeBusyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type FreeBusy
    -protected  JCalValueFreeBusyMarshaller._writeJson(FreeBusy property) - -
    -           
    -protected  StringFreeBusyMarshaller._writeText(FreeBusy property) - -
    -           
    -protected  voidFreeBusyMarshaller._writeXml(FreeBusy property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Geo.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Geo.html deleted file mode 100644 index 88e93b15..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Geo.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Geo (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Geo

    -
    - - - - - - - - - - - - - -
    -Packages that use Geo
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Geo in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return Geo
    - GeoVTodo.getGeo() - -
    -          Gets a set of geographical coordinates.
    - GeoVEvent.getGeo() - -
    -          Gets a set of geographical coordinates.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Geo
    - voidVTodo.setGeo(Geo geo) - -
    -          Sets a set of geographical coordinates.
    - voidVEvent.setGeo(Geo geo) - -
    -          Sets a set of geographical coordinates.
    -  -

    - - - - - -
    -Uses of Geo in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Geo
    -protected  GeoGeoMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  GeoGeoMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  GeoGeoMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type Geo
    -protected  JCalValueGeoMarshaller._writeJson(Geo property) - -
    -           
    -protected  StringGeoMarshaller._writeText(Geo property) - -
    -           
    -protected  voidGeoMarshaller._writeXml(Geo property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ICalProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ICalProperty.html deleted file mode 100644 index 6e380e25..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ICalProperty.html +++ /dev/null @@ -1,1280 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.ICalProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.ICalProperty

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ICalProperty
    biweekly  
    biweekly.component  
    biweekly.component.marshaller  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return ICalProperty
    - ICalPropertyValidationWarnings.WarningsGroup.getProperty() - -
    -          Gets the property object that caused the validation warnings.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Method parameters in biweekly with type arguments of type ICalProperty
    - List<ValidationWarnings.WarningsGroup>ValidationWarnings.getByProperty(Class<? extends ICalProperty> propertyClass) - -
    -          Gets all validation warnings of a given property.
    - Biweekly.ParserChainTextReaderBiweekly.ParserChainTextReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainTextStringBiweekly.ParserChainTextString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlStringBiweekly.ParserChainXmlString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlReaderBiweekly.ParserChainXmlReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlDocumentBiweekly.ParserChainXmlDocument.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainJsonReaderBiweekly.ParserChainJsonReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainJsonStringBiweekly.ParserChainJsonString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    -  -

    - - - - - - - - -
    Constructors in biweekly with parameters of type ICalProperty
    ValidationWarnings.WarningsGroup(ICalProperty property, - List<ICalComponent> componentHierarchy, - List<String> messages) - -
    -          Creates a new set of validation warnings for a property.
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Fields in biweekly.component with type parameters of type ICalProperty
    -protected  ListMultimap<Class<? extends ICalProperty>,ICalProperty>ICalComponent.properties - -
    -           
    -protected  ListMultimap<Class<? extends ICalProperty>,ICalProperty>ICalComponent.properties - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with type parameters of type ICalProperty
    - - - - - -
    -<T extends ICalProperty> -
    -List<T>
    -
    ICalComponent.getProperties(Class<T> clazz) - -
    -          Gets all properties of a given class.
    - - - - - -
    -<T extends ICalProperty> -
    -T
    -
    ICalComponent.getProperty(Class<T> clazz) - -
    -          Gets the first property of a given class.
    - - - - - -
    -<T extends ICalProperty> -
    -void
    -
    ICalComponent.setProperty(Class<T> clazz, - T property) - -
    -          Replaces all existing properties of the given class with a single - property instance.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type ICalProperty
    - ListMultimap<Class<? extends ICalProperty>,ICalProperty>ICalComponent.getProperties() - -
    -          Gets all the properties associated with this component.
    - ListMultimap<Class<? extends ICalProperty>,ICalProperty>ICalComponent.getProperties() - -
    -          Gets all the properties associated with this component.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type ICalProperty
    - voidICalComponent.addProperty(ICalProperty property) - -
    -          Adds a property to this component.
    - voidICalComponent.setProperty(ICalProperty property) - -
    -          Replaces all existing properties of the given class with a single - property instance.
    -  -

    - - - - - - - - - -
    Method parameters in biweekly.component with type arguments of type ICalProperty
    - voidICalComponent.removeProperties(Class<? extends ICalProperty> clazz) - -
    -          Removes properties from the iCalendar object.
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly.component.marshaller
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component.marshaller that return types with arguments of type ICalProperty
    - List<ICalProperty>ICalComponentMarshaller.getProperties(T component) - -
    -          Gets the properties to marshal.
    - List<ICalProperty>VFreeBusyMarshaller.getProperties(VFreeBusy component) - -
    -           
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly.io
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io that return types with arguments of type ICalProperty
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(Class<? extends ICalProperty> clazz) - -
    -          Gets a property marshaller by class.
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(ICalProperty property) - -
    -          Gets the appropriate property marshaller for a given property instance.
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(QName qname) - -
    -          Gets a property marshaller by XML local name and namespace.
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(String propertyName) - -
    -          Gets a property marshaller by name.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io with parameters of type ICalProperty
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(ICalProperty property) - -
    -          Gets the appropriate property marshaller for a given property instance.
    -  -

    - - - - - - - - - - - - - - - - - -
    Method parameters in biweekly.io with type arguments of type ICalProperty
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(Class<? extends ICalProperty> clazz) - -
    -          Gets a property marshaller by class.
    - voidICalMarshallerRegistrar.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - voidICalMarshallerRegistrar.unregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Unregisters a property marshaller
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly.io.json
    -  -

    - - - - - - - - - - - - - -
    Method parameters in biweekly.io.json with type arguments of type ICalProperty
    - voidJCalWriter.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidJCalReader.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly.io.text
    -  -

    - - - - - - - - - - - - - -
    Method parameters in biweekly.io.text with type arguments of type ICalProperty
    - voidICalWriter.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidICalReader.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly.io.xml
    -  -

    - - - - - - - - - -
    Method parameters in biweekly.io.xml with type arguments of type ICalProperty
    - voidXCalDocument.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of ICalProperty in biweekly.property
    - classAction - -
    -           - Defines the type of action to invoke when an alarm is triggered.
    - classAttachment - -
    -           - Represents a binary resource that is associated with an event, to-do, journal - entry, or alarm.
    - classAttendee - -
    -           - Defines an attendee (such as a person attending an event).
    - classCalendarScale - -
    -           - Specifies the calendar system that this iCalendar object uses.
    - classCategories - -
    -           - Defines a list of "tags" or "keywords" that describe the component.
    - classClassification - -
    -           - Defines the level of sensitivity of the iCalendar data.
    - classComment - -
    -           - Defines a free-text comment to be read by the user.
    - classCompleted - -
    -           - Defines the date and time that a to-do task was completed.
    - classContact - -
    -           - Defines contact information for a person or other entity (for example, the - name of a business and its phone number).
    - classCreated - -
    -           - Defines the date-time that the calendar information was initially created.
    - classDateDue - -
    -           - Defines the date that a to-do task is due by.
    - classDateEnd - -
    -           - Defines the date that an event or free/busy component ends.
    - classDateOrDateTimeProperty - -
    -          Represents a property whose value is a date or a date-time.
    - classDateStart - -
    -           - Defines the date that an event, free/busy component, or timezone component - starts.
    - classDateTimeProperty - -
    -          Represents a property whose value is a date-time.
    - classDateTimeStamp - -
    -           - The meaning of this property varies depending on the state of the iCalendar - object: - - If a Method property exists: Defines the creation date of - the iCalendar object (not the creation date of the actual calendar data).
    - classDescription - -
    -           - A detailed description of the component that this property belongs to.
    - classDurationProperty - -
    -           - Defines a duration of time (for example, "2 hours and 30 minutes").
    - classEnumProperty - -
    -          Parent class for properties that have a defined set of acceptable values (for - example, Action).
    - classExceptionDates - -
    -           - Defines a list of exceptions to the recurrence rule defined in a component.
    - classExceptionRule - -
    -           - Defines an exception to a RecurrenceRule.
    - classFreeBusy - -
    -           - Defines a person's availability over certain time periods (for example, - "busy" between 1pm-3pm and 4pm-5pm).
    - classGeo - -
    -           - Defines a set of geographical coordinates.
    - classIntegerProperty - -
    -          Represents a property whose value is an integer.
    - classLastModified - -
    -           - Defines the date and time that the calendar data in a component was last - changed.
    - classListProperty<T> - -
    -          Represents a property whose value is a list of values.
    - classLocation - -
    -           - Defines the physical location of an event.
    - classMethod - -
    -           - Specifies the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    - classOrganizer - -
    -           - Defines an organizer.
    - classPercentComplete - -
    -           - Defines a to-do task's level of completion.
    - classPriority - -
    -           - Defines the priority of an event or to-do task.
    - classProductId - -
    -           - Identifies the application that created the iCalendar object.
    - classRawProperty - -
    -          A property that does not have a marshaller associated with it.
    - classRecurrenceDates - -
    -           - Defines a list of dates or periods that help define a recurrence rule.
    - classRecurrenceId - -
    -           - Records the original value of the DateStart property if a recurrence - instance has been modified.
    - classRecurrenceProperty - -
    -          Defines a property whose value is a recurrence rule.
    - classRecurrenceRule - -
    -           - Defines how often a component repeats.
    - classRelatedTo - -
    -           - Defines a relationship between the component that this property belongs to - and another component.
    - classRepeat - -
    -           - Defines the number of times an alarm should be repeated after its initial - trigger.
    - classRequestStatus - -
    -           - Represents a response to a scheduling request, describing whether the request - was successfully processed or not.
    - classResources - -
    -           - Defines a list of resources that are needed for an event or to-do task (for - example a projector or DVD player).
    - classSequence - -
    -           - Defines a revision number for an event, to-do task, or journal entry.
    - classStatus - -
    -           - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    - classSummary - -
    -           - Defines a short, one line summary of the component that this property belongs - to.
    - classTextProperty - -
    -          Represents a property whose value is a plain-text string.
    - classTimezoneId - -
    -           - Defines a unique identifier for a VTimezone component.
    - classTimezoneName - -
    -           - Defines a traditional, non-standard name for a timezone observance (for - example, "Eastern Standard Time" for standard time on the US east coast).
    - classTimezoneOffsetFrom - -
    -           - Defines the timezone offset that was in use before a timezone observance.
    - classTimezoneOffsetTo - -
    -           - Defines the timezone offset that is currently in use in a timezone - observance.
    - classTimezoneUrl - -
    -           - Defines a URL that points to an iCalendar object that contains further - information on a timezone.
    - classTransparency - -
    -           - Defines whether an event is visible to free/busy time searches.
    - classTrigger - -
    -           - Defines when an alarm will be triggered.
    - classUid - -
    -           - Defines a unique identifier for a component.
    - classUrl - -
    -           - Points to a resource that contains additional information about a component.
    - classUtcOffsetProperty - -
    -          Represents a property whose value is a timezone offset.
    - classValuedProperty<T> - -
    -          Represents a property whose data model consists of a single object (such as a - String).
    - classVersion - -
    -           - Specifies the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    - classXml - -
    -           - Used for storing properties parsed from xCal documents whose XML namespaces - are not part of the xCal XML namespace.
    -  -

    - - - - - -
    -Uses of ICalProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Classes in biweekly.property.marshaller with type parameters of type ICalProperty
    - classICalPropertyMarshaller<T extends ICalProperty> - -
    -          Base class for iCalendar property marshallers.
    -static classICalPropertyMarshaller.Result<T extends ICalProperty> - -
    -          Represents the result of an unmarshal operation.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/IntegerProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/IntegerProperty.html deleted file mode 100644 index 106361ef..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/IntegerProperty.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.IntegerProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.IntegerProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use IntegerProperty
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of IntegerProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of IntegerProperty in biweekly.property
    - classPercentComplete - -
    -           - Defines a to-do task's level of completion.
    - classPriority - -
    -           - Defines the priority of an event or to-do task.
    - classRepeat - -
    -           - Defines the number of times an alarm should be repeated after its initial - trigger.
    - classSequence - -
    -           - Defines a revision number for an event, to-do task, or journal entry.
    -  -

    - - - - - -
    -Uses of IntegerProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Classes in biweekly.property.marshaller with type parameters of type IntegerProperty
    - classIntegerPropertyMarshaller<T extends IntegerProperty> - -
    -          Marshals properties that have integer values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/LastModified.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/LastModified.html deleted file mode 100644 index 3f771f43..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/LastModified.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.LastModified (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.LastModified

    -
    - - - - - - - - - - - - - -
    -Packages that use LastModified
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of LastModified in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return LastModified
    - LastModifiedVTodo.getLastModified() - -
    -          Gets the date-time that the to-do was last changed.
    - LastModifiedVTimezone.getLastModified() - -
    -          Gets the date-time that the timezone data was last changed.
    - LastModifiedVJournal.getLastModified() - -
    -          Gets the date-time that the journal entry was last changed.
    - LastModifiedVEvent.getLastModified() - -
    -          Gets the date-time that the event was last changed.
    - LastModifiedVTodo.setLastModified(Date lastModified) - -
    -          Sets the date-time that the to-do was last changed.
    - LastModifiedVTimezone.setLastModified(Date lastModified) - -
    -          Sets the date-time that the timezone data was last changed.
    - LastModifiedVJournal.setLastModified(Date lastModified) - -
    -          Sets the date-time that the journal entry was last changed.
    - LastModifiedVEvent.setLastModified(Date lastModified) - -
    -          Sets the date-time that the event was last changed.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type LastModified
    - voidVTodo.setLastModified(LastModified lastModified) - -
    -          Sets the date-time that the to-do was last changed.
    - voidVTimezone.setLastModified(LastModified lastModified) - -
    -          Sets the date-time that the timezone data was last changed.
    - voidVJournal.setLastModified(LastModified lastModified) - -
    -          Sets the date-time that the journal entry was last changed.
    - voidVEvent.setLastModified(LastModified lastModified) - -
    -          Sets the date-time that event was last changed.
    -  -

    - - - - - -
    -Uses of LastModified in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return LastModified
    -protected  LastModifiedLastModifiedMarshaller.newInstance(Date date) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ListProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ListProperty.html deleted file mode 100644 index e055cda3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ListProperty.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.ListProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.ListProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use ListProperty
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ListProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - -
    Subclasses of ListProperty in biweekly.property
    - classCategories - -
    -           - Defines a list of "tags" or "keywords" that describe the component.
    - classExceptionDates - -
    -           - Defines a list of exceptions to the recurrence rule defined in a component.
    - classResources - -
    -           - Defines a list of resources that are needed for an event or to-do task (for - example a projector or DVD player).
    -  -

    - - - - - -
    -Uses of ListProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Classes in biweekly.property.marshaller with type parameters of type ListProperty
    - classListPropertyMarshaller<T extends ListProperty<V>,V> - -
    -          Marshals properties that contain a list of values.
    - classTextListPropertyMarshaller<T extends ListProperty<String>> - -
    -          Marshals properties that have a list of text values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Location.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Location.html deleted file mode 100644 index 94283a1d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Location.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Location (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Location

    -
    - - - - - - - - - - - - - -
    -Packages that use Location
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Location in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Location
    - LocationVTodo.getLocation() - -
    -          Gets the physical location of the to-do.
    - LocationVEvent.getLocation() - -
    -          Gets the physical location of the event.
    - LocationVTodo.setLocation(String location) - -
    -          Sets the physical location of the to-do.
    - LocationVEvent.setLocation(String location) - -
    -          Sets the physical location of the event.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Location
    - voidVTodo.setLocation(Location location) - -
    -          Sets the physical location of the to-do.
    - voidVEvent.setLocation(Location location) - -
    -          Sets the physical location of the event.
    -  -

    - - - - - -
    -Uses of Location in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Location
    -protected  LocationLocationMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Method.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Method.html deleted file mode 100644 index ac1411e0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Method.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Method (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Method

    -
    - - - - - - - - - - - - - -
    -Packages that use Method
    biweekly  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Method in biweekly
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly that return Method
    - MethodICalendar.getMethod() - -
    -          Gets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    - MethodICalendar.setMethod(String method) - -
    -          Sets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type Method
    - voidICalendar.setMethod(Method method) - -
    -          Sets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    -  -

    - - - - - -
    -Uses of Method in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Method
    -protected  MethodMethodMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Organizer.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Organizer.html deleted file mode 100644 index 7fe095ed..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Organizer.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Organizer (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Organizer

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Organizer
    biweekly.component  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Organizer in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Organizer
    - OrganizerVTodo.getOrganizer() - -
    -          Gets the organizer of the to-do.
    - OrganizerVJournal.getOrganizer() - -
    -          Gets the organizer of the journal entry.
    - OrganizerVFreeBusy.getOrganizer() - -
    -          Gets the person requesting the free/busy time.
    - OrganizerVEvent.getOrganizer() - -
    -          Gets the organizer of the event.
    - OrganizerVTodo.setOrganizer(String email) - -
    -          Sets the organizer of the to-do.
    - OrganizerVJournal.setOrganizer(String email) - -
    -          Sets the organizer of the journal entry.
    - OrganizerVFreeBusy.setOrganizer(String email) - -
    -          Sets the person requesting the free/busy time.
    - OrganizerVEvent.setOrganizer(String email) - -
    -          Sets the organizer of the event.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Organizer
    - voidVTodo.setOrganizer(Organizer organizer) - -
    -          Sets the organizer of the to-do.
    - voidVJournal.setOrganizer(Organizer organizer) - -
    -          Sets the organizer of the journal entry.
    - voidVFreeBusy.setOrganizer(Organizer organizer) - -
    -          Sets the person requesting the free/busy time.
    - voidVEvent.setOrganizer(Organizer organizer) - -
    -          Sets the organizer of the event.
    -  -

    - - - - - -
    -Uses of Organizer in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return Organizer
    -static OrganizerOrganizer.email(String email) - -
    -          Creates an organizer property using an email address as its value.
    -  -

    - - - - - -
    -Uses of Organizer in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Organizer
    -protected  OrganizerOrganizerMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/PercentComplete.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/PercentComplete.html deleted file mode 100644 index 6d8f0435..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/PercentComplete.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.PercentComplete (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.PercentComplete

    -
    - - - - - - - - - - - - - -
    -Packages that use PercentComplete
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of PercentComplete in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return PercentComplete
    - PercentCompleteVTodo.getPercentComplete() - -
    -          Gets the amount that the to-do task has been completed.
    - PercentCompleteVTodo.setPercentComplete(Integer percent) - -
    -          Sets the amount that the to-do task has been completed.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type PercentComplete
    - voidVTodo.setPercentComplete(PercentComplete percentComplete) - -
    -          Sets the amount that the to-do task has been completed.
    -  -

    - - - - - -
    -Uses of PercentComplete in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return PercentComplete
    -protected  PercentCompletePercentCompleteMarshaller.newInstance(Integer value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Priority.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Priority.html deleted file mode 100644 index 774c6b17..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Priority.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Priority (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Priority

    -
    - - - - - - - - - - - - - -
    -Packages that use Priority
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Priority in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Priority
    - PriorityVTodo.getPriority() - -
    -          Gets the priority of the to-do.
    - PriorityVEvent.getPriority() - -
    -          Gets the priority of the event.
    - PriorityVTodo.setPriority(Integer priority) - -
    -          Sets the priority of the to-do.
    - PriorityVEvent.setPriority(Integer priority) - -
    -          Sets the priority of the event.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Priority
    - voidVTodo.setPriority(Priority priority) - -
    -          Sets the priority of the to-do.
    - voidVEvent.setPriority(Priority priority) - -
    -          Sets the priority of the event.
    -  -

    - - - - - -
    -Uses of Priority in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Priority
    -protected  PriorityPriorityMarshaller.newInstance(Integer value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ProductId.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ProductId.html deleted file mode 100644 index 2119395e..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ProductId.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.ProductId (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.ProductId

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use ProductId
    biweekly  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ProductId in biweekly
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly that return ProductId
    - ProductIdICalendar.getProductId() - -
    -          Gets the name of the application that created the iCalendar object.
    - ProductIdICalendar.setProductId(String prodId) - -
    -          Sets the application that created the iCalendar object.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type ProductId
    - voidICalendar.setProductId(ProductId prodId) - -
    -          Sets the name of the application that created the iCalendar object.
    -  -

    - - - - - -
    -Uses of ProductId in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return ProductId
    -static ProductIdProductId.biweekly() - -
    -          Creates a new product identifier property that represents this library.
    -  -

    - - - - - -
    -Uses of ProductId in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ProductId
    -protected  ProductIdProductIdMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RawProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RawProperty.html deleted file mode 100644 index 6c5a4c25..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RawProperty.html +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.RawProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.RawProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use RawProperty
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of RawProperty in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return RawProperty
    - RawPropertyICalComponent.addExperimentalProperty(String name, - ICalDataType dataType, - String value) - -
    -          Adds an experimental property to this component.
    - RawPropertyICalComponent.addExperimentalProperty(String name, - String value) - -
    -          Adds an experimental property to this component.
    - RawPropertyICalComponent.getExperimentalProperty(String name) - -
    -          Gets the first experimental property with a given name.
    - RawPropertyICalComponent.setExperimentalProperty(String name, - ICalDataType dataType, - String value) - -
    -          Adds an experimental property to this component, removing all existing - properties that have the same name.
    - RawPropertyICalComponent.setExperimentalProperty(String name, - String value) - -
    -          Adds an experimental property to this component, removing all existing - properties that have the same name.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type RawProperty
    - List<RawProperty>ICalComponent.getExperimentalProperties() - -
    -          Gets all experimental properties associated with this component.
    - List<RawProperty>ICalComponent.getExperimentalProperties(String name) - -
    -          Gets all experimental properties with a given name.
    -  -

    - - - - - -
    -Uses of RawProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return RawProperty
    -protected  RawPropertyRawPropertyMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RawPropertyRawPropertyMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type RawProperty
    -protected  ICalDataTypeRawPropertyMarshaller._dataType(RawProperty property) - -
    -           
    -protected  StringRawPropertyMarshaller._writeText(RawProperty property) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceDates.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceDates.html deleted file mode 100644 index a06d78d5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceDates.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.RecurrenceDates (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.RecurrenceDates

    -
    - - - - - - - - - - - - - -
    -Packages that use RecurrenceDates
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of RecurrenceDates in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type RecurrenceDates
    - List<RecurrenceDates>VTodo.getRecurrenceDates() - -
    -          Gets the list of dates/periods that help define the recurrence rule of - this to-do (if one is defined).
    - List<RecurrenceDates>VJournal.getRecurrenceDates() - -
    -          Gets the list of dates/periods that help define the recurrence rule of - this journal entry (if one is defined).
    - List<RecurrenceDates>VEvent.getRecurrenceDates() - -
    -          Gets the list of dates/periods that help define the recurrence rule of - this event (if one is defined).
    - List<RecurrenceDates>Observance.getRecurrenceDates() - -
    -          Gets the list of dates/periods that help define the recurrence rule of - this timezone observance (if one is defined).
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type RecurrenceDates
    - voidVTodo.addRecurrenceDates(RecurrenceDates recurrenceDates) - -
    -          Adds a list of dates/periods that help define the recurrence rule of this - to-do (if one is defined).
    - voidVJournal.addRecurrenceDates(RecurrenceDates recurrenceDates) - -
    -          Adds a list of dates/periods that help define the recurrence rule of this - journal entry (if one is defined).
    - voidVEvent.addRecurrenceDates(RecurrenceDates recurrenceDates) - -
    -          Adds a list of dates/periods that help define the recurrence rule of this - event (if one is defined).
    - voidObservance.addRecurrenceDates(RecurrenceDates recurrenceDates) - -
    -          Adds a list of dates/periods that help define the recurrence rule of this - timezone observance (if one is defined).
    -  -

    - - - - - -
    -Uses of RecurrenceDates in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return RecurrenceDates
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RecurrenceDatesRecurrenceDatesMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type RecurrenceDates
    -protected  ICalDataTypeRecurrenceDatesMarshaller._dataType(RecurrenceDates property) - -
    -           
    -protected  JCalValueRecurrenceDatesMarshaller._writeJson(RecurrenceDates property) - -
    -           
    -protected  StringRecurrenceDatesMarshaller._writeText(RecurrenceDates property) - -
    -           
    -protected  voidRecurrenceDatesMarshaller._writeXml(RecurrenceDates property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceId.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceId.html deleted file mode 100644 index d41edd50..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceId.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.RecurrenceId (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.RecurrenceId

    -
    - - - - - - - - - - - - - -
    -Packages that use RecurrenceId
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of RecurrenceId in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return RecurrenceId
    - RecurrenceIdVTodo.getRecurrenceId() - -
    -          Gets the original value of the DateStart property if the to-do is - recurring and has been modified.
    - RecurrenceIdVJournal.getRecurrenceId() - -
    -          Gets the original value of the DateStart property if the event is - recurring and has been modified.
    - RecurrenceIdVEvent.getRecurrenceId() - -
    -          Gets the original value of the DateStart property if the event is - recurring and has been modified.
    - RecurrenceIdVTodo.setRecurrenceId(Date originalStartDate) - -
    -          Sets the original value of the DateStart property if the to-do is - recurring and has been modified.
    - RecurrenceIdVJournal.setRecurrenceId(Date originalStartDate) - -
    -          Sets the original value of the DateStart property if the journal - entry is recurring and has been modified.
    - RecurrenceIdVEvent.setRecurrenceId(Date originalStartDate) - -
    -          Sets the original value of the DateStart property if the event is - recurring and has been modified.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type RecurrenceId
    - voidVTodo.setRecurrenceId(RecurrenceId recurrenceId) - -
    -          Sets the original value of the DateStart property if the to-do is - recurring and has been modified.
    - voidVJournal.setRecurrenceId(RecurrenceId recurrenceId) - -
    -          Sets the original value of the DateStart property if the event is - recurring and has been modified.
    - voidVEvent.setRecurrenceId(RecurrenceId recurrenceId) - -
    -          Sets the original value of the DateStart property if the event is - recurring and has been modified.
    -  -

    - - - - - -
    -Uses of RecurrenceId in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return RecurrenceId
    -protected  RecurrenceIdRecurrenceIdMarshaller.newInstance(Date date, - boolean hasTime) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceProperty.html deleted file mode 100644 index 712f5392..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceProperty.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.RecurrenceProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.RecurrenceProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use RecurrenceProperty
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of RecurrenceProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - -
    Subclasses of RecurrenceProperty in biweekly.property
    - classExceptionRule - -
    -           - Defines an exception to a RecurrenceRule.
    - classRecurrenceRule - -
    -           - Defines how often a component repeats.
    -  -

    - - - - - -
    -Uses of RecurrenceProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Classes in biweekly.property.marshaller with type parameters of type RecurrenceProperty
    - classRecurrencePropertyMarshaller<T extends RecurrenceProperty> - -
    -          Marshals properties whose values are Recurrence.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceRule.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceRule.html deleted file mode 100644 index adff4d92..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RecurrenceRule.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.RecurrenceRule (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.RecurrenceRule

    -
    - - - - - - - - - - - - - -
    -Packages that use RecurrenceRule
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of RecurrenceRule in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return RecurrenceRule
    - RecurrenceRuleVTodo.getRecurrenceRule() - -
    -          Gets how often the to-do repeats.
    - RecurrenceRuleVJournal.getRecurrenceRule() - -
    -          Gets how often the journal entry repeats.
    - RecurrenceRuleVEvent.getRecurrenceRule() - -
    -          Gets how often the event repeats.
    - RecurrenceRuleObservance.getRecurrenceRule() - -
    -          Gets how often the timezone observance repeats.
    - RecurrenceRuleVTodo.setRecurrenceRule(Recurrence recur) - -
    -          Sets how often the to-do repeats.
    - RecurrenceRuleVJournal.setRecurrenceRule(Recurrence recur) - -
    -          Sets how often the journal entry repeats.
    - RecurrenceRuleVEvent.setRecurrenceRule(Recurrence recur) - -
    -          Sets how often the event repeats.
    - RecurrenceRuleObservance.setRecurrenceRule(Recurrence recur) - -
    -          Sets how often the timezone observance repeats.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type RecurrenceRule
    - voidVTodo.setRecurrenceRule(RecurrenceRule recurrenceRule) - -
    -          Sets how often the to-do repeats.
    - voidVJournal.setRecurrenceRule(RecurrenceRule recurrenceRule) - -
    -          Sets how often the journal entry repeats.
    - voidVEvent.setRecurrenceRule(RecurrenceRule recurrenceRule) - -
    -          Sets how often the event repeats.
    - voidObservance.setRecurrenceRule(RecurrenceRule recurrenceRule) - -
    -          Sets how often the timezone observance repeats.
    -  -

    - - - - - -
    -Uses of RecurrenceRule in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return RecurrenceRule
    -protected  RecurrenceRuleRecurrenceRuleMarshaller.newInstance(Recurrence recur) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RelatedTo.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RelatedTo.html deleted file mode 100644 index 3569555e..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RelatedTo.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.RelatedTo (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.RelatedTo

    -
    - - - - - - - - - - - - - -
    -Packages that use RelatedTo
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of RelatedTo in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return RelatedTo
    - RelatedToVTodo.addRelatedTo(String uid) - -
    -          Adds a component that the to-do is related to.
    - RelatedToVJournal.addRelatedTo(String uid) - -
    -          Adds a component that the journal entry is related to.
    - RelatedToVEvent.addRelatedTo(String uid) - -
    -          Adds a component that the event is related to.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type RelatedTo
    - List<RelatedTo>VTodo.getRelatedTo() - -
    -          Gets the components that the to-do is related to.
    - List<RelatedTo>VJournal.getRelatedTo() - -
    -          Gets the components that the journal entry is related to.
    - List<RelatedTo>VEvent.getRelatedTo() - -
    -          Gets the components that the event is related to.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type RelatedTo
    - voidVTodo.addRelatedTo(RelatedTo relatedTo) - -
    -          Adds a component that the to-do is related to.
    - voidVJournal.addRelatedTo(RelatedTo relatedTo) - -
    -          Adds a component that the journal entry is related to.
    - voidVEvent.addRelatedTo(RelatedTo relatedTo) - -
    -          Adds a component that the event is related to.
    -  -

    - - - - - -
    -Uses of RelatedTo in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return RelatedTo
    -protected  RelatedToRelatedToMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Repeat.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Repeat.html deleted file mode 100644 index 3bc1ec57..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Repeat.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Repeat (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Repeat

    -
    - - - - - - - - - - - - - -
    -Packages that use Repeat
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Repeat in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return Repeat
    - RepeatVAlarm.getRepeat() - -
    -          Gets the number of times an alarm should be repeated after its initial - trigger.
    - RepeatVAlarm.setRepeat(Integer count) - -
    -          Sets the number of times an alarm should be repeated after its initial - trigger.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type Repeat
    - voidVAlarm.setRepeat(Repeat repeat) - -
    -          Sets the number of times an alarm should be repeated after its initial - trigger.
    -  -

    - - - - - -
    -Uses of Repeat in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Repeat
    -protected  RepeatRepeatMarshaller.newInstance(Integer value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RequestStatus.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RequestStatus.html deleted file mode 100644 index da4653cc..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/RequestStatus.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.RequestStatus (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.RequestStatus

    -
    - - - - - - - - - - - - - -
    -Packages that use RequestStatus
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of RequestStatus in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return RequestStatus
    - RequestStatusVTodo.getRequestStatus() - -
    -          Gets the response to a scheduling request.
    - RequestStatusVJournal.getRequestStatus() - -
    -          Gets the response to a scheduling request.
    - RequestStatusVFreeBusy.getRequestStatus() - -
    -          Gets the response to a scheduling request.
    - RequestStatusVEvent.getRequestStatus() - -
    -          Gets the response to a scheduling request.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type RequestStatus
    - voidVTodo.setRequestStatus(RequestStatus requestStatus) - -
    -          Sets the response to a scheduling request.
    - voidVJournal.setRequestStatus(RequestStatus requestStatus) - -
    -          Sets the response to a scheduling request.
    - voidVFreeBusy.setRequestStatus(RequestStatus requestStatus) - -
    -          Sets the response to a scheduling request.
    - voidVEvent.setRequestStatus(RequestStatus requestStatus) - -
    -          Sets the response to a scheduling request.
    -  -

    - - - - - -
    -Uses of RequestStatus in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return RequestStatus
    -protected  RequestStatusRequestStatusMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  RequestStatusRequestStatusMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type RequestStatus
    -protected  JCalValueRequestStatusMarshaller._writeJson(RequestStatus property) - -
    -           
    -protected  StringRequestStatusMarshaller._writeText(RequestStatus property) - -
    -           
    -protected  voidRequestStatusMarshaller._writeXml(RequestStatus property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Resources.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Resources.html deleted file mode 100644 index 81ae2008..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Resources.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Resources (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Resources

    -
    - - - - - - - - - - - - - -
    -Packages that use Resources
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Resources in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Resources
    - ResourcesVTodo.addResources(List<String> resources) - -
    -          Adds a list of resources that are needed for the to-do.
    - ResourcesVEvent.addResources(List<String> resources) - -
    -          Adds a list of resources that are needed for the event.
    - ResourcesVTodo.addResources(String... resources) - -
    -          Adds a list of resources that are needed for the to-do.
    - ResourcesVEvent.addResources(String... resources) - -
    -          Adds a list of resources that are needed for the event.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type Resources
    - List<Resources>VTodo.getResources() - -
    -          Gets the resources that are needed for the to-do.
    - List<Resources>VEvent.getResources() - -
    -          Gets the resources that are needed for the event.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Resources
    - voidVTodo.addResources(Resources resources) - -
    -          Adds a list of resources that are needed for the to-do.
    - voidVEvent.addResources(Resources resources) - -
    -          Adds a list of resources that are needed for the event.
    -  -

    - - - - - -
    -Uses of Resources in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Resources
    - ResourcesResourcesMarshaller.newInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Sequence.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Sequence.html deleted file mode 100644 index 76bc118a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Sequence.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Sequence (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Sequence

    -
    - - - - - - - - - - - - - -
    -Packages that use Sequence
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Sequence in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Sequence
    - SequenceVTodo.getSequence() - -
    -          Gets the revision number of the to-do.
    - SequenceVJournal.getSequence() - -
    -          Gets the revision number of the journal entry.
    - SequenceVEvent.getSequence() - -
    -          Gets the revision number of the event.
    - SequenceVTodo.setSequence(Integer sequence) - -
    -          Sets the revision number of the to-do.
    - SequenceVJournal.setSequence(Integer sequence) - -
    -          Sets the revision number of the journal entry.
    - SequenceVEvent.setSequence(Integer sequence) - -
    -          Sets the revision number of the event.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Sequence
    - voidVTodo.setSequence(Sequence sequence) - -
    -          Sets the revision number of the to-do.
    - voidVJournal.setSequence(Sequence sequence) - -
    -          Sets the revision number of the journal entry.
    - voidVEvent.setSequence(Sequence sequence) - -
    -          Sets the revision number of the event.
    -  -

    - - - - - -
    -Uses of Sequence in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Sequence
    -protected  SequenceSequenceMarshaller.newInstance(Integer value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Status.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Status.html deleted file mode 100644 index 61a8518d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Status.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Status (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Status

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Status
    biweekly.component  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Status in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Status
    - StatusVTodo.getStatus() - -
    -          Gets the status of the to-do.
    - StatusVJournal.getStatus() - -
    -          Gets the status of the journal entry.
    - StatusVEvent.getStatus() - -
    -          Gets the status of the event.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Status
    - voidVTodo.setStatus(Status status) - -
    -          Sets the status of the to-do.
    - voidVJournal.setStatus(Status status) - -
    -          Sets the status of the journal entry.
    - voidVEvent.setStatus(Status status) - -
    -          Sets the status of the event.
    -  -

    - - - - - -
    -Uses of Status in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property that return Status
    -static StatusStatus.cancelled() - -
    -          Creates a "cancelled" status property (only valid for event, to-do, and - journal components).
    -static StatusStatus.completed() - -
    -          Creates a "completed" status property (only valid for to-do components).
    -static StatusStatus.confirmed() - -
    -          Creates a "confirmed" status property (only valid for event components).
    -static StatusStatus.draft() - -
    -          Creates a "draft" status property (only valid for journal components).
    -static StatusStatus.final_() - -
    -          Creates a "final" status property (only valid for journal components).
    -static StatusStatus.inProgress() - -
    -          Creates a "in-progress" status property (only valid for to-do - components).
    -static StatusStatus.needsAction() - -
    -          Creates a "needs-action" status property (only valid for to-do - components).
    -static StatusStatus.tentative() - -
    -          Creates a "tentative" status property (only valid for event components).
    -  -

    - - - - - -
    -Uses of Status in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Status
    -protected  StatusStatusMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Summary.html deleted file mode 100644 index 0bff5da1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Summary.html +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Summary (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Summary

    -
    - - - - - - - - - - - - - -
    -Packages that use Summary
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Summary in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Summary
    - SummaryVTodo.getSummary() - -
    -          Gets the summary of the to-do.
    - SummaryVJournal.getSummary() - -
    -          Gets the summary of the journal entry.
    - SummaryVEvent.getSummary() - -
    -          Gets the summary of the event.
    - SummaryVAlarm.getSummary() - -
    -           - Gets the summary of the alarm.
    - SummaryVTodo.setSummary(String summary) - -
    -          Sets the summary of the to-do.
    - SummaryVJournal.setSummary(String summary) - -
    -          Sets the summary of the journal entry.
    - SummaryVEvent.setSummary(String summary) - -
    -          Sets the summary of the event.
    - SummaryVAlarm.setSummary(String summary) - -
    -           - Sets the summary of the alarm.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Summary
    - voidVTodo.setSummary(Summary summary) - -
    -          Sets the summary of the to-do.
    - voidVJournal.setSummary(Summary summary) - -
    -          Sets the summary of the journal entry.
    - voidVEvent.setSummary(Summary summary) - -
    -          Sets the summary of the event.
    - voidVAlarm.setSummary(Summary summary) - -
    -           - Sets the summary of the alarm.
    -  -

    - - - - - -
    -Uses of Summary in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Summary
    -protected  SummarySummaryMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TextProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TextProperty.html deleted file mode 100644 index 0baa5807..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TextProperty.html +++ /dev/null @@ -1,398 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.TextProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.TextProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use TextProperty
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of TextProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of TextProperty in biweekly.property
    - classAction - -
    -           - Defines the type of action to invoke when an alarm is triggered.
    - classAttendee - -
    -           - Defines an attendee (such as a person attending an event).
    - classCalendarScale - -
    -           - Specifies the calendar system that this iCalendar object uses.
    - classClassification - -
    -           - Defines the level of sensitivity of the iCalendar data.
    - classComment - -
    -           - Defines a free-text comment to be read by the user.
    - classContact - -
    -           - Defines contact information for a person or other entity (for example, the - name of a business and its phone number).
    - classDescription - -
    -           - A detailed description of the component that this property belongs to.
    - classEnumProperty - -
    -          Parent class for properties that have a defined set of acceptable values (for - example, Action).
    - classLocation - -
    -           - Defines the physical location of an event.
    - classMethod - -
    -           - Specifies the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    - classOrganizer - -
    -           - Defines an organizer.
    - classProductId - -
    -           - Identifies the application that created the iCalendar object.
    - classRelatedTo - -
    -           - Defines a relationship between the component that this property belongs to - and another component.
    - classStatus - -
    -           - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    - classSummary - -
    -           - Defines a short, one line summary of the component that this property belongs - to.
    - classTimezoneId - -
    -           - Defines a unique identifier for a VTimezone component.
    - classTimezoneName - -
    -           - Defines a traditional, non-standard name for a timezone observance (for - example, "Eastern Standard Time" for standard time on the US east coast).
    - classTimezoneUrl - -
    -           - Defines a URL that points to an iCalendar object that contains further - information on a timezone.
    - classTransparency - -
    -           - Defines whether an event is visible to free/busy time searches.
    - classUid - -
    -           - Defines a unique identifier for a component.
    - classUrl - -
    -           - Points to a resource that contains additional information about a component.
    -  -

    - - - - - -
    -Uses of TextProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Classes in biweekly.property.marshaller with type parameters of type TextProperty
    - classTextPropertyMarshaller<T extends TextProperty> - -
    -          Marshals properties that have text values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneId.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneId.html deleted file mode 100644 index a28b01e8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneId.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.TimezoneId (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.TimezoneId

    -
    - - - - - - - - - - - - - -
    -Packages that use TimezoneId
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of TimezoneId in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return TimezoneId
    - TimezoneIdVTimezone.getTimezoneId() - -
    -          Gets the ID for this timezone.
    - TimezoneIdVTimezone.setTimezoneId(String timezoneId) - -
    -          Sets an ID for this timezone.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type TimezoneId
    - voidVTimezone.setTimezoneId(TimezoneId timezoneId) - -
    -          Sets an ID for this timezone.
    -  -

    - - - - - -
    -Uses of TimezoneId in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return TimezoneId
    -protected  TimezoneIdTimezoneIdMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneName.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneName.html deleted file mode 100644 index 53dec3a6..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneName.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.TimezoneName (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.TimezoneName

    -
    - - - - - - - - - - - - - -
    -Packages that use TimezoneName
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of TimezoneName in biweekly.component
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return TimezoneName
    - TimezoneNameObservance.addTimezoneName(String timezoneName) - -
    -          Adds a traditional, non-standard name for the timezone observance.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return types with arguments of type TimezoneName
    - List<TimezoneName>Observance.getTimezoneNames() - -
    -          Gets the traditional, non-standard names for the timezone observance.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type TimezoneName
    - voidObservance.addTimezoneName(TimezoneName timezoneName) - -
    -          Adds a traditional, non-standard name for the timezone observance.
    -  -

    - - - - - -
    -Uses of TimezoneName in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return TimezoneName
    -protected  TimezoneNameTimezoneNameMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneOffsetFrom.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneOffsetFrom.html deleted file mode 100644 index 093df302..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneOffsetFrom.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.TimezoneOffsetFrom (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.TimezoneOffsetFrom

    -
    - - - - - - - - - - - - - -
    -Packages that use TimezoneOffsetFrom
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of TimezoneOffsetFrom in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return TimezoneOffsetFrom
    - TimezoneOffsetFromObservance.getTimezoneOffsetFrom() - -
    -          Gets the UTC offset that the timezone observance transitions from.
    - TimezoneOffsetFromObservance.setTimezoneOffsetFrom(Integer hour, - Integer minute) - -
    -          Sets the UTC offset that the timezone observance transitions from.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type TimezoneOffsetFrom
    - voidObservance.setTimezoneOffsetFrom(TimezoneOffsetFrom timezoneOffsetFrom) - -
    -          Sets the UTC offset that the timezone observance transitions from.
    -  -

    - - - - - -
    -Uses of TimezoneOffsetFrom in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return TimezoneOffsetFrom
    -protected  TimezoneOffsetFromTimezoneOffsetFromMarshaller.newInstance(UtcOffset offset) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneOffsetTo.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneOffsetTo.html deleted file mode 100644 index 33d5c1c1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneOffsetTo.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.TimezoneOffsetTo (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.TimezoneOffsetTo

    -
    - - - - - - - - - - - - - -
    -Packages that use TimezoneOffsetTo
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of TimezoneOffsetTo in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return TimezoneOffsetTo
    - TimezoneOffsetToObservance.getTimezoneOffsetTo() - -
    -          Gets the UTC offset that the timezone observance transitions to.
    - TimezoneOffsetToObservance.setTimezoneOffsetTo(Integer hour, - Integer minute) - -
    -          Sets the UTC offset that the timezone observance transitions to.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type TimezoneOffsetTo
    - voidObservance.setTimezoneOffsetTo(TimezoneOffsetTo timezoneOffsetTo) - -
    -          Sets the UTC offset that the timezone observance transitions to.
    -  -

    - - - - - -
    -Uses of TimezoneOffsetTo in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return TimezoneOffsetTo
    -protected  TimezoneOffsetToTimezoneOffsetToMarshaller.newInstance(UtcOffset offset) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneUrl.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneUrl.html deleted file mode 100644 index ff0d1f74..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/TimezoneUrl.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.TimezoneUrl (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.TimezoneUrl

    -
    - - - - - - - - - - - - - -
    -Packages that use TimezoneUrl
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of TimezoneUrl in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return TimezoneUrl
    - TimezoneUrlVTimezone.getTimezoneUrl() - -
    -          Gets the timezone URL, which points to an iCalendar object that contains - further information on the timezone.
    - TimezoneUrlVTimezone.setTimezoneUrl(String url) - -
    -          Sets the timezone URL, which points to an iCalendar object that contains - further information on the timezone.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type TimezoneUrl
    - voidVTimezone.setTimezoneUrl(TimezoneUrl url) - -
    -          Sets the timezone URL, which points to an iCalendar object that contains - further information on the timezone.
    -  -

    - - - - - -
    -Uses of TimezoneUrl in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return TimezoneUrl
    -protected  TimezoneUrlTimezoneUrlMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Transparency.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Transparency.html deleted file mode 100644 index 032ed032..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Transparency.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Transparency (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Transparency

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Transparency
    biweekly.component  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Transparency in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return Transparency
    - TransparencyVEvent.getTransparency() - -
    -          Gets whether an event is visible to free/busy time searches.
    - TransparencyVEvent.setTransparency(Boolean transparent) - -
    -          Sets whether an event is visible to free/busy time searches.
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type Transparency
    - voidVEvent.setTransparency(Transparency transparency) - -
    -          Sets whether an event is visible to free/busy time searches.
    -  -

    - - - - - -
    -Uses of Transparency in biweekly.property
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property that return Transparency
    -static TransparencyTransparency.opaque() - -
    -          Creates a property that marks the event as being visible to free/busy - time searches.
    -static TransparencyTransparency.transparent() - -
    -          Creates a property that marks the event as being hidden from free/busy - time searches.
    -  -

    - - - - - -
    -Uses of Transparency in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Transparency
    -protected  TransparencyTransparencyMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Trigger.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Trigger.html deleted file mode 100644 index 6fc4b298..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Trigger.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Trigger (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Trigger

    -
    - - - - - - - - - - - - - -
    -Packages that use Trigger
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Trigger in biweekly.component
    -  -

    - - - - - - - - - -
    Methods in biweekly.component that return Trigger
    - TriggerVAlarm.getTrigger() - -
    -          Gets when the alarm will be triggered.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Trigger
    -static VAlarmVAlarm.audio(Trigger trigger) - -
    -          Creates an audio alarm.
    -static VAlarmVAlarm.audio(Trigger trigger, - Attachment sound) - -
    -          Creates an audio alarm.
    -static VAlarmVAlarm.display(Trigger trigger, - String displayText) - -
    -          Creates a display alarm.
    -static VAlarmVAlarm.email(Trigger trigger, - String subject, - String body, - List<String> recipients) - -
    -          Creates an email alarm.
    -static VAlarmVAlarm.email(Trigger trigger, - String subject, - String body, - String... recipients) - -
    -          Creates an email alarm.
    - voidVAlarm.setTrigger(Trigger trigger) - -
    -          Sets when the alarm will be triggered.
    -  -

    - - - - - - - - -
    Constructors in biweekly.component with parameters of type Trigger
    VAlarm(Action action, - Trigger trigger) - -
    -          Creates a new alarm.
    -  -

    - - - - - -
    -Uses of Trigger in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Trigger
    -protected  TriggerTriggerMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  TriggerTriggerMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type Trigger
    -protected  ICalDataTypeTriggerMarshaller._dataType(Trigger property) - -
    -           
    -protected  JCalValueTriggerMarshaller._writeJson(Trigger property) - -
    -           
    -protected  StringTriggerMarshaller._writeText(Trigger property) - -
    -           
    -protected  voidTriggerMarshaller._writeXml(Trigger property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Uid.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Uid.html deleted file mode 100644 index 05ae0d28..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Uid.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Uid (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Uid

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Uid
    biweekly.component  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Uid in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Uid
    - UidVTodo.getUid() - -
    -          Gets the unique identifier for this to-do.
    - UidVJournal.getUid() - -
    -          Gets the unique identifier for this journal entry.
    - UidVFreeBusy.getUid() - -
    -          Gets the unique identifier for this free/busy entry.
    - UidVEvent.getUid() - -
    -          Gets the unique identifier for this event.
    - UidVTodo.setUid(String uid) - -
    -          Sets the unique identifier for this to-do.
    - UidVJournal.setUid(String uid) - -
    -          Sets the unique identifier for this journal entry.
    - UidVFreeBusy.setUid(String uid) - -
    -          Sets the unique identifier for this free/busy entry.
    - UidVEvent.setUid(String uid) - -
    -          Sets the unique identifier for this event.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Uid
    - voidVTodo.setUid(Uid uid) - -
    -          Sets the unique identifier for this to-do.
    - voidVJournal.setUid(Uid uid) - -
    -          Sets the unique identifier for this journal entry.
    - voidVFreeBusy.setUid(Uid uid) - -
    -          Sets the unique identifier for this free/busy entry.
    - voidVEvent.setUid(Uid uid) - -
    -          Sets the unique identifier for this event.
    -  -

    - - - - - -
    -Uses of Uid in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return Uid
    -static UidUid.random() - -
    -          Creates a UID property that contains a random UID.
    -  -

    - - - - - -
    -Uses of Uid in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Uid
    -protected  UidUidMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Url.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Url.html deleted file mode 100644 index f6014035..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Url.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Url (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Url

    -
    - - - - - - - - - - - - - -
    -Packages that use Url
    biweekly.component  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Url in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component that return Url
    - UrlVTodo.getUrl() - -
    -          Gets a URL to a resource that contains additional information about the - to-do.
    - UrlVJournal.getUrl() - -
    -          Gets a URL to a resource that contains additional information about the - journal entry.
    - UrlVFreeBusy.getUrl() - -
    -          Gets a URL to a resource that contains additional information about the - free/busy entry.
    - UrlVEvent.getUrl() - -
    -          Gets a URL to a resource that contains additional information about the - event.
    - UrlVTodo.setUrl(String url) - -
    -          Sets a URL to a resource that contains additional information about the - to-do.
    - UrlVJournal.setUrl(String url) - -
    -          Sets a URL to a resource that contains additional information about the - journal entry.
    - UrlVFreeBusy.setUrl(String url) - -
    -          Sets a URL to a resource that contains additional information about the - free/busy entry.
    - UrlVEvent.setUrl(String url) - -
    -          Sets a URL to a resource that contains additional information about the - event.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Url
    - voidVTodo.setUrl(Url url) - -
    -          Sets a URL to a resource that contains additional information about the - to-do.
    - voidVJournal.setUrl(Url url) - -
    -          Sets a URL to a resource that contains additional information about the - journal entry.
    - voidVFreeBusy.setUrl(Url url) - -
    -          Sets a URL to a resource that contains additional information about the - free/busy entry.
    - voidVEvent.setUrl(Url url) - -
    -          Sets a URL to a resource that contains additional information about the - event.
    -  -

    - - - - - -
    -Uses of Url in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Url
    -protected  UrlUrlMarshaller.newInstance(String value) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/UtcOffsetProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/UtcOffsetProperty.html deleted file mode 100644 index d2c7267d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/UtcOffsetProperty.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.UtcOffsetProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.UtcOffsetProperty

    -
    - - - - - - - - - - - - - -
    -Packages that use UtcOffsetProperty
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of UtcOffsetProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - -
    Subclasses of UtcOffsetProperty in biweekly.property
    - classTimezoneOffsetFrom - -
    -           - Defines the timezone offset that was in use before a timezone observance.
    - classTimezoneOffsetTo - -
    -           - Defines the timezone offset that is currently in use in a timezone - observance.
    -  -

    - - - - - -
    -Uses of UtcOffsetProperty in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Classes in biweekly.property.marshaller with type parameters of type UtcOffsetProperty
    - classUtcOffsetPropertyMarshaller<T extends UtcOffsetProperty> - -
    -          Marshals properties that have UTC offset values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ValuedProperty.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ValuedProperty.html deleted file mode 100644 index 13c03643..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/ValuedProperty.html +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.ValuedProperty (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.ValuedProperty

    -
    - - - - - - - - - -
    -Packages that use ValuedProperty
    biweekly.property  
    -  -

    - - - - - -
    -Uses of ValuedProperty in biweekly.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of ValuedProperty in biweekly.property
    - classAction - -
    -           - Defines the type of action to invoke when an alarm is triggered.
    - classAttendee - -
    -           - Defines an attendee (such as a person attending an event).
    - classCalendarScale - -
    -           - Specifies the calendar system that this iCalendar object uses.
    - classClassification - -
    -           - Defines the level of sensitivity of the iCalendar data.
    - classComment - -
    -           - Defines a free-text comment to be read by the user.
    - classCompleted - -
    -           - Defines the date and time that a to-do task was completed.
    - classContact - -
    -           - Defines contact information for a person or other entity (for example, the - name of a business and its phone number).
    - classCreated - -
    -           - Defines the date-time that the calendar information was initially created.
    - classDateTimeProperty - -
    -          Represents a property whose value is a date-time.
    - classDateTimeStamp - -
    -           - The meaning of this property varies depending on the state of the iCalendar - object: - - If a Method property exists: Defines the creation date of - the iCalendar object (not the creation date of the actual calendar data).
    - classDescription - -
    -           - A detailed description of the component that this property belongs to.
    - classDurationProperty - -
    -           - Defines a duration of time (for example, "2 hours and 30 minutes").
    - classEnumProperty - -
    -          Parent class for properties that have a defined set of acceptable values (for - example, Action).
    - classExceptionRule - -
    -           - Defines an exception to a RecurrenceRule.
    - classIntegerProperty - -
    -          Represents a property whose value is an integer.
    - classLastModified - -
    -           - Defines the date and time that the calendar data in a component was last - changed.
    - classLocation - -
    -           - Defines the physical location of an event.
    - classMethod - -
    -           - Specifies the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    - classOrganizer - -
    -           - Defines an organizer.
    - classPercentComplete - -
    -           - Defines a to-do task's level of completion.
    - classPriority - -
    -           - Defines the priority of an event or to-do task.
    - classProductId - -
    -           - Identifies the application that created the iCalendar object.
    - classRecurrenceProperty - -
    -          Defines a property whose value is a recurrence rule.
    - classRecurrenceRule - -
    -           - Defines how often a component repeats.
    - classRelatedTo - -
    -           - Defines a relationship between the component that this property belongs to - and another component.
    - classRepeat - -
    -           - Defines the number of times an alarm should be repeated after its initial - trigger.
    - classSequence - -
    -           - Defines a revision number for an event, to-do task, or journal entry.
    - classStatus - -
    -           - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    - classSummary - -
    -           - Defines a short, one line summary of the component that this property belongs - to.
    - classTextProperty - -
    -          Represents a property whose value is a plain-text string.
    - classTimezoneId - -
    -           - Defines a unique identifier for a VTimezone component.
    - classTimezoneName - -
    -           - Defines a traditional, non-standard name for a timezone observance (for - example, "Eastern Standard Time" for standard time on the US east coast).
    - classTimezoneUrl - -
    -           - Defines a URL that points to an iCalendar object that contains further - information on a timezone.
    - classTransparency - -
    -           - Defines whether an event is visible to free/busy time searches.
    - classUid - -
    -           - Defines a unique identifier for a component.
    - classUrl - -
    -           - Points to a resource that contains additional information about a component.
    - classXml - -
    -           - Used for storing properties parsed from xCal documents whose XML namespaces - are not part of the xCal XML namespace.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Version.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Version.html deleted file mode 100644 index df7c9a06..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Version.html +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Version (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Version

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Version
    biweekly  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Version in biweekly
    -  -

    - - - - - - - - - -
    Methods in biweekly that return Version
    - VersionICalendar.getVersion() - -
    -          Gets the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    -  -

    - - - - - - - - - -
    Methods in biweekly with parameters of type Version
    - voidICalendar.setVersion(Version version) - -
    -          Sets the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    -  -

    - - - - - -
    -Uses of Version in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return Version
    -static VersionVersion.v2_0() - -
    -          Creates a version property that is set to the default iCalendar version - (2.0).
    -  -

    - - - - - -
    -Uses of Version in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Version
    -protected  VersionVersionMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  VersionVersionMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type Version
    -protected  JCalValueVersionMarshaller._writeJson(Version property) - -
    -           
    -protected  StringVersionMarshaller._writeText(Version property) - -
    -           
    -protected  voidVersionMarshaller._writeXml(Version property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Xml.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Xml.html deleted file mode 100644 index f041955c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/class-use/Xml.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.Xml (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.Xml

    -
    - - - - - - - - - -
    -Packages that use Xml
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of Xml in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return Xml
    -protected  XmlXmlMarshaller._parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  XmlXmlMarshaller._parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  XmlXmlMarshaller._parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type Xml
    -protected  JCalValueXmlMarshaller._writeJson(Xml property) - -
    -           
    -protected  StringXmlMarshaller._writeText(Xml property) - -
    -           
    -protected  voidXmlMarshaller._writeXml(Xml property, - XCalElement element) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/property/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/property/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ActionMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ActionMarshaller.html deleted file mode 100644 index 7792f96c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ActionMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -ActionMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ActionMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Action>
    -          extended by biweekly.property.marshaller.ActionMarshaller
    -
    -
    -
    -
    public class ActionMarshaller
    extends TextPropertyMarshaller<Action>
    - - -

    -Marshals Action properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    ActionMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  ActionnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ActionMarshaller

    -
    -public ActionMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Action newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Action>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/AttachmentMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/AttachmentMarshaller.html deleted file mode 100644 index f58784ee..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/AttachmentMarshaller.html +++ /dev/null @@ -1,638 +0,0 @@ - - - - - - - -AttachmentMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class AttachmentMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<Attachment>
    -      extended by biweekly.property.marshaller.AttachmentMarshaller
    -
    -
    -
    -
    public class AttachmentMarshaller
    extends ICalPropertyMarshaller<Attachment>
    - - -

    -Marshals Attachment properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    AttachmentMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ICalDataType_dataType(Attachment property) - -
    -           - Determines the data type of a property instance.
    -protected  Attachment_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  Attachment_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  Attachment_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  void_prepareParameters(Attachment property, - ICalParameters copy) - -
    -           - Sanitizes a property's parameters before the property is written.
    -protected  JCalValue_writeJson(Attachment property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(Attachment property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(Attachment property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -AttachmentMarshaller

    -
    -public AttachmentMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_prepareParameters

    -
    -protected void _prepareParameters(Attachment property,
    -                                  ICalParameters copy)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Sanitizes a property's parameters before the property is written. -

    -

    - This method should be overridden by child classes that wish to tweak the - property's parameters before the property is written. The default - implementation of this method does nothing. -

    -

    -

    -
    Overrides:
    _prepareParameters in class ICalPropertyMarshaller<Attachment>
    -
    -
    -
    Parameters:
    property - the property
    copy - the list of parameters to make modifications to (it is a copy - of the property's parameters)
    -
    -
    -
    - -

    -_dataType

    -
    -protected ICalDataType _dataType(Attachment property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Determines the data type of a property instance. -

    -

    - This method should be overridden by child classes if a property's data - type changes depending on its value. The default implementation of this - method returns the property's default data type. -

    -

    -

    -
    Overrides:
    _dataType in class ICalPropertyMarshaller<Attachment>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the data type or null if unknown
    -
    -
    -
    - -

    -_writeText

    -
    -protected String _writeText(Attachment property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<Attachment>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected Attachment _parseText(String value,
    -                                ICalDataType dataType,
    -                                ICalParameters parameters,
    -                                List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<Attachment>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(Attachment property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<Attachment>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected Attachment _parseXml(XCalElement element,
    -                               ICalParameters parameters,
    -                               List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<Attachment>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(Attachment property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<Attachment>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected Attachment _parseJson(JCalValue value,
    -                                ICalDataType dataType,
    -                                ICalParameters parameters,
    -                                List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<Attachment>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/AttendeeMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/AttendeeMarshaller.html deleted file mode 100644 index 33c25286..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/AttendeeMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -AttendeeMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class AttendeeMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Attendee>
    -          extended by biweekly.property.marshaller.AttendeeMarshaller
    -
    -
    -
    -
    public class AttendeeMarshaller
    extends TextPropertyMarshaller<Attendee>
    - - -

    -Marshals Attendee properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    AttendeeMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  AttendeenewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -AttendeeMarshaller

    -
    -public AttendeeMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Attendee newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Attendee>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CalendarScaleMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CalendarScaleMarshaller.html deleted file mode 100644 index 3b066e42..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CalendarScaleMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -CalendarScaleMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class CalendarScaleMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<CalendarScale>
    -          extended by biweekly.property.marshaller.CalendarScaleMarshaller
    -
    -
    -
    -
    public class CalendarScaleMarshaller
    extends TextPropertyMarshaller<CalendarScale>
    - - -

    -Marshals CalendarScale properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    CalendarScaleMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  CalendarScalenewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CalendarScaleMarshaller

    -
    -public CalendarScaleMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected CalendarScale newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<CalendarScale>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CategoriesMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CategoriesMarshaller.html deleted file mode 100644 index c7494600..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CategoriesMarshaller.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - -CategoriesMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class CategoriesMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.ListPropertyMarshaller<T,String>
    -          extended by biweekly.property.marshaller.TextListPropertyMarshaller<Categories>
    -              extended by biweekly.property.marshaller.CategoriesMarshaller
    -
    -
    -
    -
    public class CategoriesMarshaller
    extends TextListPropertyMarshaller<Categories>
    - - -

    -Marshals Categories properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    CategoriesMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - CategoriesnewInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextListPropertyMarshaller
    readValue, writeValue
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ListPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CategoriesMarshaller

    -
    -public CategoriesMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -public Categories newInstance(ICalDataType dataType,
    -                              ICalParameters parameters)
    -
    -
    -
    Specified by:
    newInstance in class ListPropertyMarshaller<Categories,String>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ClassificationMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ClassificationMarshaller.html deleted file mode 100644 index b1ac4345..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ClassificationMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -ClassificationMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ClassificationMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Classification>
    -          extended by biweekly.property.marshaller.ClassificationMarshaller
    -
    -
    -
    -
    public class ClassificationMarshaller
    extends TextPropertyMarshaller<Classification>
    - - -

    -Marshals Classification properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    ClassificationMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  ClassificationnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ClassificationMarshaller

    -
    -public ClassificationMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Classification newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Classification>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CommentMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CommentMarshaller.html deleted file mode 100644 index a84f8a22..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CommentMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -CommentMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class CommentMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Comment>
    -          extended by biweekly.property.marshaller.CommentMarshaller
    -
    -
    -
    -
    public class CommentMarshaller
    extends TextPropertyMarshaller<Comment>
    - - -

    -Marshals Comment properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    CommentMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  CommentnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CommentMarshaller

    -
    -public CommentMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Comment newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Comment>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CompletedMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CompletedMarshaller.html deleted file mode 100644 index 0473debe..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CompletedMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -CompletedMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class CompletedMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateTimePropertyMarshaller<Completed>
    -          extended by biweekly.property.marshaller.CompletedMarshaller
    -
    -
    -
    -
    public class CompletedMarshaller
    extends DateTimePropertyMarshaller<Completed>
    - - -

    -Marshals Completed properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    CompletedMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  CompletednewInstance(Date date) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.DateTimePropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CompletedMarshaller

    -
    -public CompletedMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Completed newInstance(Date date)
    -
    -
    -
    Specified by:
    newInstance in class DateTimePropertyMarshaller<Completed>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ContactMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ContactMarshaller.html deleted file mode 100644 index 1a7c33cd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ContactMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -ContactMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ContactMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Contact>
    -          extended by biweekly.property.marshaller.ContactMarshaller
    -
    -
    -
    -
    public class ContactMarshaller
    extends TextPropertyMarshaller<Contact>
    - - -

    -Marshals Contact properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    ContactMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  ContactnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ContactMarshaller

    -
    -public ContactMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Contact newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Contact>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CreatedMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CreatedMarshaller.html deleted file mode 100644 index ac1df023..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/CreatedMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -CreatedMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class CreatedMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateTimePropertyMarshaller<Created>
    -          extended by biweekly.property.marshaller.CreatedMarshaller
    -
    -
    -
    -
    public class CreatedMarshaller
    extends DateTimePropertyMarshaller<Created>
    - - -

    -Marshals Created properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    CreatedMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  CreatednewInstance(Date date) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.DateTimePropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CreatedMarshaller

    -
    -public CreatedMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Created newInstance(Date date)
    -
    -
    -
    Specified by:
    newInstance in class DateTimePropertyMarshaller<Created>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateDueMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateDueMarshaller.html deleted file mode 100644 index e777e3d8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateDueMarshaller.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - -DateDueMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class DateDueMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateOrDateTimePropertyMarshaller<DateDue>
    -          extended by biweekly.property.marshaller.DateDueMarshaller
    -
    -
    -
    -
    public class DateDueMarshaller
    extends DateOrDateTimePropertyMarshaller<DateDue>
    - - -

    -Marshals DateDue properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    DateDueMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  DateDuenewInstance(Date date, - boolean hasTime) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller
    _dataType, _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateDueMarshaller

    -
    -public DateDueMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected DateDue newInstance(Date date,
    -                              boolean hasTime)
    -
    -
    -
    Specified by:
    newInstance in class DateOrDateTimePropertyMarshaller<DateDue>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateEndMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateEndMarshaller.html deleted file mode 100644 index 10dfc1d9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateEndMarshaller.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - -DateEndMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class DateEndMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateOrDateTimePropertyMarshaller<DateEnd>
    -          extended by biweekly.property.marshaller.DateEndMarshaller
    -
    -
    -
    -
    public class DateEndMarshaller
    extends DateOrDateTimePropertyMarshaller<DateEnd>
    - - -

    -Marshals DateEnd properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    DateEndMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  DateEndnewInstance(Date date, - boolean hasTime) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller
    _dataType, _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateEndMarshaller

    -
    -public DateEndMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected DateEnd newInstance(Date date,
    -                              boolean hasTime)
    -
    -
    -
    Specified by:
    newInstance in class DateOrDateTimePropertyMarshaller<DateEnd>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateOrDateTimePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateOrDateTimePropertyMarshaller.html deleted file mode 100644 index 329d8fd7..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateOrDateTimePropertyMarshaller.html +++ /dev/null @@ -1,630 +0,0 @@ - - - - - - - -DateOrDateTimePropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class DateOrDateTimePropertyMarshaller<T extends DateOrDateTimeProperty>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateOrDateTimePropertyMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the property class
    -
    -
    Direct Known Subclasses:
    DateDueMarshaller, DateEndMarshaller, DateStartMarshaller, RecurrenceIdMarshaller
    -
    -
    -
    -
    public abstract class DateOrDateTimePropertyMarshaller<T extends DateOrDateTimeProperty>
    extends ICalPropertyMarshaller<T>
    - - -

    -Marshals properties that have either "date" or "date-time" values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    DateOrDateTimePropertyMarshaller(Class<T> clazz, - String propertyName) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ICalDataType_dataType(T property) - -
    -           - Determines the data type of a property instance.
    -protected  T_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  T_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  T_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(T property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected abstract  TnewInstance(Date date, - boolean hasTime) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateOrDateTimePropertyMarshaller

    -
    -public DateOrDateTimePropertyMarshaller(Class<T> clazz,
    -                                        String propertyName)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_dataType

    -
    -protected ICalDataType _dataType(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Determines the data type of a property instance. -

    -

    - This method should be overridden by child classes if a property's data - type changes depending on its value. The default implementation of this - method returns the property's default data type. -

    -

    -

    -
    Overrides:
    _dataType in class ICalPropertyMarshaller<T extends DateOrDateTimeProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the data type or null if unknown
    -
    -
    -
    - -

    -_writeText

    -
    -protected String _writeText(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<T extends DateOrDateTimeProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected T _parseText(String value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<T extends DateOrDateTimeProperty>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(T property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<T extends DateOrDateTimeProperty>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected T _parseXml(XCalElement element,
    -                      ICalParameters parameters,
    -                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<T extends DateOrDateTimeProperty>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<T extends DateOrDateTimeProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected T _parseJson(JCalValue value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<T extends DateOrDateTimeProperty>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -newInstance

    -
    -protected abstract T newInstance(Date date,
    -                                 boolean hasTime)
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateStartMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateStartMarshaller.html deleted file mode 100644 index 6f9687d2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateStartMarshaller.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - -DateStartMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class DateStartMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateOrDateTimePropertyMarshaller<DateStart>
    -          extended by biweekly.property.marshaller.DateStartMarshaller
    -
    -
    -
    -
    public class DateStartMarshaller
    extends DateOrDateTimePropertyMarshaller<DateStart>
    - - -

    -Marshals DateStart properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    DateStartMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  DateStartnewInstance(Date date, - boolean hasTime) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller
    _dataType, _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateStartMarshaller

    -
    -public DateStartMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected DateStart newInstance(Date date,
    -                                boolean hasTime)
    -
    -
    -
    Specified by:
    newInstance in class DateOrDateTimePropertyMarshaller<DateStart>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateTimePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateTimePropertyMarshaller.html deleted file mode 100644 index 36108b90..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateTimePropertyMarshaller.html +++ /dev/null @@ -1,594 +0,0 @@ - - - - - - - -DateTimePropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class DateTimePropertyMarshaller<T extends DateTimeProperty>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateTimePropertyMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the property class
    -
    -
    Direct Known Subclasses:
    CompletedMarshaller, CreatedMarshaller, DateTimeStampMarshaller, LastModifiedMarshaller
    -
    -
    -
    -
    public abstract class DateTimePropertyMarshaller<T extends DateTimeProperty>
    extends ICalPropertyMarshaller<T>
    - - -

    -Marshals properties that have "date-time" values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    DateTimePropertyMarshaller(Class<T> clazz, - String propertyName) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  T_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  T_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  T_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(T property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected abstract  TnewInstance(Date date) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateTimePropertyMarshaller

    -
    -public DateTimePropertyMarshaller(Class<T> clazz,
    -                                  String propertyName)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<T extends DateTimeProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected T _parseText(String value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<T extends DateTimeProperty>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(T property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<T extends DateTimeProperty>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected T _parseXml(XCalElement element,
    -                      ICalParameters parameters,
    -                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<T extends DateTimeProperty>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<T extends DateTimeProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected T _parseJson(JCalValue value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<T extends DateTimeProperty>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -newInstance

    -
    -protected abstract T newInstance(Date date)
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateTimeStampMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateTimeStampMarshaller.html deleted file mode 100644 index ae0c896f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DateTimeStampMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -DateTimeStampMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class DateTimeStampMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateTimePropertyMarshaller<DateTimeStamp>
    -          extended by biweekly.property.marshaller.DateTimeStampMarshaller
    -
    -
    -
    -
    public class DateTimeStampMarshaller
    extends DateTimePropertyMarshaller<DateTimeStamp>
    - - -

    -Marshals DateTimeStamp properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    DateTimeStampMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  DateTimeStampnewInstance(Date date) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.DateTimePropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateTimeStampMarshaller

    -
    -public DateTimeStampMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected DateTimeStamp newInstance(Date date)
    -
    -
    -
    Specified by:
    newInstance in class DateTimePropertyMarshaller<DateTimeStamp>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DescriptionMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DescriptionMarshaller.html deleted file mode 100644 index 0b0f28f0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DescriptionMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -DescriptionMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class DescriptionMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Description>
    -          extended by biweekly.property.marshaller.DescriptionMarshaller
    -
    -
    -
    -
    public class DescriptionMarshaller
    extends TextPropertyMarshaller<Description>
    - - -

    -Marshals Description properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    DescriptionMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  DescriptionnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DescriptionMarshaller

    -
    -public DescriptionMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Description newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Description>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DurationPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DurationPropertyMarshaller.html deleted file mode 100644 index 4ad50acc..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/DurationPropertyMarshaller.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - -DurationPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class DurationPropertyMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<DurationProperty>
    -      extended by biweekly.property.marshaller.DurationPropertyMarshaller
    -
    -
    -
    -
    public class DurationPropertyMarshaller
    extends ICalPropertyMarshaller<DurationProperty>
    - - -

    -Marshals DurationProperty properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    DurationPropertyMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  DurationProperty_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  DurationProperty_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  DurationProperty_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(DurationProperty property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(DurationProperty property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(DurationProperty property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DurationPropertyMarshaller

    -
    -public DurationPropertyMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(DurationProperty property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<DurationProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected DurationProperty _parseText(String value,
    -                                      ICalDataType dataType,
    -                                      ICalParameters parameters,
    -                                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<DurationProperty>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(DurationProperty property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<DurationProperty>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected DurationProperty _parseXml(XCalElement element,
    -                                     ICalParameters parameters,
    -                                     List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<DurationProperty>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(DurationProperty property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<DurationProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected DurationProperty _parseJson(JCalValue value,
    -                                      ICalDataType dataType,
    -                                      ICalParameters parameters,
    -                                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<DurationProperty>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ExceptionDatesMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ExceptionDatesMarshaller.html deleted file mode 100644 index fdf81f1d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ExceptionDatesMarshaller.html +++ /dev/null @@ -1,621 +0,0 @@ - - - - - - - -ExceptionDatesMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ExceptionDatesMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.ListPropertyMarshaller<ExceptionDates,Date>
    -          extended by biweekly.property.marshaller.ExceptionDatesMarshaller
    -
    -
    -
    -
    public class ExceptionDatesMarshaller
    extends ListPropertyMarshaller<ExceptionDates,Date>
    - - -

    -Marshals ExceptionDates properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    ExceptionDatesMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ICalDataType_dataType(ExceptionDates property) - -
    -           - Determines the data type of a property instance.
    -protected  ExceptionDates_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  ExceptionDates_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(ExceptionDates property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  void_writeXml(ExceptionDates property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected  ExceptionDatesnewInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -protected  DatereadValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  StringwriteValue(ExceptionDates property, - Date value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ListPropertyMarshaller
    _parseText, _writeText
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ExceptionDatesMarshaller

    -
    -public ExceptionDatesMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_dataType

    -
    -protected ICalDataType _dataType(ExceptionDates property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Determines the data type of a property instance. -

    -

    - This method should be overridden by child classes if a property's data - type changes depending on its value. The default implementation of this - method returns the property's default data type. -

    -

    -

    -
    Overrides:
    _dataType in class ICalPropertyMarshaller<ExceptionDates>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the data type or null if unknown
    -
    -
    -
    - -

    -newInstance

    -
    -protected ExceptionDates newInstance(ICalDataType dataType,
    -                                     ICalParameters parameters)
    -
    -
    -
    Specified by:
    newInstance in class ListPropertyMarshaller<ExceptionDates,Date>
    -
    -
    -
    -
    -
    -
    - -

    -writeValue

    -
    -protected String writeValue(ExceptionDates property,
    -                            Date value)
    -
    -
    -
    Specified by:
    writeValue in class ListPropertyMarshaller<ExceptionDates,Date>
    -
    -
    -
    -
    -
    -
    - -

    -readValue

    -
    -protected Date readValue(String value,
    -                         ICalDataType dataType,
    -                         ICalParameters parameters,
    -                         List<String> warnings)
    -
    -
    -
    Specified by:
    readValue in class ListPropertyMarshaller<ExceptionDates,Date>
    -
    -
    -
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(ExceptionDates property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ListPropertyMarshaller<ExceptionDates,Date>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected ExceptionDates _parseXml(XCalElement element,
    -                                   ICalParameters parameters,
    -                                   List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ListPropertyMarshaller<ExceptionDates,Date>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(ExceptionDates property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ListPropertyMarshaller<ExceptionDates,Date>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected ExceptionDates _parseJson(JCalValue value,
    -                                    ICalDataType dataType,
    -                                    ICalParameters parameters,
    -                                    List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ListPropertyMarshaller<ExceptionDates,Date>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ExceptionRuleMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ExceptionRuleMarshaller.html deleted file mode 100644 index 1e3e8276..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ExceptionRuleMarshaller.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - -ExceptionRuleMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ExceptionRuleMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.RecurrencePropertyMarshaller<ExceptionRule>
    -          extended by biweekly.property.marshaller.ExceptionRuleMarshaller
    -
    -
    -
    -
    public class ExceptionRuleMarshaller
    extends RecurrencePropertyMarshaller<ExceptionRule>
    - - -

    -Marshals ExceptionRule properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    ExceptionRuleMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  ExceptionRulenewInstance(Recurrence recur) - -
    -          Creates a new instance of the recurrence property.
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.RecurrencePropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ExceptionRuleMarshaller

    -
    -public ExceptionRuleMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected ExceptionRule newInstance(Recurrence recur)
    -
    -
    Description copied from class: RecurrencePropertyMarshaller
    -
    Creates a new instance of the recurrence property. -

    -

    -
    Specified by:
    newInstance in class RecurrencePropertyMarshaller<ExceptionRule>
    -
    -
    -
    Parameters:
    recur - the recurrence value -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/FreeBusyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/FreeBusyMarshaller.html deleted file mode 100644 index 8ced7e91..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/FreeBusyMarshaller.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - -FreeBusyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class FreeBusyMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<FreeBusy>
    -      extended by biweekly.property.marshaller.FreeBusyMarshaller
    -
    -
    -
    -
    public class FreeBusyMarshaller
    extends ICalPropertyMarshaller<FreeBusy>
    - - -

    -Marshals FreeBusy properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    FreeBusyMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  FreeBusy_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  FreeBusy_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  FreeBusy_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(FreeBusy property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(FreeBusy property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(FreeBusy property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -FreeBusyMarshaller

    -
    -public FreeBusyMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(FreeBusy property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<FreeBusy>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected FreeBusy _parseText(String value,
    -                              ICalDataType dataType,
    -                              ICalParameters parameters,
    -                              List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<FreeBusy>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(FreeBusy property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<FreeBusy>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected FreeBusy _parseXml(XCalElement element,
    -                             ICalParameters parameters,
    -                             List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<FreeBusy>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(FreeBusy property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<FreeBusy>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected FreeBusy _parseJson(JCalValue value,
    -                              ICalDataType dataType,
    -                              ICalParameters parameters,
    -                              List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<FreeBusy>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/GeoMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/GeoMarshaller.html deleted file mode 100644 index 17829fea..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/GeoMarshaller.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - -GeoMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class GeoMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<Geo>
    -      extended by biweekly.property.marshaller.GeoMarshaller
    -
    -
    -
    -
    public class GeoMarshaller
    extends ICalPropertyMarshaller<Geo>
    - - -

    -Marshals Geo properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    GeoMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  Geo_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  Geo_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  Geo_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(Geo property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(Geo property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(Geo property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -GeoMarshaller

    -
    -public GeoMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(Geo property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<Geo>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected Geo _parseText(String value,
    -                         ICalDataType dataType,
    -                         ICalParameters parameters,
    -                         List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<Geo>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(Geo property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<Geo>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected Geo _parseXml(XCalElement element,
    -                        ICalParameters parameters,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<Geo>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(Geo property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<Geo>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected Geo _parseJson(JCalValue value,
    -                         ICalDataType dataType,
    -                         ICalParameters parameters,
    -                         List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<Geo>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.DateParser.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.DateParser.html deleted file mode 100644 index f974b1d1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.DateParser.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - - -ICalPropertyMarshaller.DateParser (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ICalPropertyMarshaller.DateParser

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller.DateParser
    -
    -
    -
    Enclosing class:
    ICalPropertyMarshaller<T extends ICalProperty>
    -
    -
    -
    -
    protected static class ICalPropertyMarshaller.DateParser
    extends Object
    - - -

    -Factory class for parsing dates. -

    - -

    -


    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ICalPropertyMarshaller.DateParser(String value) - -
    -          Creates a new date writer object.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Dateparse() - -
    -          Parses the date string.
    - ICalPropertyMarshaller.DateParsertz(TimeZone timezone) - -
    -          Sets the timezone to parse the date as.
    - ICalPropertyMarshaller.DateParsertzid(String timezoneId) - -
    -          Sets the ID of the timezone to parse the date as (TZID parameter - value).
    - ICalPropertyMarshaller.DateParsertzid(String timezoneId, - List<String> warnings) - -
    -          Sets the ID of the timezone to parse the date as (TZID parameter - value).
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalPropertyMarshaller.DateParser

    -
    -public ICalPropertyMarshaller.DateParser(String value)
    -
    -
    Creates a new date writer object. -

    -

    -
    Parameters:
    value - the date string to parse
    -
    - - - - - - - - -
    -Method Detail
    - -

    -tzid

    -
    -public ICalPropertyMarshaller.DateParser tzid(String timezoneId)
    -
    -
    Sets the ID of the timezone to parse the date as (TZID parameter - value). If the ID does not contain a "/" character, it will be - ignored. -

    -

    -
    Parameters:
    timezoneId - the timezone ID -
    Returns:
    this
    -
    -
    -
    - -

    -tzid

    -
    -public ICalPropertyMarshaller.DateParser tzid(String timezoneId,
    -                                              List<String> warnings)
    -
    -
    Sets the ID of the timezone to parse the date as (TZID parameter - value). -

    -

    -
    Parameters:
    timezoneId - the timezone ID. If the ID is global (contains a - "/" character), it will attempt to look up the timezone in Java's - timezone registry and parse the date according to that timezone. If - the timezone is not found, the date will be parsed according to the - JVM's default timezone and a warning message will be added to the - provided warnings list. If the ID is not global, it will be parsed - according to the JVM's default timezone. Whichever timezone is chosen - here, it will be ignored if the date string is in UTC time or - contains an offset.
    warnings - if the ID is global and is not recognized, a warning - message will be added to this list -
    Returns:
    this
    -
    -
    -
    - -

    -tz

    -
    -public ICalPropertyMarshaller.DateParser tz(TimeZone timezone)
    -
    -
    Sets the timezone to parse the date as. -

    -

    -
    Parameters:
    timezone - the timezone -
    Returns:
    this
    -
    -
    -
    - -

    -parse

    -
    -public Date parse()
    -
    -
    Parses the date string. -

    -

    - -
    Returns:
    the parsed date -
    Throws: -
    IllegalArgumentException - if the date string is invalid
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.DateWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.DateWriter.html deleted file mode 100644 index e717f892..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.DateWriter.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - -ICalPropertyMarshaller.DateWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ICalPropertyMarshaller.DateWriter

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter
    -
    -
    -
    Enclosing class:
    ICalPropertyMarshaller<T extends ICalProperty>
    -
    -
    -
    -
    protected static class ICalPropertyMarshaller.DateWriter
    extends Object
    - - -

    -Factory class for writing dates. -

    - -

    -


    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ICalPropertyMarshaller.DateWriter(Date date) - -
    -          Creates a new date writer object.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ICalPropertyMarshaller.DateWriterextended(boolean extended) - -
    -          Sets whether to use extended format or basic.
    - ICalPropertyMarshaller.DateWriterlocalTz(boolean localTz) - -
    -          Outputs the date in local time (without a timezone).
    - ICalPropertyMarshaller.DateWritertime(boolean hasTime) - -
    -          Sets whether to output the date's time component.
    - ICalPropertyMarshaller.DateWritertz(boolean localTz, - String timezoneId) - -
    -          Convenience method that combines localTz(boolean) and - tzid(String) into one method.
    - ICalPropertyMarshaller.DateWritertz(TimeZone timezone) - -
    -          Sets the timezone to format the date as.
    - ICalPropertyMarshaller.DateWritertzid(String timezoneId) - -
    -          Sets the ID of the timezone to format the date as (TZID parameter - value).
    - Stringwrite() - -
    -          Creates the date string.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalPropertyMarshaller.DateWriter

    -
    -public ICalPropertyMarshaller.DateWriter(Date date)
    -
    -
    Creates a new date writer object. -

    -

    -
    Parameters:
    date - the date to format
    -
    - - - - - - - - -
    -Method Detail
    - -

    -time

    -
    -public ICalPropertyMarshaller.DateWriter time(boolean hasTime)
    -
    -
    Sets whether to output the date's time component. -

    -

    -
    Parameters:
    hasTime - true include the time, false if it's strictly a date - (defaults to "true") -
    Returns:
    this
    -
    -
    -
    - -

    -tzid

    -
    -public ICalPropertyMarshaller.DateWriter tzid(String timezoneId)
    -
    -
    Sets the ID of the timezone to format the date as (TZID parameter - value). -

    -

    -
    Parameters:
    timezoneId - the timezone ID. If the ID is global (contains a - "/" character), it will attempt to look up the timezone in Java's - timezone registry and format the date according to that timezone. If - the timezone is not found, the date will be formatted in UTC. If the - ID is not global, it will be formatted according to the JVM's default - timezone. If no timezone preference is specified, the date will be - formatted as UTC. -
    Returns:
    this
    -
    -
    -
    - -

    -localTz

    -
    -public ICalPropertyMarshaller.DateWriter localTz(boolean localTz)
    -
    -
    Outputs the date in local time (without a timezone). If no timezone - preference is specified, the date will be formatted as UTC. -

    -

    -
    Parameters:
    localTz - true to use local time, false not to -
    Returns:
    this
    -
    -
    -
    - -

    -tz

    -
    -public ICalPropertyMarshaller.DateWriter tz(boolean localTz,
    -                                            String timezoneId)
    -
    -
    Convenience method that combines localTz(boolean) and - tzid(String) into one method. -

    -

    -
    Parameters:
    localTz - true to use local time, false not to
    timezoneId - the timezone ID -
    Returns:
    this
    -
    -
    -
    - -

    -tz

    -
    -public ICalPropertyMarshaller.DateWriter tz(TimeZone timezone)
    -
    -
    Sets the timezone to format the date as. If no timezone preference is - specified, the date will be formatted as UTC. -

    -

    -
    Parameters:
    timezone - the timezone -
    Returns:
    this
    -
    -
    -
    - -

    -extended

    -
    -public ICalPropertyMarshaller.DateWriter extended(boolean extended)
    -
    -
    Sets whether to use extended format or basic. -

    -

    -
    Parameters:
    extended - true to use extended format, false to use basic - (defaults to "false") -
    Returns:
    this
    -
    -
    -
    - -

    -write

    -
    -public String write()
    -
    -
    Creates the date string. -

    -

    - -
    Returns:
    the date string
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.ListCallback.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.ListCallback.html deleted file mode 100644 index a6c39c26..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.ListCallback.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - -ICalPropertyMarshaller.ListCallback (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Interface ICalPropertyMarshaller.ListCallback<T>

    -
    -
    Type Parameters:
    T - the value class
    -
    -
    Enclosing class:
    ICalPropertyMarshaller<T extends ICalProperty>
    -
    -
    -
    -
    protected static interface ICalPropertyMarshaller.ListCallback<T>
    - - -

    -Callback function used in conjunction with the - list method -

    - -

    -


    - -

    - - - - - - - - - - - - -
    -Method Summary
    - StringasString(T value) - -
    -          Converts a value to a string.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -asString

    -
    -String asString(T value)
    -
    -
    Converts a value to a string. -

    -

    -
    Parameters:
    value - the value (null values are not passed to this method, so - this parameter will never be null) -
    Returns:
    the string
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.Result.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.Result.html deleted file mode 100644 index 75134e12..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.Result.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - -ICalPropertyMarshaller.Result (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ICalPropertyMarshaller.Result<T extends ICalProperty>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller.Result<T>
    -
    -
    -
    Type Parameters:
    T - the unmarshalled property class
    -
    -
    Enclosing class:
    ICalPropertyMarshaller<T extends ICalProperty>
    -
    -
    -
    -
    public static class ICalPropertyMarshaller.Result<T extends ICalProperty>
    extends Object
    - - -

    -Represents the result of an unmarshal operation. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ICalPropertyMarshaller.Result(T property, - List<String> warnings) - -
    -          Creates a new result.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - TgetProperty() - -
    -          Gets the property object.
    - List<String>getWarnings() - -
    -          Gets the warnings.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalPropertyMarshaller.Result

    -
    -public ICalPropertyMarshaller.Result(T property,
    -                                     List<String> warnings)
    -
    -
    Creates a new result. -

    -

    -
    Parameters:
    property - the property object
    warnings - the warnings
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getWarnings

    -
    -public List<String> getWarnings()
    -
    -
    Gets the warnings. -

    -

    - -
    Returns:
    the warnings
    -
    -
    -
    - -

    -getProperty

    -
    -public T getProperty()
    -
    -
    Gets the property object. -

    -

    - -
    Returns:
    the property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.SemiStructuredIterator.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.SemiStructuredIterator.html deleted file mode 100644 index 21ff0d35..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.SemiStructuredIterator.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - -ICalPropertyMarshaller.SemiStructuredIterator (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ICalPropertyMarshaller.SemiStructuredIterator

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller.SemiStructuredIterator
    -
    -
    -
    Enclosing class:
    ICalPropertyMarshaller<T extends ICalProperty>
    -
    -
    -
    -
    protected static class ICalPropertyMarshaller.SemiStructuredIterator
    extends Object
    - - -

    -Iterates over the fields in a semi-structured value (a structured value - whose components cannot be multi-valued). -

    - -

    -


    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ICalPropertyMarshaller.SemiStructuredIterator(Iterator<String> it) - -
    -          Constructs a new structured iterator.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanhasNext() - -
    -          Determines if there are any elements left in the value.
    - Stringnext() - -
    -          Gets the next value.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalPropertyMarshaller.SemiStructuredIterator

    -
    -public ICalPropertyMarshaller.SemiStructuredIterator(Iterator<String> it)
    -
    -
    Constructs a new structured iterator. -

    -

    -
    Parameters:
    it - the iterator to wrap
    -
    - - - - - - - - -
    -Method Detail
    - -

    -next

    -
    -public String next()
    -
    -
    Gets the next value. -

    -

    - -
    Returns:
    the next value, null if the value is an empty string, or null - if there are no more values
    -
    -
    -
    - -

    -hasNext

    -
    -public boolean hasNext()
    -
    -
    Determines if there are any elements left in the value. -

    -

    - -
    Returns:
    true if there are elements left, false if not
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.Splitter.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.Splitter.html deleted file mode 100644 index 158b6161..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.Splitter.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - -ICalPropertyMarshaller.Splitter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ICalPropertyMarshaller.Splitter

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller.Splitter
    -
    -
    -
    Enclosing class:
    ICalPropertyMarshaller<T extends ICalProperty>
    -
    -
    -
    -
    protected static class ICalPropertyMarshaller.Splitter
    extends Object
    - - -

    -Factory class for splitting strings. -

    - -

    -


    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ICalPropertyMarshaller.Splitter(String string, - String delimiter) - -
    -          Creates a new splitter object.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ICalPropertyMarshaller.Splitterlimit(int limit) - -
    -          Sets the max number of split strings it should parse.
    - ICalPropertyMarshaller.SplitterremoveEmpties(boolean removeEmpties) - -
    -          Sets whether to remove empty elements.
    - List<String>split() - -
    -          Performs the split operation.
    - ICalPropertyMarshaller.Splitterunescape(boolean unescape) - -
    -          Sets whether to unescape each split string.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalPropertyMarshaller.Splitter

    -
    -public ICalPropertyMarshaller.Splitter(String string,
    -                                       String delimiter)
    -
    -
    Creates a new splitter object. -

    -

    -
    Parameters:
    string - the string to split (e.g. "one,two,three")
    delimiter - the delimiter (e.g. ",")
    -
    - - - - - - - - -
    -Method Detail
    - -

    -removeEmpties

    -
    -public ICalPropertyMarshaller.Splitter removeEmpties(boolean removeEmpties)
    -
    -
    Sets whether to remove empty elements. -

    -

    -
    Parameters:
    removeEmpties - true to remove empty elements, false not to - (default is false) -
    Returns:
    this
    -
    -
    -
    - -

    -unescape

    -
    -public ICalPropertyMarshaller.Splitter unescape(boolean unescape)
    -
    -
    Sets whether to unescape each split string. -

    -

    -
    Parameters:
    unescape - true to unescape, false not to (default is false) -
    Returns:
    this
    -
    -
    -
    - -

    -limit

    -
    -public ICalPropertyMarshaller.Splitter limit(int limit)
    -
    -
    Sets the max number of split strings it should parse. -

    -

    -
    Parameters:
    limit - the max number of split strings -
    Returns:
    this
    -
    -
    -
    - -

    -split

    -
    -public List<String> split()
    -
    -
    Performs the split operation. -

    -

    - -
    Returns:
    the split string
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.StructuredIterator.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.StructuredIterator.html deleted file mode 100644 index 5a510370..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.StructuredIterator.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - -ICalPropertyMarshaller.StructuredIterator (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ICalPropertyMarshaller.StructuredIterator

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller.StructuredIterator
    -
    -
    -
    Enclosing class:
    ICalPropertyMarshaller<T extends ICalProperty>
    -
    -
    -
    -
    protected static class ICalPropertyMarshaller.StructuredIterator
    extends Object
    - - -

    -Iterates over the fields in a structured value. -

    - -

    -


    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ICalPropertyMarshaller.StructuredIterator(Iterator<List<String>> it) - -
    -          Constructs a new structured iterator.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanhasNext() - -
    -          Determines if there are any elements left in the value.
    - List<String>nextComponent() - -
    -          Gets the next component.
    - StringnextString() - -
    -          Gets the first value of the next component.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalPropertyMarshaller.StructuredIterator

    -
    -public ICalPropertyMarshaller.StructuredIterator(Iterator<List<String>> it)
    -
    -
    Constructs a new structured iterator. -

    -

    -
    Parameters:
    it - the iterator to wrap
    -
    - - - - - - - - -
    -Method Detail
    - -

    -nextString

    -
    -public String nextString()
    -
    -
    Gets the first value of the next component. -

    -

    - -
    Returns:
    the first value, null if the value is an empty string, or - null if there are no more components
    -
    -
    -
    - -

    -nextComponent

    -
    -public List<String> nextComponent()
    -
    -
    Gets the next component. -

    -

    - -
    Returns:
    the next component, an empty list if the component is empty, - or an empty list of there are no more components
    -
    -
    -
    - -

    -hasNext

    -
    -public boolean hasNext()
    -
    -
    Determines if there are any elements left in the value. -

    -

    - -
    Returns:
    true if there are elements left, false if not
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.html deleted file mode 100644 index 64e03520..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ICalPropertyMarshaller.html +++ /dev/null @@ -1,1544 +0,0 @@ - - - - - - - -ICalPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ICalPropertyMarshaller<T extends ICalProperty>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the property class
    -
    -
    Direct Known Subclasses:
    AttachmentMarshaller, DateOrDateTimePropertyMarshaller, DateTimePropertyMarshaller, DurationPropertyMarshaller, FreeBusyMarshaller, GeoMarshaller, IntegerPropertyMarshaller, ListPropertyMarshaller, RawPropertyMarshaller, RecurrenceDatesMarshaller, RecurrencePropertyMarshaller, RequestStatusMarshaller, TextPropertyMarshaller, TriggerMarshaller, UtcOffsetPropertyMarshaller, VersionMarshaller, XmlMarshaller
    -
    -
    -
    -
    public abstract class ICalPropertyMarshaller<T extends ICalProperty>
    extends Object
    - - -

    -Base class for iCalendar property marshallers. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Nested Class Summary
    -protected static classICalPropertyMarshaller.DateParser - -
    -          Factory class for parsing dates.
    -protected static classICalPropertyMarshaller.DateWriter - -
    -          Factory class for writing dates.
    -protected static interfaceICalPropertyMarshaller.ListCallback<T> - -
    -          Callback function used in conjunction with the - list method
    -static classICalPropertyMarshaller.Result<T extends ICalProperty> - -
    -          Represents the result of an unmarshal operation.
    -protected static classICalPropertyMarshaller.SemiStructuredIterator - -
    -          Iterates over the fields in a semi-structured value (a structured value - whose components cannot be multi-valued).
    -protected static classICalPropertyMarshaller.Splitter - -
    -          Factory class for splitting strings.
    -protected static classICalPropertyMarshaller.StructuredIterator - -
    -          Iterates over the fields in a structured value.
    - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -protected  Class<T>clazz - -
    -           
    -protected  ICalDataTypedefaultDataType - -
    -           
    -protected  StringpropertyName - -
    -           
    -protected  QNameqname - -
    -           
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    ICalPropertyMarshaller(Class<T> clazz, - String propertyName, - ICalDataType defaultDataType) - -
    -          Creates a new marshaller.
    ICalPropertyMarshaller(Class<T> clazz, - String propertyName, - ICalDataType defaultDataType, - QName qname) - -
    -          Creates a new marshaller.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ICalDataType_dataType(T property) - -
    -           - Determines the data type of a property instance.
    -protected  T_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected abstract  T_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  T_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  void_prepareParameters(T property, - ICalParameters copy) - -
    -           - Sanitizes a property's parameters before the property is written.
    -protected  JCalValue_writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected abstract  String_writeText(T property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - ICalDataTypedataType(T property) - -
    -          Determines the data type of a property instance.
    -protected static ICalPropertyMarshaller.DateWriterdate(Date date) - -
    -          Formats a Date object as a string.
    -protected static ICalPropertyMarshaller.DateParserdate(String value) - -
    -          Parses a date string.
    -protected static Stringescape(String text) - -
    -           - Escapes all special characters within a iCalendar value.
    - ICalDataTypegetDefaultDataType() - -
    -          Gets the property's default data type.
    - Class<T>getPropertyClass() - -
    -          Gets the property class.
    - StringgetPropertyName() - -
    -          Gets the property name.
    - QNamegetQName() - -
    -          Gets this property's local name and namespace for xCal documents.
    -protected static - - - - -
    -<T> String
    -
    list(Collection<T> values) - -
    -          Writes a comma-separated list of values.
    -protected static - - - - -
    -<T> String
    -
    list(Collection<T> values, - ICalPropertyMarshaller.ListCallback<T> callback) - -
    -          Writes a comma-separated list of values.
    -protected static Stringlist(Object... values) - -
    -          Writes a comma-separated list of values.
    -protected static List<String>list(String value) - -
    -          Parses a comma-separated list of values.
    -protected static CannotParseExceptionmissingXmlElements(ICalDataType... dataTypes) - -
    -          Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from the property's XML - element.
    -protected static CannotParseExceptionmissingXmlElements(String... elements) - -
    -          Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from property's XML element.
    -protected static - - - - -
    -<T> String
    -
    object(Map<String,List<T>> value) - -
    -          Writes an object property value to a string.
    -protected static ListMultimap<String,String>object(String value) - -
    -          Parses an object property value.
    - ICalPropertyMarshaller.Result<T>parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property's value from a JSON data stream (jCal).
    - ICalPropertyMarshaller.Result<T>parseText(String value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    - ICalPropertyMarshaller.Result<T>parseXml(Element element, - ICalParameters parameters) - -
    -          Unmarshals a property's value from an XML document (xCal).
    - ICalParametersprepareParameters(T property) - -
    -          Sanitizes a property's parameters (called before the property is - written).
    -protected static ICalPropertyMarshaller.SemiStructuredIteratorsemistructured(String value) - -
    -          Parses a list of values that are delimited by semicolons.
    -protected static ICalPropertyMarshaller.SemiStructuredIteratorsemistructured(String value, - int limit) - -
    -          Parses a list of values that are delimited by semicolons.
    -protected static ICalPropertyMarshaller.Splittersplit(String string, - String delimiter) - -
    -          Splits a string by a delimiter, taking escaped characters into account.
    -protected static ICalPropertyMarshaller.StructuredIteratorstructured(JCalValue value) - -
    -          Provides an iterator for a jCard structured value.
    -protected static Stringstructured(Object... values) - -
    -           - Writes a structured value.
    -protected static ICalPropertyMarshaller.StructuredIteratorstructured(String value) - -
    -          Parses a structured value.
    -protected static Stringunescape(String text) - -
    -          Unescapes all special characters that are escaped with a backslash, as - well as escaped newlines.
    - JCalValuewriteJson(T property) - -
    -          Marshals a property's value to a JSON data stream (jCal).
    - StringwriteText(T property) - -
    -          Marshals a property's value to a string.
    - voidwriteXml(T property, - Element element) - -
    -          Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -clazz

    -
    -protected final Class<T extends ICalProperty> clazz
    -
    -
    -
    -
    -
    - -

    -propertyName

    -
    -protected final String propertyName
    -
    -
    -
    -
    -
    - -

    -defaultDataType

    -
    -protected final ICalDataType defaultDataType
    -
    -
    -
    -
    -
    - -

    -qname

    -
    -protected final QName qname
    -
    -
    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalPropertyMarshaller

    -
    -public ICalPropertyMarshaller(Class<T> clazz,
    -                              String propertyName,
    -                              ICalDataType defaultDataType)
    -
    -
    Creates a new marshaller. -

    -

    -
    Parameters:
    clazz - the property class
    propertyName - the property name (e.g. "VERSION")
    defaultDataType - the property's default data type (e.g. "text") or - null if unknown
    -
    -
    - -

    -ICalPropertyMarshaller

    -
    -public ICalPropertyMarshaller(Class<T> clazz,
    -                              String propertyName,
    -                              ICalDataType defaultDataType,
    -                              QName qname)
    -
    -
    Creates a new marshaller. -

    -

    -
    Parameters:
    clazz - the property class
    propertyName - the property name (e.g. "VERSION")
    defaultDataType - the property's default data type (e.g. "text") or - null if unknown
    qname - the XML element name and namespace to use for xCal documents - (by default, the XML element name is set to the lower-cased property - name, and the element namespace is set to the xCal namespace)
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getPropertyClass

    -
    -public Class<T> getPropertyClass()
    -
    -
    Gets the property class. -

    -

    - -
    Returns:
    the property class
    -
    -
    -
    - -

    -getPropertyName

    -
    -public String getPropertyName()
    -
    -
    Gets the property name. -

    -

    - -
    Returns:
    the property name (e.g. "VERSION")
    -
    -
    -
    - -

    -getDefaultDataType

    -
    -public ICalDataType getDefaultDataType()
    -
    -
    Gets the property's default data type. -

    -

    - -
    Returns:
    the default data type (e.g. "text") or null if unknown
    -
    -
    -
    - -

    -getQName

    -
    -public QName getQName()
    -
    -
    Gets this property's local name and namespace for xCal documents. -

    -

    - -
    Returns:
    the XML local name and namespace
    -
    -
    -
    - -

    -prepareParameters

    -
    -public final ICalParameters prepareParameters(T property)
    -
    -
    Sanitizes a property's parameters (called before the property is - written). Note that a copy of the parameters is returned so that the - property object does not get modified. -

    -

    -
    Parameters:
    property - the property -
    Returns:
    the sanitized parameters
    -
    -
    -
    - -

    -dataType

    -
    -public final ICalDataType dataType(T property)
    -
    -
    Determines the data type of a property instance. -

    -

    -
    Parameters:
    property - the property -
    Returns:
    the data type or null if unknown
    -
    -
    -
    - -

    -writeText

    -
    -public final String writeText(T property)
    -
    -
    Marshals a property's value to a string. -

    -

    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value -
    Throws: -
    SkipMeException - if the property should not be written to the data - stream
    -
    -
    -
    - -

    -writeXml

    -
    -public final void writeXml(T property,
    -                           Element element)
    -
    -
    Marshals a property's value to an XML element (xCal). -

    -

    -
    Parameters:
    property - the property
    element - the property's XML element -
    Throws: -
    SkipMeException - if the property should not be written to the data - stream
    -
    -
    -
    - -

    -writeJson

    -
    -public final JCalValue writeJson(T property)
    -
    -
    Marshals a property's value to a JSON data stream (jCal). -

    -

    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value -
    Throws: -
    SkipMeException - if the property should not be written to the data - stream
    -
    -
    -
    - -

    -parseText

    -
    -public final ICalPropertyMarshaller.Result<T> parseText(String value,
    -                                                        ICalDataType dataType,
    -                                                        ICalParameters parameters)
    -
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters -
    Returns:
    the unmarshalled property and its warnings -
    Throws: -
    CannotParseException - if the marshaller could not parse the - property's value -
    SkipMeException - if the property should not be added to the final - ICalendar object
    -
    -
    -
    - -

    -parseXml

    -
    -public final ICalPropertyMarshaller.Result<T> parseXml(Element element,
    -                                                       ICalParameters parameters)
    -
    -
    Unmarshals a property's value from an XML document (xCal). -

    -

    -
    Parameters:
    element - the property's XML element
    parameters - the property's parameters -
    Returns:
    the unmarshalled property and its warnings -
    Throws: -
    CannotParseException - if the marshaller could not parse the - property's value -
    SkipMeException - if the property should not be added to the final - ICalendar object
    -
    -
    -
    - -

    -parseJson

    -
    -public final ICalPropertyMarshaller.Result<T> parseJson(JCalValue value,
    -                                                        ICalDataType dataType,
    -                                                        ICalParameters parameters)
    -
    -
    Unmarshals a property's value from a JSON data stream (jCal). -

    -

    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters -
    Returns:
    the unmarshalled property and its warnings -
    Throws: -
    CannotParseException - if the marshaller could not parse the - property's value -
    SkipMeException - if the property should not be added to the final - ICalendar object
    -
    -
    -
    - -

    -_prepareParameters

    -
    -protected void _prepareParameters(T property,
    -                                  ICalParameters copy)
    -
    -

    - Sanitizes a property's parameters before the property is written. -

    -

    - This method should be overridden by child classes that wish to tweak the - property's parameters before the property is written. The default - implementation of this method does nothing. -

    -

    -

    -
    Parameters:
    property - the property
    copy - the list of parameters to make modifications to (it is a copy - of the property's parameters)
    -
    -
    -
    - -

    -_dataType

    -
    -protected ICalDataType _dataType(T property)
    -
    -

    - Determines the data type of a property instance. -

    -

    - This method should be overridden by child classes if a property's data - type changes depending on its value. The default implementation of this - method returns the property's default data type. -

    -

    -

    -
    Parameters:
    property - the property -
    Returns:
    the data type or null if unknown
    -
    -
    -
    - -

    -_writeText

    -
    -protected abstract String _writeText(T property)
    -
    -
    Marshals a property's value to a string. -

    -

    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value -
    Throws: -
    SkipMeException - if the property should not be written to the data - stream
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(T property,
    -                         XCalElement element)
    -
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - writeText(T) method). -

    -

    -

    -
    Parameters:
    property - the property
    element - the property's XML element -
    Throws: -
    SkipMeException - if the property should not be written to the data - stream
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(T property)
    -
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - writeText(T) method). -

    -

    -

    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value -
    Throws: -
    SkipMeException - if the property should not be written to the data - stream
    -
    -
    -
    - -

    -_parseText

    -
    -protected abstract T _parseText(String value,
    -                                ICalDataType dataType,
    -                                ICalParameters parameters,
    -                                List<String> warnings)
    -
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object -
    Throws: -
    CannotParseException - if the marshaller could not parse the - property's value -
    SkipMeException - if the property should not be added to the final - ICalendar object
    -
    -
    -
    - -

    -_parseXml

    -
    -protected T _parseXml(XCalElement element,
    -                      ICalParameters parameters,
    -                      List<String> warnings)
    -
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - _parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into _parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object -
    Throws: -
    CannotParseException - if the marshaller could not parse the - property's value -
    SkipMeException - if the property should not be added to the final - ICalendar object
    -
    -
    -
    - -

    -_parseJson

    -
    -protected T _parseJson(JCalValue value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the _parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object -
    Throws: -
    CannotParseException - if the marshaller could not parse the - property's value -
    SkipMeException - if the property should not be added to the final - ICalendar object
    -
    -
    -
    - -

    -unescape

    -
    -protected static String unescape(String text)
    -
    -
    Unescapes all special characters that are escaped with a backslash, as - well as escaped newlines. -

    -

    -
    Parameters:
    text - the text to unescape -
    Returns:
    the unescaped text
    -
    -
    -
    - -

    -escape

    -
    -protected static String escape(String text)
    -
    -

    - Escapes all special characters within a iCalendar value. These characters - are: -

    -
      -
    • backslashes (\)
    • -
    • commas (,)
    • -
    • semi-colons (;)
    • -
    -

    - Newlines are not escaped by this method. They are escaped when the - iCalendar object is serialized (in the ICalRawWriter class). -

    -

    -

    -
    Parameters:
    text - the text to escape -
    Returns:
    the escaped text
    -
    -
    -
    - -

    -split

    -
    -protected static ICalPropertyMarshaller.Splitter split(String string,
    -                                                       String delimiter)
    -
    -
    Splits a string by a delimiter, taking escaped characters into account. -

    -

    -
    Parameters:
    string - the string to split (e.g. "one,two,three")
    delimiter - the delimiter (e.g. ",") -
    Returns:
    the factory object
    -
    -
    -
    - -

    -list

    -
    -protected static List<String> list(String value)
    -
    -
    Parses a comma-separated list of values. -

    -

    -
    Parameters:
    value - the string to parse (e.g. "one,two,th\,ree") -
    Returns:
    the parsed values
    -
    -
    -
    - -

    -list

    -
    -protected static String list(Object... values)
    -
    -
    Writes a comma-separated list of values. -

    -

    -
    Parameters:
    values - the values to write -
    Returns:
    the list
    -
    -
    -
    - -

    -list

    -
    -protected static <T> String list(Collection<T> values)
    -
    -
    Writes a comma-separated list of values. -

    -

    -
    Parameters:
    values - the values to write -
    Returns:
    the list
    -
    -
    -
    - -

    -list

    -
    -protected static <T> String list(Collection<T> values,
    -                                 ICalPropertyMarshaller.ListCallback<T> callback)
    -
    -
    Writes a comma-separated list of values. -

    -

    -
    Parameters:
    values - the values to write
    callback - callback function used for converting each value to a - string -
    Returns:
    the list
    -
    -
    -
    - -

    -semistructured

    -
    -protected static ICalPropertyMarshaller.SemiStructuredIterator semistructured(String value)
    -
    -
    Parses a list of values that are delimited by semicolons. Unlike - structured value components, semi-structured components cannot be - multi-valued. -

    -

    -
    Parameters:
    value - the string to parse (e.g. "one;two;three") -
    Returns:
    the parsed values
    -
    -
    -
    - -

    -semistructured

    -
    -protected static ICalPropertyMarshaller.SemiStructuredIterator semistructured(String value,
    -                                                                              int limit)
    -
    -
    Parses a list of values that are delimited by semicolons. Unlike - structured value components, semi-structured components cannot be - multi-valued. -

    -

    -
    Parameters:
    value - the string to parse (e.g. "one;two;three")
    limit - the max number of components to parse -
    Returns:
    the parsed values
    -
    -
    -
    - -

    -structured

    -
    -protected static ICalPropertyMarshaller.StructuredIterator structured(String value)
    -
    -
    Parses a structured value. -

    -

    -
    Parameters:
    value - the string to parse (e.g. "one;two,three;four") -
    Returns:
    the parsed values
    -
    -
    -
    - -

    -structured

    -
    -protected static ICalPropertyMarshaller.StructuredIterator structured(JCalValue value)
    -
    -
    Provides an iterator for a jCard structured value. -

    -

    -
    Parameters:
    value - the jCard value -
    Returns:
    the parsed values
    -
    -
    -
    - -

    -structured

    -
    -protected static String structured(Object... values)
    -
    -

    - Writes a structured value. -

    -

    - This method accepts a list of Object instances. - Collection objects will be treated as multi-valued components. - Null objects will be treated as empty components. All other objects will - have their toString() method invoked to generate the string - value. -

    -

    -

    -
    Parameters:
    values - the values to write -
    Returns:
    the structured value string
    -
    -
    -
    - -

    -object

    -
    -protected static <T> String object(Map<String,List<T>> value)
    -
    -
    Writes an object property value to a string. -

    -

    -
    Parameters:
    value - the value -
    Returns:
    the string
    -
    -
    -
    - -

    -object

    -
    -protected static ListMultimap<String,String> object(String value)
    -
    -
    Parses an object property value. -

    -

    -
    Parameters:
    value - the value to parse -
    Returns:
    the parsed value
    -
    -
    -
    - -

    -date

    -
    -protected static ICalPropertyMarshaller.DateParser date(String value)
    -
    -
    Parses a date string. -

    -

    -
    Parameters:
    value - the date string -
    Returns:
    the factory object
    -
    -
    -
    - -

    -date

    -
    -protected static ICalPropertyMarshaller.DateWriter date(Date date)
    -
    -
    Formats a Date object as a string. -

    -

    -
    Parameters:
    date - the date -
    Returns:
    the factory object
    -
    -
    -
    - -

    -missingXmlElements

    -
    -protected static CannotParseException missingXmlElements(ICalDataType... dataTypes)
    -
    -
    Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from the property's XML - element. -

    -

    -
    Parameters:
    dataTypes - the expected data types (null for "unknown")
    -
    -
    -
    - -

    -missingXmlElements

    -
    -protected static CannotParseException missingXmlElements(String... elements)
    -
    -
    Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from property's XML element. -

    -

    -
    Parameters:
    elements - the names of the expected XML elements.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/IntegerPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/IntegerPropertyMarshaller.html deleted file mode 100644 index e218d076..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/IntegerPropertyMarshaller.html +++ /dev/null @@ -1,594 +0,0 @@ - - - - - - - -IntegerPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class IntegerPropertyMarshaller<T extends IntegerProperty>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.IntegerPropertyMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the property class
    -
    -
    Direct Known Subclasses:
    PercentCompleteMarshaller, PriorityMarshaller, RepeatMarshaller, SequenceMarshaller
    -
    -
    -
    -
    public abstract class IntegerPropertyMarshaller<T extends IntegerProperty>
    extends ICalPropertyMarshaller<T>
    - - -

    -Marshals properties that have integer values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    IntegerPropertyMarshaller(Class<T> clazz, - String propertyName) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  T_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  T_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  T_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(T property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected abstract  TnewInstance(Integer value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -IntegerPropertyMarshaller

    -
    -public IntegerPropertyMarshaller(Class<T> clazz,
    -                                 String propertyName)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<T extends IntegerProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected T _parseText(String value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<T extends IntegerProperty>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(T property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<T extends IntegerProperty>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected T _parseXml(XCalElement element,
    -                      ICalParameters parameters,
    -                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<T extends IntegerProperty>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<T extends IntegerProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected T _parseJson(JCalValue value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<T extends IntegerProperty>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -newInstance

    -
    -protected abstract T newInstance(Integer value)
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/LastModifiedMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/LastModifiedMarshaller.html deleted file mode 100644 index 2883b183..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/LastModifiedMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -LastModifiedMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class LastModifiedMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateTimePropertyMarshaller<LastModified>
    -          extended by biweekly.property.marshaller.LastModifiedMarshaller
    -
    -
    -
    -
    public class LastModifiedMarshaller
    extends DateTimePropertyMarshaller<LastModified>
    - - -

    -Marshals LastModified properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    LastModifiedMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  LastModifiednewInstance(Date date) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.DateTimePropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -LastModifiedMarshaller

    -
    -public LastModifiedMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected LastModified newInstance(Date date)
    -
    -
    -
    Specified by:
    newInstance in class DateTimePropertyMarshaller<LastModified>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ListPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ListPropertyMarshaller.html deleted file mode 100644 index 43577041..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ListPropertyMarshaller.html +++ /dev/null @@ -1,660 +0,0 @@ - - - - - - - -ListPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ListPropertyMarshaller<T extends ListProperty<V>,V>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.ListPropertyMarshaller<T,V>
    -
    -
    -
    Type Parameters:
    T - the property class
    V - the value class
    -
    -
    Direct Known Subclasses:
    ExceptionDatesMarshaller, TextListPropertyMarshaller
    -
    -
    -
    -
    public abstract class ListPropertyMarshaller<T extends ListProperty<V>,V>
    extends ICalPropertyMarshaller<T>
    - - -

    -Marshals properties that contain a list of values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    ListPropertyMarshaller(Class<T> clazz, - String propertyName) - -
    -           
    ListPropertyMarshaller(Class<T> clazz, - String propertyName, - ICalDataType dataType) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  T_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  T_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  T_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(T property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected abstract  TnewInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    -protected abstract  VreadValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected abstract  StringwriteValue(T property, - V value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ListPropertyMarshaller

    -
    -public ListPropertyMarshaller(Class<T> clazz,
    -                              String propertyName)
    -
    -
    -
    - -

    -ListPropertyMarshaller

    -
    -public ListPropertyMarshaller(Class<T> clazz,
    -                              String propertyName,
    -                              ICalDataType dataType)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<T extends ListProperty<V>>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected T _parseText(String value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<T extends ListProperty<V>>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(T property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<T extends ListProperty<V>>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected T _parseXml(XCalElement element,
    -                      ICalParameters parameters,
    -                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<T extends ListProperty<V>>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<T extends ListProperty<V>>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected T _parseJson(JCalValue value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<T extends ListProperty<V>>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -newInstance

    -
    -protected abstract T newInstance(ICalDataType dataType,
    -                                 ICalParameters parameters)
    -
    -
    -
    -
    -
    -
    - -

    -writeValue

    -
    -protected abstract String writeValue(T property,
    -                                     V value)
    -
    -
    -
    -
    -
    -
    - -

    -readValue

    -
    -protected abstract V readValue(String value,
    -                               ICalDataType dataType,
    -                               ICalParameters parameters,
    -                               List<String> warnings)
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/LocationMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/LocationMarshaller.html deleted file mode 100644 index 09013479..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/LocationMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -LocationMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class LocationMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Location>
    -          extended by biweekly.property.marshaller.LocationMarshaller
    -
    -
    -
    -
    public class LocationMarshaller
    extends TextPropertyMarshaller<Location>
    - - -

    -Marshals Location properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    LocationMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  LocationnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -LocationMarshaller

    -
    -public LocationMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Location newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Location>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/MethodMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/MethodMarshaller.html deleted file mode 100644 index 48dfbf03..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/MethodMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -MethodMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class MethodMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Method>
    -          extended by biweekly.property.marshaller.MethodMarshaller
    -
    -
    -
    -
    public class MethodMarshaller
    extends TextPropertyMarshaller<Method>
    - - -

    -Marshals Method properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    MethodMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  MethodnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -MethodMarshaller

    -
    -public MethodMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Method newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Method>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/OrganizerMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/OrganizerMarshaller.html deleted file mode 100644 index 48b70d67..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/OrganizerMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -OrganizerMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class OrganizerMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Organizer>
    -          extended by biweekly.property.marshaller.OrganizerMarshaller
    -
    -
    -
    -
    public class OrganizerMarshaller
    extends TextPropertyMarshaller<Organizer>
    - - -

    -Marshals Organizer properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    OrganizerMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  OrganizernewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -OrganizerMarshaller

    -
    -public OrganizerMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Organizer newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Organizer>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/PercentCompleteMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/PercentCompleteMarshaller.html deleted file mode 100644 index b841a45c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/PercentCompleteMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -PercentCompleteMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class PercentCompleteMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.IntegerPropertyMarshaller<PercentComplete>
    -          extended by biweekly.property.marshaller.PercentCompleteMarshaller
    -
    -
    -
    -
    public class PercentCompleteMarshaller
    extends IntegerPropertyMarshaller<PercentComplete>
    - - -

    -Marshals PercentComplete properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    PercentCompleteMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  PercentCompletenewInstance(Integer value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.IntegerPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PercentCompleteMarshaller

    -
    -public PercentCompleteMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected PercentComplete newInstance(Integer value)
    -
    -
    -
    Specified by:
    newInstance in class IntegerPropertyMarshaller<PercentComplete>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/PriorityMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/PriorityMarshaller.html deleted file mode 100644 index dcfae0fa..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/PriorityMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -PriorityMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class PriorityMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.IntegerPropertyMarshaller<Priority>
    -          extended by biweekly.property.marshaller.PriorityMarshaller
    -
    -
    -
    -
    public class PriorityMarshaller
    extends IntegerPropertyMarshaller<Priority>
    - - -

    -Marshals Priority properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    PriorityMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  PrioritynewInstance(Integer value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.IntegerPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PriorityMarshaller

    -
    -public PriorityMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Priority newInstance(Integer value)
    -
    -
    -
    Specified by:
    newInstance in class IntegerPropertyMarshaller<Priority>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ProductIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ProductIdMarshaller.html deleted file mode 100644 index e6640bce..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ProductIdMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -ProductIdMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ProductIdMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<ProductId>
    -          extended by biweekly.property.marshaller.ProductIdMarshaller
    -
    -
    -
    -
    public class ProductIdMarshaller
    extends TextPropertyMarshaller<ProductId>
    - - -

    -Marshals ProductId properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    ProductIdMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  ProductIdnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ProductIdMarshaller

    -
    -public ProductIdMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected ProductId newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<ProductId>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RawPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RawPropertyMarshaller.html deleted file mode 100644 index 21d1a0b9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RawPropertyMarshaller.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - -RawPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class RawPropertyMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<RawProperty>
    -      extended by biweekly.property.marshaller.RawPropertyMarshaller
    -
    -
    -
    -
    public class RawPropertyMarshaller
    extends ICalPropertyMarshaller<RawProperty>
    - - -

    -Marshals properties that do not have a marshaller associated with them. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    RawPropertyMarshaller(String propertyName) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ICalDataType_dataType(RawProperty property) - -
    -           - Determines the data type of a property instance.
    -protected  RawProperty_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  RawProperty_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  String_writeText(RawProperty property) - -
    -          Marshals a property's value to a string.
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _parseJson, _prepareParameters, _writeJson, _writeXml, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RawPropertyMarshaller

    -
    -public RawPropertyMarshaller(String propertyName)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_dataType

    -
    -protected ICalDataType _dataType(RawProperty property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Determines the data type of a property instance. -

    -

    - This method should be overridden by child classes if a property's data - type changes depending on its value. The default implementation of this - method returns the property's default data type. -

    -

    -

    -
    Overrides:
    _dataType in class ICalPropertyMarshaller<RawProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the data type or null if unknown
    -
    -
    -
    - -

    -_writeText

    -
    -protected String _writeText(RawProperty property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<RawProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected RawProperty _parseText(String value,
    -                                 ICalDataType dataType,
    -                                 ICalParameters parameters,
    -                                 List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<RawProperty>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_parseXml

    -
    -protected RawProperty _parseXml(XCalElement element,
    -                                ICalParameters parameters,
    -                                List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<RawProperty>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceDatesMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceDatesMarshaller.html deleted file mode 100644 index 26c7f703..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceDatesMarshaller.html +++ /dev/null @@ -1,602 +0,0 @@ - - - - - - - -RecurrenceDatesMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class RecurrenceDatesMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<RecurrenceDates>
    -      extended by biweekly.property.marshaller.RecurrenceDatesMarshaller
    -
    -
    -
    -
    public class RecurrenceDatesMarshaller
    extends ICalPropertyMarshaller<RecurrenceDates>
    - - -

    -Marshals RecurrenceDates properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    RecurrenceDatesMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ICalDataType_dataType(RecurrenceDates property) - -
    -           - Determines the data type of a property instance.
    -protected  RecurrenceDates_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  RecurrenceDates_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  RecurrenceDates_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(RecurrenceDates property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(RecurrenceDates property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(RecurrenceDates property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrenceDatesMarshaller

    -
    -public RecurrenceDatesMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_dataType

    -
    -protected ICalDataType _dataType(RecurrenceDates property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Determines the data type of a property instance. -

    -

    - This method should be overridden by child classes if a property's data - type changes depending on its value. The default implementation of this - method returns the property's default data type. -

    -

    -

    -
    Overrides:
    _dataType in class ICalPropertyMarshaller<RecurrenceDates>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the data type or null if unknown
    -
    -
    -
    - -

    -_writeText

    -
    -protected String _writeText(RecurrenceDates property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<RecurrenceDates>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected RecurrenceDates _parseText(String value,
    -                                     ICalDataType dataType,
    -                                     ICalParameters parameters,
    -                                     List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<RecurrenceDates>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(RecurrenceDates property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<RecurrenceDates>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected RecurrenceDates _parseXml(XCalElement element,
    -                                    ICalParameters parameters,
    -                                    List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<RecurrenceDates>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(RecurrenceDates property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<RecurrenceDates>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected RecurrenceDates _parseJson(JCalValue value,
    -                                     ICalDataType dataType,
    -                                     ICalParameters parameters,
    -                                     List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<RecurrenceDates>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceIdMarshaller.html deleted file mode 100644 index 8aca91ae..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceIdMarshaller.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - -RecurrenceIdMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class RecurrenceIdMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.DateOrDateTimePropertyMarshaller<RecurrenceId>
    -          extended by biweekly.property.marshaller.RecurrenceIdMarshaller
    -
    -
    -
    -
    public class RecurrenceIdMarshaller
    extends DateOrDateTimePropertyMarshaller<RecurrenceId>
    - - -

    -Marshals RecurrenceId properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    RecurrenceIdMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  RecurrenceIdnewInstance(Date date, - boolean hasTime) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller
    _dataType, _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrenceIdMarshaller

    -
    -public RecurrenceIdMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected RecurrenceId newInstance(Date date,
    -                                   boolean hasTime)
    -
    -
    -
    Specified by:
    newInstance in class DateOrDateTimePropertyMarshaller<RecurrenceId>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrencePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrencePropertyMarshaller.html deleted file mode 100644 index ce5a5331..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrencePropertyMarshaller.html +++ /dev/null @@ -1,597 +0,0 @@ - - - - - - - -RecurrencePropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class RecurrencePropertyMarshaller<T extends RecurrenceProperty>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.RecurrencePropertyMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the property class
    -
    -
    Direct Known Subclasses:
    ExceptionRuleMarshaller, RecurrenceRuleMarshaller
    -
    -
    -
    -
    public abstract class RecurrencePropertyMarshaller<T extends RecurrenceProperty>
    extends ICalPropertyMarshaller<T>
    - - -

    -Marshals properties whose values are Recurrence. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    RecurrencePropertyMarshaller(Class<T> clazz, - String propertyName) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  T_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  T_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  T_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(T property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected abstract  TnewInstance(Recurrence recur) - -
    -          Creates a new instance of the recurrence property.
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrencePropertyMarshaller

    -
    -public RecurrencePropertyMarshaller(Class<T> clazz,
    -                                    String propertyName)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<T extends RecurrenceProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected T _parseText(String value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<T extends RecurrenceProperty>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(T property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<T extends RecurrenceProperty>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected T _parseXml(XCalElement element,
    -                      ICalParameters parameters,
    -                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<T extends RecurrenceProperty>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<T extends RecurrenceProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected T _parseJson(JCalValue value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<T extends RecurrenceProperty>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -newInstance

    -
    -protected abstract T newInstance(Recurrence recur)
    -
    -
    Creates a new instance of the recurrence property. -

    -

    -
    Parameters:
    recur - the recurrence value -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceRuleMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceRuleMarshaller.html deleted file mode 100644 index 2e629b1d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RecurrenceRuleMarshaller.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - -RecurrenceRuleMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class RecurrenceRuleMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.RecurrencePropertyMarshaller<RecurrenceRule>
    -          extended by biweekly.property.marshaller.RecurrenceRuleMarshaller
    -
    -
    -
    -
    public class RecurrenceRuleMarshaller
    extends RecurrencePropertyMarshaller<RecurrenceRule>
    - - -

    -Marshals RecurrenceRule properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    RecurrenceRuleMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  RecurrenceRulenewInstance(Recurrence recur) - -
    -          Creates a new instance of the recurrence property.
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.RecurrencePropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrenceRuleMarshaller

    -
    -public RecurrenceRuleMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected RecurrenceRule newInstance(Recurrence recur)
    -
    -
    Description copied from class: RecurrencePropertyMarshaller
    -
    Creates a new instance of the recurrence property. -

    -

    -
    Specified by:
    newInstance in class RecurrencePropertyMarshaller<RecurrenceRule>
    -
    -
    -
    Parameters:
    recur - the recurrence value -
    Returns:
    the new instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RelatedToMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RelatedToMarshaller.html deleted file mode 100644 index 8e838416..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RelatedToMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -RelatedToMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class RelatedToMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<RelatedTo>
    -          extended by biweekly.property.marshaller.RelatedToMarshaller
    -
    -
    -
    -
    public class RelatedToMarshaller
    extends TextPropertyMarshaller<RelatedTo>
    - - -

    -Marshals RelatedTo properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    RelatedToMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  RelatedTonewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RelatedToMarshaller

    -
    -public RelatedToMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected RelatedTo newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<RelatedTo>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RepeatMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RepeatMarshaller.html deleted file mode 100644 index 96f3ceb9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RepeatMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -RepeatMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class RepeatMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.IntegerPropertyMarshaller<Repeat>
    -          extended by biweekly.property.marshaller.RepeatMarshaller
    -
    -
    -
    -
    public class RepeatMarshaller
    extends IntegerPropertyMarshaller<Repeat>
    - - -

    -Marshals Repeat properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    RepeatMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  RepeatnewInstance(Integer value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.IntegerPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RepeatMarshaller

    -
    -public RepeatMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Repeat newInstance(Integer value)
    -
    -
    -
    Specified by:
    newInstance in class IntegerPropertyMarshaller<Repeat>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RequestStatusMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RequestStatusMarshaller.html deleted file mode 100644 index 7e6da385..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/RequestStatusMarshaller.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - -RequestStatusMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class RequestStatusMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<RequestStatus>
    -      extended by biweekly.property.marshaller.RequestStatusMarshaller
    -
    -
    -
    -
    public class RequestStatusMarshaller
    extends ICalPropertyMarshaller<RequestStatus>
    - - -

    -Marshals RequestStatus properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    RequestStatusMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  RequestStatus_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  RequestStatus_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  RequestStatus_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(RequestStatus property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(RequestStatus property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(RequestStatus property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RequestStatusMarshaller

    -
    -public RequestStatusMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(RequestStatus property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<RequestStatus>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected RequestStatus _parseText(String value,
    -                                   ICalDataType dataType,
    -                                   ICalParameters parameters,
    -                                   List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<RequestStatus>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(RequestStatus property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<RequestStatus>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected RequestStatus _parseXml(XCalElement element,
    -                                  ICalParameters parameters,
    -                                  List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<RequestStatus>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(RequestStatus property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<RequestStatus>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected RequestStatus _parseJson(JCalValue value,
    -                                   ICalDataType dataType,
    -                                   ICalParameters parameters,
    -                                   List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<RequestStatus>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ResourcesMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ResourcesMarshaller.html deleted file mode 100644 index b7ba3a69..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/ResourcesMarshaller.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - -ResourcesMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class ResourcesMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.ListPropertyMarshaller<T,String>
    -          extended by biweekly.property.marshaller.TextListPropertyMarshaller<Resources>
    -              extended by biweekly.property.marshaller.ResourcesMarshaller
    -
    -
    -
    -
    public class ResourcesMarshaller
    extends TextListPropertyMarshaller<Resources>
    - - -

    -Marshals Resources properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    ResourcesMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - ResourcesnewInstance(ICalDataType dataType, - ICalParameters parameters) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextListPropertyMarshaller
    readValue, writeValue
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ListPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ResourcesMarshaller

    -
    -public ResourcesMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -public Resources newInstance(ICalDataType dataType,
    -                             ICalParameters parameters)
    -
    -
    -
    Specified by:
    newInstance in class ListPropertyMarshaller<Resources,String>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/SequenceMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/SequenceMarshaller.html deleted file mode 100644 index d9178748..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/SequenceMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -SequenceMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class SequenceMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.IntegerPropertyMarshaller<Sequence>
    -          extended by biweekly.property.marshaller.SequenceMarshaller
    -
    -
    -
    -
    public class SequenceMarshaller
    extends IntegerPropertyMarshaller<Sequence>
    - - -

    -Marshals Sequence properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    SequenceMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  SequencenewInstance(Integer value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.IntegerPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -SequenceMarshaller

    -
    -public SequenceMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Sequence newInstance(Integer value)
    -
    -
    -
    Specified by:
    newInstance in class IntegerPropertyMarshaller<Sequence>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/StatusMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/StatusMarshaller.html deleted file mode 100644 index a81970c2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/StatusMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -StatusMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class StatusMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Status>
    -          extended by biweekly.property.marshaller.StatusMarshaller
    -
    -
    -
    -
    public class StatusMarshaller
    extends TextPropertyMarshaller<Status>
    - - -

    -Marshals Status properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    StatusMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  StatusnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -StatusMarshaller

    -
    -public StatusMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Status newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Status>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/SummaryMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/SummaryMarshaller.html deleted file mode 100644 index 97afd4e8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/SummaryMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -SummaryMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class SummaryMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Summary>
    -          extended by biweekly.property.marshaller.SummaryMarshaller
    -
    -
    -
    -
    public class SummaryMarshaller
    extends TextPropertyMarshaller<Summary>
    - - -

    -Marshals Summary properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    SummaryMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  SummarynewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -SummaryMarshaller

    -
    -public SummaryMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Summary newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Summary>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TextListPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TextListPropertyMarshaller.html deleted file mode 100644 index fe677337..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TextListPropertyMarshaller.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - -TextListPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TextListPropertyMarshaller<T extends ListProperty<String>>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.ListPropertyMarshaller<T,String>
    -          extended by biweekly.property.marshaller.TextListPropertyMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the property class
    -
    -
    Direct Known Subclasses:
    CategoriesMarshaller, ResourcesMarshaller
    -
    -
    -
    -
    public abstract class TextListPropertyMarshaller<T extends ListProperty<String>>
    extends ListPropertyMarshaller<T,String>
    - - -

    -Marshals properties that have a list of text values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    TextListPropertyMarshaller(Class<T> clazz, - String propertyName) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  StringreadValue(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -           
    -protected  StringwriteValue(T property, - String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ListPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml, newInstance
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TextListPropertyMarshaller

    -
    -public TextListPropertyMarshaller(Class<T> clazz,
    -                                  String propertyName)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -writeValue

    -
    -protected String writeValue(T property,
    -                            String value)
    -
    -
    -
    Specified by:
    writeValue in class ListPropertyMarshaller<T extends ListProperty<String>,String>
    -
    -
    -
    -
    -
    -
    - -

    -readValue

    -
    -protected String readValue(String value,
    -                           ICalDataType dataType,
    -                           ICalParameters parameters,
    -                           List<String> warnings)
    -
    -
    -
    Specified by:
    readValue in class ListPropertyMarshaller<T extends ListProperty<String>,String>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TextPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TextPropertyMarshaller.html deleted file mode 100644 index 42d67882..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TextPropertyMarshaller.html +++ /dev/null @@ -1,612 +0,0 @@ - - - - - - - -TextPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TextPropertyMarshaller<T extends TextProperty>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the property class
    -
    -
    Direct Known Subclasses:
    ActionMarshaller, AttendeeMarshaller, CalendarScaleMarshaller, ClassificationMarshaller, CommentMarshaller, ContactMarshaller, DescriptionMarshaller, LocationMarshaller, MethodMarshaller, OrganizerMarshaller, ProductIdMarshaller, RelatedToMarshaller, StatusMarshaller, SummaryMarshaller, TimezoneIdMarshaller, TimezoneNameMarshaller, TimezoneUrlMarshaller, TransparencyMarshaller, UidMarshaller, UrlMarshaller
    -
    -
    -
    -
    public abstract class TextPropertyMarshaller<T extends TextProperty>
    extends ICalPropertyMarshaller<T>
    - - -

    -Marshals properties that have text values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    TextPropertyMarshaller(Class<T> clazz, - String propertyName) - -
    -           
    TextPropertyMarshaller(Class<T> clazz, - String propertyName, - ICalDataType dataType) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  T_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  T_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  T_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(T property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected abstract  TnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TextPropertyMarshaller

    -
    -public TextPropertyMarshaller(Class<T> clazz,
    -                              String propertyName)
    -
    -
    -
    - -

    -TextPropertyMarshaller

    -
    -public TextPropertyMarshaller(Class<T> clazz,
    -                              String propertyName,
    -                              ICalDataType dataType)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<T extends TextProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected T _parseText(String value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<T extends TextProperty>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(T property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<T extends TextProperty>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected T _parseXml(XCalElement element,
    -                      ICalParameters parameters,
    -                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<T extends TextProperty>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<T extends TextProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected T _parseJson(JCalValue value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<T extends TextProperty>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -newInstance

    -
    -protected abstract T newInstance(String value)
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneIdMarshaller.html deleted file mode 100644 index d90bd44f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneIdMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -TimezoneIdMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TimezoneIdMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<TimezoneId>
    -          extended by biweekly.property.marshaller.TimezoneIdMarshaller
    -
    -
    -
    -
    public class TimezoneIdMarshaller
    extends TextPropertyMarshaller<TimezoneId>
    - - -

    -Marshals TimezoneId properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    TimezoneIdMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  TimezoneIdnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneIdMarshaller

    -
    -public TimezoneIdMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected TimezoneId newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<TimezoneId>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneNameMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneNameMarshaller.html deleted file mode 100644 index 2e1b2c61..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneNameMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -TimezoneNameMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TimezoneNameMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<TimezoneName>
    -          extended by biweekly.property.marshaller.TimezoneNameMarshaller
    -
    -
    -
    -
    public class TimezoneNameMarshaller
    extends TextPropertyMarshaller<TimezoneName>
    - - -

    -Marshals TimezoneName properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    TimezoneNameMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  TimezoneNamenewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneNameMarshaller

    -
    -public TimezoneNameMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected TimezoneName newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<TimezoneName>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneOffsetFromMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneOffsetFromMarshaller.html deleted file mode 100644 index 1ec3b1aa..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneOffsetFromMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -TimezoneOffsetFromMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TimezoneOffsetFromMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.UtcOffsetPropertyMarshaller<TimezoneOffsetFrom>
    -          extended by biweekly.property.marshaller.TimezoneOffsetFromMarshaller
    -
    -
    -
    -
    public class TimezoneOffsetFromMarshaller
    extends UtcOffsetPropertyMarshaller<TimezoneOffsetFrom>
    - - -

    -Marshals TimezoneOffsetFrom properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    TimezoneOffsetFromMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  TimezoneOffsetFromnewInstance(UtcOffset offset) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.UtcOffsetPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneOffsetFromMarshaller

    -
    -public TimezoneOffsetFromMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected TimezoneOffsetFrom newInstance(UtcOffset offset)
    -
    -
    -
    Specified by:
    newInstance in class UtcOffsetPropertyMarshaller<TimezoneOffsetFrom>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneOffsetToMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneOffsetToMarshaller.html deleted file mode 100644 index 8d3f49aa..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneOffsetToMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -TimezoneOffsetToMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TimezoneOffsetToMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.UtcOffsetPropertyMarshaller<TimezoneOffsetTo>
    -          extended by biweekly.property.marshaller.TimezoneOffsetToMarshaller
    -
    -
    -
    -
    public class TimezoneOffsetToMarshaller
    extends UtcOffsetPropertyMarshaller<TimezoneOffsetTo>
    - - -

    -Marshals TimezoneOffsetTo properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    TimezoneOffsetToMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  TimezoneOffsetTonewInstance(UtcOffset offset) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.UtcOffsetPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneOffsetToMarshaller

    -
    -public TimezoneOffsetToMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected TimezoneOffsetTo newInstance(UtcOffset offset)
    -
    -
    -
    Specified by:
    newInstance in class UtcOffsetPropertyMarshaller<TimezoneOffsetTo>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneUrlMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneUrlMarshaller.html deleted file mode 100644 index 1cebe61a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TimezoneUrlMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -TimezoneUrlMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TimezoneUrlMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<TimezoneUrl>
    -          extended by biweekly.property.marshaller.TimezoneUrlMarshaller
    -
    -
    -
    -
    public class TimezoneUrlMarshaller
    extends TextPropertyMarshaller<TimezoneUrl>
    - - -

    -Marshals TimezoneUrl properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    TimezoneUrlMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  TimezoneUrlnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimezoneUrlMarshaller

    -
    -public TimezoneUrlMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected TimezoneUrl newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<TimezoneUrl>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TransparencyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TransparencyMarshaller.html deleted file mode 100644 index 170233a8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TransparencyMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -TransparencyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TransparencyMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Transparency>
    -          extended by biweekly.property.marshaller.TransparencyMarshaller
    -
    -
    -
    -
    public class TransparencyMarshaller
    extends TextPropertyMarshaller<Transparency>
    - - -

    -Marshals Transparency properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    TransparencyMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  TransparencynewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TransparencyMarshaller

    -
    -public TransparencyMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Transparency newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Transparency>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TriggerMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TriggerMarshaller.html deleted file mode 100644 index 497d36e8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/TriggerMarshaller.html +++ /dev/null @@ -1,602 +0,0 @@ - - - - - - - -TriggerMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class TriggerMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<Trigger>
    -      extended by biweekly.property.marshaller.TriggerMarshaller
    -
    -
    -
    -
    public class TriggerMarshaller
    extends ICalPropertyMarshaller<Trigger>
    - - -

    -Marshals Trigger properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    TriggerMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ICalDataType_dataType(Trigger property) - -
    -           - Determines the data type of a property instance.
    -protected  Trigger_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  Trigger_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  Trigger_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(Trigger property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(Trigger property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(Trigger property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TriggerMarshaller

    -
    -public TriggerMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_dataType

    -
    -protected ICalDataType _dataType(Trigger property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Determines the data type of a property instance. -

    -

    - This method should be overridden by child classes if a property's data - type changes depending on its value. The default implementation of this - method returns the property's default data type. -

    -

    -

    -
    Overrides:
    _dataType in class ICalPropertyMarshaller<Trigger>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the data type or null if unknown
    -
    -
    -
    - -

    -_writeText

    -
    -protected String _writeText(Trigger property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<Trigger>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected Trigger _parseText(String value,
    -                             ICalDataType dataType,
    -                             ICalParameters parameters,
    -                             List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<Trigger>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(Trigger property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<Trigger>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected Trigger _parseXml(XCalElement element,
    -                            ICalParameters parameters,
    -                            List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<Trigger>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(Trigger property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<Trigger>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected Trigger _parseJson(JCalValue value,
    -                             ICalDataType dataType,
    -                             ICalParameters parameters,
    -                             List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<Trigger>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UidMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UidMarshaller.html deleted file mode 100644 index 959126c0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UidMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -UidMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class UidMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Uid>
    -          extended by biweekly.property.marshaller.UidMarshaller
    -
    -
    -
    -
    public class UidMarshaller
    extends TextPropertyMarshaller<Uid>
    - - -

    -Marshals Uid properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    UidMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  UidnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -UidMarshaller

    -
    -public UidMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Uid newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Uid>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UrlMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UrlMarshaller.html deleted file mode 100644 index 06b09a22..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UrlMarshaller.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -UrlMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class UrlMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.TextPropertyMarshaller<Url>
    -          extended by biweekly.property.marshaller.UrlMarshaller
    -
    -
    -
    -
    public class UrlMarshaller
    extends TextPropertyMarshaller<Url>
    - - -

    -Marshals Url properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    UrlMarshaller() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  UrlnewInstance(String value) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.TextPropertyMarshaller
    _parseJson, _parseText, _parseXml, _writeJson, _writeText, _writeXml
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -UrlMarshaller

    -
    -public UrlMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -newInstance

    -
    -protected Url newInstance(String value)
    -
    -
    -
    Specified by:
    newInstance in class TextPropertyMarshaller<Url>
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UtcOffsetPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UtcOffsetPropertyMarshaller.html deleted file mode 100644 index 8d0f2a1a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/UtcOffsetPropertyMarshaller.html +++ /dev/null @@ -1,594 +0,0 @@ - - - - - - - -UtcOffsetPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class UtcOffsetPropertyMarshaller<T extends UtcOffsetProperty>

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<T>
    -      extended by biweekly.property.marshaller.UtcOffsetPropertyMarshaller<T>
    -
    -
    -
    Type Parameters:
    T - the property class
    -
    -
    Direct Known Subclasses:
    TimezoneOffsetFromMarshaller, TimezoneOffsetToMarshaller
    -
    -
    -
    -
    public abstract class UtcOffsetPropertyMarshaller<T extends UtcOffsetProperty>
    extends ICalPropertyMarshaller<T>
    - - -

    -Marshals properties that have UTC offset values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    UtcOffsetPropertyMarshaller(Class<T> clazz, - String propertyName) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  T_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  T_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  T_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(T property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(T property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(T property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    -protected abstract  TnewInstance(UtcOffset offset) - -
    -           
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -UtcOffsetPropertyMarshaller

    -
    -public UtcOffsetPropertyMarshaller(Class<T> clazz,
    -                                   String propertyName)
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<T extends UtcOffsetProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected T _parseText(String value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<T extends UtcOffsetProperty>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(T property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<T extends UtcOffsetProperty>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected T _parseXml(XCalElement element,
    -                      ICalParameters parameters,
    -                      List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<T extends UtcOffsetProperty>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(T property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<T extends UtcOffsetProperty>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected T _parseJson(JCalValue value,
    -                       ICalDataType dataType,
    -                       ICalParameters parameters,
    -                       List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<T extends UtcOffsetProperty>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -newInstance

    -
    -protected abstract T newInstance(UtcOffset offset)
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/VersionMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/VersionMarshaller.html deleted file mode 100644 index e18d3f9f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/VersionMarshaller.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - -VersionMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class VersionMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<Version>
    -      extended by biweekly.property.marshaller.VersionMarshaller
    -
    -
    -
    -
    public class VersionMarshaller
    extends ICalPropertyMarshaller<Version>
    - - -

    -Marshals Version properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    VersionMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  Version_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  Version_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  Version_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(Version property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(Version property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(Version property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VersionMarshaller

    -
    -public VersionMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(Version property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<Version>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected Version _parseText(String value,
    -                             ICalDataType dataType,
    -                             ICalParameters parameters,
    -                             List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<Version>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(Version property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<Version>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected Version _parseXml(XCalElement element,
    -                            ICalParameters parameters,
    -                            List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<Version>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(Version property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<Version>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected Version _parseJson(JCalValue value,
    -                             ICalDataType dataType,
    -                             ICalParameters parameters,
    -                             List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<Version>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/XmlMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/XmlMarshaller.html deleted file mode 100644 index d9f1752e..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/XmlMarshaller.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - -XmlMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.property.marshaller -
    -Class XmlMarshaller

    -
    -java.lang.Object
    -  extended by biweekly.property.marshaller.ICalPropertyMarshaller<Xml>
    -      extended by biweekly.property.marshaller.XmlMarshaller
    -
    -
    -
    -
    public class XmlMarshaller
    extends ICalPropertyMarshaller<Xml>
    - - -

    -Marshals Xml properties. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    ICalPropertyMarshaller.DateParser, ICalPropertyMarshaller.DateWriter, ICalPropertyMarshaller.ListCallback<T>, ICalPropertyMarshaller.Result<T extends ICalProperty>, ICalPropertyMarshaller.SemiStructuredIterator, ICalPropertyMarshaller.Splitter, ICalPropertyMarshaller.StructuredIterator
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    clazz, defaultDataType, propertyName, qname
    -  - - - - - - - - - - -
    -Constructor Summary
    XmlMarshaller() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  Xml_parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          /**
    -protected  Xml_parseText(String value, - ICalDataType dataType, - ICalParameters parameters, - List<String> warnings) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    -protected  Xml_parseXml(XCalElement element, - ICalParameters parameters, - List<String> warnings) - -
    -           - Unmarshals a property from an XML document (xCal).
    -protected  JCalValue_writeJson(Xml property) - -
    -           - Marshals a property's value to a JSON data stream (jCal).
    -protected  String_writeText(Xml property) - -
    -          Marshals a property's value to a string.
    -protected  void_writeXml(Xml property, - XCalElement element) - -
    -           - Marshals a property's value to an XML element (xCal).
    - - - - - - - -
    Methods inherited from class biweekly.property.marshaller.ICalPropertyMarshaller
    _dataType, _prepareParameters, dataType, date, date, escape, getDefaultDataType, getPropertyClass, getPropertyName, getQName, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -XmlMarshaller

    -
    -public XmlMarshaller()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -_writeText

    -
    -protected String _writeText(Xml property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Marshals a property's value to a string. -

    -

    -
    Specified by:
    _writeText in class ICalPropertyMarshaller<Xml>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseText

    -
    -protected Xml _parseText(String value,
    -                         ICalDataType dataType,
    -                         ICalParameters parameters,
    -                         List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    Unmarshals a property from a plain-text iCalendar data stream. -

    -

    -
    Specified by:
    _parseText in class ICalPropertyMarshaller<Xml>
    -
    -
    -
    Parameters:
    value - the value as read off the wire
    dataType - the data type of the property value. The property's VALUE - parameter is used to determine the data type. If the property has no - VALUE parameter, then this parameter will be set to the property's - default datatype. Note that the VALUE parameter is removed from the - property's parameter list after it has been read.
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeXml

    -
    -protected void _writeXml(Xml property,
    -                         XCalElement element)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to an XML element (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will append one child - element to the property's XML element. The child element's name will be - that of the property's data type (retrieved using the ICalPropertyMarshaller.dataType(T) - method), and the child element's text content will be set to the - property's marshalled plain-text value (retrieved using the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeXml in class ICalPropertyMarshaller<Xml>
    -
    -
    -
    Parameters:
    property - the property
    element - the property's XML element
    -
    -
    -
    - -

    -_parseXml

    -
    -protected Xml _parseXml(XCalElement element,
    -                        ICalParameters parameters,
    -                        List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Unmarshals a property from an XML document (xCal). -

    -

    - This method should be overridden by child classes that wish to support - xCal. The default implementation of this method will find the first child - element with the xCal namespace. The element's name will be used as the - property's data type and its text content will be passed into the - ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) method. If no such child element is found, then the - parent element's text content will be passed into ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) and - the data type will be null. -

    -

    -

    -
    Overrides:
    _parseXml in class ICalPropertyMarshaller<Xml>
    -
    -
    -
    Parameters:
    element - the property's XML element
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    -
    - -

    -_writeJson

    -
    -protected JCalValue _writeJson(Xml property)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -

    - Marshals a property's value to a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will create a jCard - property that has a single JSON string value (generated by the - ICalPropertyMarshaller.writeText(T) method). -

    -

    -

    -
    Overrides:
    _writeJson in class ICalPropertyMarshaller<Xml>
    -
    -
    -
    Parameters:
    property - the property -
    Returns:
    the marshalled value
    -
    -
    -
    - -

    -_parseJson

    -
    -protected Xml _parseJson(JCalValue value,
    -                         ICalDataType dataType,
    -                         ICalParameters parameters,
    -                         List<String> warnings)
    -
    -
    Description copied from class: ICalPropertyMarshaller
    -
    /** -

    - Unmarshals a property from a JSON data stream (jCal). -

    -

    - This method should be overridden by child classes that wish to support - jCal. The default implementation of this method will convert the jCal - property value to a string and pass it into the ICalPropertyMarshaller._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, java.util.List) - method. -

    - -
    - -

    - The following paragraphs describe the way in which this method's default - implementation converts a jCal value to a string: -

    -

    - If the jCal value consists of a single, non-array, non-object value, then - the value is converted to a string. Special characters (backslashes, - commas, and semicolons) are escaped in order to simulate what the value - might look like in a plain-text iCalendar object.
    - ["x-foo", {}, "text", "the;value"] --> "the\;value"
    - ["x-foo", {}, "text", 2] --> "2" -

    -

    - If the jCal value consists of multiple, non-array, non-object values, - then all the values are appended together in a single string, separated - by commas. Special characters (backslashes, commas, and semicolons) are - escaped for each value in order to prevent commas from being treated as - delimiters, and to simulate what the value might look like in a - plain-text iCalendar object.
    - ["x-foo", {}, "text", "one", "two,three"] --> - "one,two\,three" -

    -

    - If the jCal value is a single array, then this array is treated as a - "structured value", and converted its plain-text representation. Special - characters (backslashes, commas, and semicolons) are escaped for each - value in order to prevent commas and semicolons from being treated as - delimiters.
    - ["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]] - --> "one;two,three;four\;five" -

    -

    - If the jCal value starts with a JSON object, then the object is converted - to a format identical to the one used in the RRULE and EXRULE properties. - Special characters (backslashes, commas, semicolons, and equal signs) are - escaped for each value in order to preserve the syntax of the string - value.
    - ["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5" -

    -

    - For all other cases, behavior is undefined. -

    -

    -

    -
    Overrides:
    _parseJson in class ICalPropertyMarshaller<Xml>
    -
    -
    -
    Parameters:
    value - the property's JSON value
    dataType - the data type
    parameters - the parsed parameters. These parameters will be - assigned to the property object once this method returns. Therefore, do - not assign any parameters to the property object itself whilst inside of - this method, or else they will be overwritten.
    warnings - allows the programmer to alert the user to any - note-worthy (but non-critical) issues that occurred during the - unmarshalling process -
    Returns:
    the unmarshalled property object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ActionMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ActionMarshaller.html deleted file mode 100644 index 7b68f5e6..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ActionMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ActionMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ActionMarshaller

    -
    -No usage of biweekly.property.marshaller.ActionMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/AttachmentMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/AttachmentMarshaller.html deleted file mode 100644 index 51d3e436..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/AttachmentMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.AttachmentMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.AttachmentMarshaller

    -
    -No usage of biweekly.property.marshaller.AttachmentMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/AttendeeMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/AttendeeMarshaller.html deleted file mode 100644 index ec22324c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/AttendeeMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.AttendeeMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.AttendeeMarshaller

    -
    -No usage of biweekly.property.marshaller.AttendeeMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CalendarScaleMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CalendarScaleMarshaller.html deleted file mode 100644 index de85815c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CalendarScaleMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.CalendarScaleMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.CalendarScaleMarshaller

    -
    -No usage of biweekly.property.marshaller.CalendarScaleMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CategoriesMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CategoriesMarshaller.html deleted file mode 100644 index fc3a5dee..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CategoriesMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.CategoriesMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.CategoriesMarshaller

    -
    -No usage of biweekly.property.marshaller.CategoriesMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ClassificationMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ClassificationMarshaller.html deleted file mode 100644 index 118c6ae5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ClassificationMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ClassificationMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ClassificationMarshaller

    -
    -No usage of biweekly.property.marshaller.ClassificationMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CommentMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CommentMarshaller.html deleted file mode 100644 index bb9faf04..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CommentMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.CommentMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.CommentMarshaller

    -
    -No usage of biweekly.property.marshaller.CommentMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CompletedMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CompletedMarshaller.html deleted file mode 100644 index 3cc4c464..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CompletedMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.CompletedMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.CompletedMarshaller

    -
    -No usage of biweekly.property.marshaller.CompletedMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ContactMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ContactMarshaller.html deleted file mode 100644 index 25983964..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ContactMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ContactMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ContactMarshaller

    -
    -No usage of biweekly.property.marshaller.ContactMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CreatedMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CreatedMarshaller.html deleted file mode 100644 index 896c77d1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/CreatedMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.CreatedMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.CreatedMarshaller

    -
    -No usage of biweekly.property.marshaller.CreatedMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateDueMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateDueMarshaller.html deleted file mode 100644 index dbb8431b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateDueMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.DateDueMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.DateDueMarshaller

    -
    -No usage of biweekly.property.marshaller.DateDueMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateEndMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateEndMarshaller.html deleted file mode 100644 index 1ade86fe..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateEndMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.DateEndMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.DateEndMarshaller

    -
    -No usage of biweekly.property.marshaller.DateEndMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateOrDateTimePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateOrDateTimePropertyMarshaller.html deleted file mode 100644 index 554ad334..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateOrDateTimePropertyMarshaller.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.DateOrDateTimePropertyMarshaller

    -
    - - - - - - - - - -
    -Packages that use DateOrDateTimePropertyMarshaller
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DateOrDateTimePropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of DateOrDateTimePropertyMarshaller in biweekly.property.marshaller
    - classDateDueMarshaller - -
    -          Marshals DateDue properties.
    - classDateEndMarshaller - -
    -          Marshals DateEnd properties.
    - classDateStartMarshaller - -
    -          Marshals DateStart properties.
    - classRecurrenceIdMarshaller - -
    -          Marshals RecurrenceId properties.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateStartMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateStartMarshaller.html deleted file mode 100644 index 830ea6be..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateStartMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.DateStartMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.DateStartMarshaller

    -
    -No usage of biweekly.property.marshaller.DateStartMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateTimePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateTimePropertyMarshaller.html deleted file mode 100644 index d2f723b1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateTimePropertyMarshaller.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.DateTimePropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.DateTimePropertyMarshaller

    -
    - - - - - - - - - -
    -Packages that use DateTimePropertyMarshaller
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of DateTimePropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of DateTimePropertyMarshaller in biweekly.property.marshaller
    - classCompletedMarshaller - -
    -          Marshals Completed properties.
    - classCreatedMarshaller - -
    -          Marshals Created properties.
    - classDateTimeStampMarshaller - -
    -          Marshals DateTimeStamp properties.
    - classLastModifiedMarshaller - -
    -          Marshals LastModified properties.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateTimeStampMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateTimeStampMarshaller.html deleted file mode 100644 index f94f6740..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DateTimeStampMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.DateTimeStampMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.DateTimeStampMarshaller

    -
    -No usage of biweekly.property.marshaller.DateTimeStampMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DescriptionMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DescriptionMarshaller.html deleted file mode 100644 index 869a8cf8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DescriptionMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.DescriptionMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.DescriptionMarshaller

    -
    -No usage of biweekly.property.marshaller.DescriptionMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DurationPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DurationPropertyMarshaller.html deleted file mode 100644 index f465ad61..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/DurationPropertyMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.DurationPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.DurationPropertyMarshaller

    -
    -No usage of biweekly.property.marshaller.DurationPropertyMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ExceptionDatesMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ExceptionDatesMarshaller.html deleted file mode 100644 index a3d388fd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ExceptionDatesMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ExceptionDatesMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ExceptionDatesMarshaller

    -
    -No usage of biweekly.property.marshaller.ExceptionDatesMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ExceptionRuleMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ExceptionRuleMarshaller.html deleted file mode 100644 index 1a7b8573..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ExceptionRuleMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ExceptionRuleMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ExceptionRuleMarshaller

    -
    -No usage of biweekly.property.marshaller.ExceptionRuleMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/FreeBusyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/FreeBusyMarshaller.html deleted file mode 100644 index dcf99734..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/FreeBusyMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.FreeBusyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.FreeBusyMarshaller

    -
    -No usage of biweekly.property.marshaller.FreeBusyMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/GeoMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/GeoMarshaller.html deleted file mode 100644 index 34a204bd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/GeoMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.GeoMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.GeoMarshaller

    -
    -No usage of biweekly.property.marshaller.GeoMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.DateParser.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.DateParser.html deleted file mode 100644 index b2b88ea2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.DateParser.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ICalPropertyMarshaller.DateParser (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ICalPropertyMarshaller.DateParser

    -
    - - - - - - - - - -
    -Packages that use ICalPropertyMarshaller.DateParser
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller.DateParser in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ICalPropertyMarshaller.DateParser
    -protected static ICalPropertyMarshaller.DateParserICalPropertyMarshaller.date(String value) - -
    -          Parses a date string.
    - ICalPropertyMarshaller.DateParserICalPropertyMarshaller.DateParser.tz(TimeZone timezone) - -
    -          Sets the timezone to parse the date as.
    - ICalPropertyMarshaller.DateParserICalPropertyMarshaller.DateParser.tzid(String timezoneId) - -
    -          Sets the ID of the timezone to parse the date as (TZID parameter - value).
    - ICalPropertyMarshaller.DateParserICalPropertyMarshaller.DateParser.tzid(String timezoneId, - List<String> warnings) - -
    -          Sets the ID of the timezone to parse the date as (TZID parameter - value).
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.DateWriter.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.DateWriter.html deleted file mode 100644 index 27e39316..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.DateWriter.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter

    -
    - - - - - - - - - -
    -Packages that use ICalPropertyMarshaller.DateWriter
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller.DateWriter in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ICalPropertyMarshaller.DateWriter
    -protected static ICalPropertyMarshaller.DateWriterICalPropertyMarshaller.date(Date date) - -
    -          Formats a Date object as a string.
    - ICalPropertyMarshaller.DateWriterICalPropertyMarshaller.DateWriter.extended(boolean extended) - -
    -          Sets whether to use extended format or basic.
    - ICalPropertyMarshaller.DateWriterICalPropertyMarshaller.DateWriter.localTz(boolean localTz) - -
    -          Outputs the date in local time (without a timezone).
    - ICalPropertyMarshaller.DateWriterICalPropertyMarshaller.DateWriter.time(boolean hasTime) - -
    -          Sets whether to output the date's time component.
    - ICalPropertyMarshaller.DateWriterICalPropertyMarshaller.DateWriter.tz(boolean localTz, - String timezoneId) - -
    -          Convenience method that combines localTz(boolean) and - tzid(String) into one method.
    - ICalPropertyMarshaller.DateWriterICalPropertyMarshaller.DateWriter.tz(TimeZone timezone) - -
    -          Sets the timezone to format the date as.
    - ICalPropertyMarshaller.DateWriterICalPropertyMarshaller.DateWriter.tzid(String timezoneId) - -
    -          Sets the ID of the timezone to format the date as (TZID parameter - value).
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.ListCallback.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.ListCallback.html deleted file mode 100644 index a53e1d3b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.ListCallback.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Interface biweekly.property.marshaller.ICalPropertyMarshaller.ListCallback (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    biweekly.property.marshaller.ICalPropertyMarshaller.ListCallback

    -
    - - - - - - - - - -
    -Packages that use ICalPropertyMarshaller.ListCallback
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller.ListCallback in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type ICalPropertyMarshaller.ListCallback
    -protected static - - - - -
    -<T> String
    -
    ICalPropertyMarshaller.list(Collection<T> values, - ICalPropertyMarshaller.ListCallback<T> callback) - -
    -          Writes a comma-separated list of values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.Result.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.Result.html deleted file mode 100644 index 4d93aba9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.Result.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ICalPropertyMarshaller.Result (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ICalPropertyMarshaller.Result

    -
    - - - - - - - - - -
    -Packages that use ICalPropertyMarshaller.Result
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller.Result in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ICalPropertyMarshaller.Result
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseJson(JCalValue value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property's value from a JSON data stream (jCal).
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseText(String value, - ICalDataType dataType, - ICalParameters parameters) - -
    -          Unmarshals a property from a plain-text iCalendar data stream.
    - ICalPropertyMarshaller.Result<T>ICalPropertyMarshaller.parseXml(Element element, - ICalParameters parameters) - -
    -          Unmarshals a property's value from an XML document (xCal).
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.SemiStructuredIterator.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.SemiStructuredIterator.html deleted file mode 100644 index b7fb4fef..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.SemiStructuredIterator.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ICalPropertyMarshaller.SemiStructuredIterator (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ICalPropertyMarshaller.SemiStructuredIterator

    -
    - - - - - - - - - -
    -Packages that use ICalPropertyMarshaller.SemiStructuredIterator
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller.SemiStructuredIterator in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ICalPropertyMarshaller.SemiStructuredIterator
    -protected static ICalPropertyMarshaller.SemiStructuredIteratorICalPropertyMarshaller.semistructured(String value) - -
    -          Parses a list of values that are delimited by semicolons.
    -protected static ICalPropertyMarshaller.SemiStructuredIteratorICalPropertyMarshaller.semistructured(String value, - int limit) - -
    -          Parses a list of values that are delimited by semicolons.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.Splitter.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.Splitter.html deleted file mode 100644 index b4e7ccdb..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.Splitter.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ICalPropertyMarshaller.Splitter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ICalPropertyMarshaller.Splitter

    -
    - - - - - - - - - -
    -Packages that use ICalPropertyMarshaller.Splitter
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller.Splitter in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ICalPropertyMarshaller.Splitter
    - ICalPropertyMarshaller.SplitterICalPropertyMarshaller.Splitter.limit(int limit) - -
    -          Sets the max number of split strings it should parse.
    - ICalPropertyMarshaller.SplitterICalPropertyMarshaller.Splitter.removeEmpties(boolean removeEmpties) - -
    -          Sets whether to remove empty elements.
    -protected static ICalPropertyMarshaller.SplitterICalPropertyMarshaller.split(String string, - String delimiter) - -
    -          Splits a string by a delimiter, taking escaped characters into account.
    - ICalPropertyMarshaller.SplitterICalPropertyMarshaller.Splitter.unescape(boolean unescape) - -
    -          Sets whether to unescape each split string.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.StructuredIterator.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.StructuredIterator.html deleted file mode 100644 index 13f9c2e2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.StructuredIterator.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ICalPropertyMarshaller.StructuredIterator (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ICalPropertyMarshaller.StructuredIterator

    -
    - - - - - - - - - -
    -Packages that use ICalPropertyMarshaller.StructuredIterator
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller.StructuredIterator in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ICalPropertyMarshaller.StructuredIterator
    -protected static ICalPropertyMarshaller.StructuredIteratorICalPropertyMarshaller.structured(JCalValue value) - -
    -          Provides an iterator for a jCard structured value.
    -protected static ICalPropertyMarshaller.StructuredIteratorICalPropertyMarshaller.structured(String value) - -
    -          Parses a structured value.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.html deleted file mode 100644 index dfdb3787..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ICalPropertyMarshaller.html +++ /dev/null @@ -1,899 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ICalPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ICalPropertyMarshaller

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ICalPropertyMarshaller
    biweekly  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller in biweekly
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly with parameters of type ICalPropertyMarshaller
    - Biweekly.ParserChainTextReaderBiweekly.ParserChainTextReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainTextStringBiweekly.ParserChainTextString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlStringBiweekly.ParserChainXmlString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlReaderBiweekly.ParserChainXmlReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainXmlDocumentBiweekly.ParserChainXmlDocument.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainJsonReaderBiweekly.ParserChainJsonReader.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.ParserChainJsonStringBiweekly.ParserChainJsonString.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    - Biweekly.WriterChainXmlBiweekly.WriterChainXml.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller in biweekly.io
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.io that return ICalPropertyMarshaller
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(Class<? extends ICalProperty> clazz) - -
    -          Gets a property marshaller by class.
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(ICalProperty property) - -
    -          Gets the appropriate property marshaller for a given property instance.
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(QName qname) - -
    -          Gets a property marshaller by XML local name and namespace.
    - ICalPropertyMarshaller<? extends ICalProperty>ICalMarshallerRegistrar.getPropertyMarshaller(String propertyName) - -
    -          Gets a property marshaller by name.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io with parameters of type ICalPropertyMarshaller
    - voidICalMarshallerRegistrar.register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Registers a property marshaller.
    - voidICalMarshallerRegistrar.unregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -          Unregisters a property marshaller
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller in biweekly.io.json
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type ICalPropertyMarshaller
    - voidJCalWriter.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidJCalReader.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller in biweekly.io.text
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.io.text with parameters of type ICalPropertyMarshaller
    - voidICalWriter.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    - voidICalReader.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller in biweekly.io.xml
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.xml with parameters of type ICalPropertyMarshaller
    - voidXCalDocument.registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) - -
    -           - Registers an experimental property marshaller.
    -  -

    - - - - - -
    -Uses of ICalPropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of ICalPropertyMarshaller in biweekly.property.marshaller
    - classActionMarshaller - -
    -          Marshals Action properties.
    - classAttachmentMarshaller - -
    -          Marshals Attachment properties.
    - classAttendeeMarshaller - -
    -          Marshals Attendee properties.
    - classCalendarScaleMarshaller - -
    -          Marshals CalendarScale properties.
    - classCategoriesMarshaller - -
    -          Marshals Categories properties.
    - classClassificationMarshaller - -
    -          Marshals Classification properties.
    - classCommentMarshaller - -
    -          Marshals Comment properties.
    - classCompletedMarshaller - -
    -          Marshals Completed properties.
    - classContactMarshaller - -
    -          Marshals Contact properties.
    - classCreatedMarshaller - -
    -          Marshals Created properties.
    - classDateDueMarshaller - -
    -          Marshals DateDue properties.
    - classDateEndMarshaller - -
    -          Marshals DateEnd properties.
    - classDateOrDateTimePropertyMarshaller<T extends DateOrDateTimeProperty> - -
    -          Marshals properties that have either "date" or "date-time" values.
    - classDateStartMarshaller - -
    -          Marshals DateStart properties.
    - classDateTimePropertyMarshaller<T extends DateTimeProperty> - -
    -          Marshals properties that have "date-time" values.
    - classDateTimeStampMarshaller - -
    -          Marshals DateTimeStamp properties.
    - classDescriptionMarshaller - -
    -          Marshals Description properties.
    - classDurationPropertyMarshaller - -
    -          Marshals DurationProperty properties.
    - classExceptionDatesMarshaller - -
    -          Marshals ExceptionDates properties.
    - classExceptionRuleMarshaller - -
    -          Marshals ExceptionRule properties.
    - classFreeBusyMarshaller - -
    -          Marshals FreeBusy properties.
    - classGeoMarshaller - -
    -          Marshals Geo properties.
    - classIntegerPropertyMarshaller<T extends IntegerProperty> - -
    -          Marshals properties that have integer values.
    - classLastModifiedMarshaller - -
    -          Marshals LastModified properties.
    - classListPropertyMarshaller<T extends ListProperty<V>,V> - -
    -          Marshals properties that contain a list of values.
    - classLocationMarshaller - -
    -          Marshals Location properties.
    - classMethodMarshaller - -
    -          Marshals Method properties.
    - classOrganizerMarshaller - -
    -          Marshals Organizer properties.
    - classPercentCompleteMarshaller - -
    -          Marshals PercentComplete properties.
    - classPriorityMarshaller - -
    -          Marshals Priority properties.
    - classProductIdMarshaller - -
    -          Marshals ProductId properties.
    - classRawPropertyMarshaller - -
    -          Marshals properties that do not have a marshaller associated with them.
    - classRecurrenceDatesMarshaller - -
    -          Marshals RecurrenceDates properties.
    - classRecurrenceIdMarshaller - -
    -          Marshals RecurrenceId properties.
    - classRecurrencePropertyMarshaller<T extends RecurrenceProperty> - -
    -          Marshals properties whose values are Recurrence.
    - classRecurrenceRuleMarshaller - -
    -          Marshals RecurrenceRule properties.
    - classRelatedToMarshaller - -
    -          Marshals RelatedTo properties.
    - classRepeatMarshaller - -
    -          Marshals Repeat properties.
    - classRequestStatusMarshaller - -
    -          Marshals RequestStatus properties.
    - classResourcesMarshaller - -
    -          Marshals Resources properties.
    - classSequenceMarshaller - -
    -          Marshals Sequence properties.
    - classStatusMarshaller - -
    -          Marshals Status properties.
    - classSummaryMarshaller - -
    -          Marshals Summary properties.
    - classTextListPropertyMarshaller<T extends ListProperty<String>> - -
    -          Marshals properties that have a list of text values.
    - classTextPropertyMarshaller<T extends TextProperty> - -
    -          Marshals properties that have text values.
    - classTimezoneIdMarshaller - -
    -          Marshals TimezoneId properties.
    - classTimezoneNameMarshaller - -
    -          Marshals TimezoneName properties.
    - classTimezoneOffsetFromMarshaller - -
    -          Marshals TimezoneOffsetFrom properties.
    - classTimezoneOffsetToMarshaller - -
    -          Marshals TimezoneOffsetTo properties.
    - classTimezoneUrlMarshaller - -
    -          Marshals TimezoneUrl properties.
    - classTransparencyMarshaller - -
    -          Marshals Transparency properties.
    - classTriggerMarshaller - -
    -          Marshals Trigger properties.
    - classUidMarshaller - -
    -          Marshals Uid properties.
    - classUrlMarshaller - -
    -          Marshals Url properties.
    - classUtcOffsetPropertyMarshaller<T extends UtcOffsetProperty> - -
    -          Marshals properties that have UTC offset values.
    - classVersionMarshaller - -
    -          Marshals Version properties.
    - classXmlMarshaller - -
    -          Marshals Xml properties.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/IntegerPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/IntegerPropertyMarshaller.html deleted file mode 100644 index 69f18e54..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/IntegerPropertyMarshaller.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.IntegerPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.IntegerPropertyMarshaller

    -
    - - - - - - - - - -
    -Packages that use IntegerPropertyMarshaller
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of IntegerPropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of IntegerPropertyMarshaller in biweekly.property.marshaller
    - classPercentCompleteMarshaller - -
    -          Marshals PercentComplete properties.
    - classPriorityMarshaller - -
    -          Marshals Priority properties.
    - classRepeatMarshaller - -
    -          Marshals Repeat properties.
    - classSequenceMarshaller - -
    -          Marshals Sequence properties.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/LastModifiedMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/LastModifiedMarshaller.html deleted file mode 100644 index ac11c8e1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/LastModifiedMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.LastModifiedMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.LastModifiedMarshaller

    -
    -No usage of biweekly.property.marshaller.LastModifiedMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ListPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ListPropertyMarshaller.html deleted file mode 100644 index ece311a9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ListPropertyMarshaller.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ListPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ListPropertyMarshaller

    -
    - - - - - - - - - -
    -Packages that use ListPropertyMarshaller
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of ListPropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of ListPropertyMarshaller in biweekly.property.marshaller
    - classCategoriesMarshaller - -
    -          Marshals Categories properties.
    - classExceptionDatesMarshaller - -
    -          Marshals ExceptionDates properties.
    - classResourcesMarshaller - -
    -          Marshals Resources properties.
    - classTextListPropertyMarshaller<T extends ListProperty<String>> - -
    -          Marshals properties that have a list of text values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/LocationMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/LocationMarshaller.html deleted file mode 100644 index d778b875..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/LocationMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.LocationMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.LocationMarshaller

    -
    -No usage of biweekly.property.marshaller.LocationMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/MethodMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/MethodMarshaller.html deleted file mode 100644 index 4257621a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/MethodMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.MethodMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.MethodMarshaller

    -
    -No usage of biweekly.property.marshaller.MethodMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/OrganizerMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/OrganizerMarshaller.html deleted file mode 100644 index 8bb677e0..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/OrganizerMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.OrganizerMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.OrganizerMarshaller

    -
    -No usage of biweekly.property.marshaller.OrganizerMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/PercentCompleteMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/PercentCompleteMarshaller.html deleted file mode 100644 index 4ea1d6da..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/PercentCompleteMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.PercentCompleteMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.PercentCompleteMarshaller

    -
    -No usage of biweekly.property.marshaller.PercentCompleteMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/PriorityMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/PriorityMarshaller.html deleted file mode 100644 index ee60cd11..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/PriorityMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.PriorityMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.PriorityMarshaller

    -
    -No usage of biweekly.property.marshaller.PriorityMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ProductIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ProductIdMarshaller.html deleted file mode 100644 index ceea0561..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ProductIdMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ProductIdMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ProductIdMarshaller

    -
    -No usage of biweekly.property.marshaller.ProductIdMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RawPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RawPropertyMarshaller.html deleted file mode 100644 index f02f267e..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RawPropertyMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.RawPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.RawPropertyMarshaller

    -
    -No usage of biweekly.property.marshaller.RawPropertyMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceDatesMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceDatesMarshaller.html deleted file mode 100644 index d1dcff09..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceDatesMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.RecurrenceDatesMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.RecurrenceDatesMarshaller

    -
    -No usage of biweekly.property.marshaller.RecurrenceDatesMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceIdMarshaller.html deleted file mode 100644 index c7739935..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceIdMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.RecurrenceIdMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.RecurrenceIdMarshaller

    -
    -No usage of biweekly.property.marshaller.RecurrenceIdMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrencePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrencePropertyMarshaller.html deleted file mode 100644 index 85808a1f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrencePropertyMarshaller.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.RecurrencePropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.RecurrencePropertyMarshaller

    -
    - - - - - - - - - -
    -Packages that use RecurrencePropertyMarshaller
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of RecurrencePropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Subclasses of RecurrencePropertyMarshaller in biweekly.property.marshaller
    - classExceptionRuleMarshaller - -
    -          Marshals ExceptionRule properties.
    - classRecurrenceRuleMarshaller - -
    -          Marshals RecurrenceRule properties.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceRuleMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceRuleMarshaller.html deleted file mode 100644 index 5a73ea87..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RecurrenceRuleMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.RecurrenceRuleMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.RecurrenceRuleMarshaller

    -
    -No usage of biweekly.property.marshaller.RecurrenceRuleMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RelatedToMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RelatedToMarshaller.html deleted file mode 100644 index d7d191c4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RelatedToMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.RelatedToMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.RelatedToMarshaller

    -
    -No usage of biweekly.property.marshaller.RelatedToMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RepeatMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RepeatMarshaller.html deleted file mode 100644 index b98fc930..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RepeatMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.RepeatMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.RepeatMarshaller

    -
    -No usage of biweekly.property.marshaller.RepeatMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RequestStatusMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RequestStatusMarshaller.html deleted file mode 100644 index 896067bd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/RequestStatusMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.RequestStatusMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.RequestStatusMarshaller

    -
    -No usage of biweekly.property.marshaller.RequestStatusMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ResourcesMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ResourcesMarshaller.html deleted file mode 100644 index 7594aa57..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/ResourcesMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.ResourcesMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.ResourcesMarshaller

    -
    -No usage of biweekly.property.marshaller.ResourcesMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/SequenceMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/SequenceMarshaller.html deleted file mode 100644 index 40edfe35..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/SequenceMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.SequenceMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.SequenceMarshaller

    -
    -No usage of biweekly.property.marshaller.SequenceMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/StatusMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/StatusMarshaller.html deleted file mode 100644 index df00130d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/StatusMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.StatusMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.StatusMarshaller

    -
    -No usage of biweekly.property.marshaller.StatusMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/SummaryMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/SummaryMarshaller.html deleted file mode 100644 index a8278131..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/SummaryMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.SummaryMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.SummaryMarshaller

    -
    -No usage of biweekly.property.marshaller.SummaryMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TextListPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TextListPropertyMarshaller.html deleted file mode 100644 index b3ee9320..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TextListPropertyMarshaller.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TextListPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TextListPropertyMarshaller

    -
    - - - - - - - - - -
    -Packages that use TextListPropertyMarshaller
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of TextListPropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Subclasses of TextListPropertyMarshaller in biweekly.property.marshaller
    - classCategoriesMarshaller - -
    -          Marshals Categories properties.
    - classResourcesMarshaller - -
    -          Marshals Resources properties.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TextPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TextPropertyMarshaller.html deleted file mode 100644 index 116f1eca..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TextPropertyMarshaller.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TextPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TextPropertyMarshaller

    -
    - - - - - - - - - -
    -Packages that use TextPropertyMarshaller
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of TextPropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of TextPropertyMarshaller in biweekly.property.marshaller
    - classActionMarshaller - -
    -          Marshals Action properties.
    - classAttendeeMarshaller - -
    -          Marshals Attendee properties.
    - classCalendarScaleMarshaller - -
    -          Marshals CalendarScale properties.
    - classClassificationMarshaller - -
    -          Marshals Classification properties.
    - classCommentMarshaller - -
    -          Marshals Comment properties.
    - classContactMarshaller - -
    -          Marshals Contact properties.
    - classDescriptionMarshaller - -
    -          Marshals Description properties.
    - classLocationMarshaller - -
    -          Marshals Location properties.
    - classMethodMarshaller - -
    -          Marshals Method properties.
    - classOrganizerMarshaller - -
    -          Marshals Organizer properties.
    - classProductIdMarshaller - -
    -          Marshals ProductId properties.
    - classRelatedToMarshaller - -
    -          Marshals RelatedTo properties.
    - classStatusMarshaller - -
    -          Marshals Status properties.
    - classSummaryMarshaller - -
    -          Marshals Summary properties.
    - classTimezoneIdMarshaller - -
    -          Marshals TimezoneId properties.
    - classTimezoneNameMarshaller - -
    -          Marshals TimezoneName properties.
    - classTimezoneUrlMarshaller - -
    -          Marshals TimezoneUrl properties.
    - classTransparencyMarshaller - -
    -          Marshals Transparency properties.
    - classUidMarshaller - -
    -          Marshals Uid properties.
    - classUrlMarshaller - -
    -          Marshals Url properties.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneIdMarshaller.html deleted file mode 100644 index 3fac1f0d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneIdMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TimezoneIdMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TimezoneIdMarshaller

    -
    -No usage of biweekly.property.marshaller.TimezoneIdMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneNameMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneNameMarshaller.html deleted file mode 100644 index 99d5c065..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneNameMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TimezoneNameMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TimezoneNameMarshaller

    -
    -No usage of biweekly.property.marshaller.TimezoneNameMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneOffsetFromMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneOffsetFromMarshaller.html deleted file mode 100644 index b46229f5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneOffsetFromMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TimezoneOffsetFromMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TimezoneOffsetFromMarshaller

    -
    -No usage of biweekly.property.marshaller.TimezoneOffsetFromMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneOffsetToMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneOffsetToMarshaller.html deleted file mode 100644 index 7824948b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneOffsetToMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TimezoneOffsetToMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TimezoneOffsetToMarshaller

    -
    -No usage of biweekly.property.marshaller.TimezoneOffsetToMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneUrlMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneUrlMarshaller.html deleted file mode 100644 index 4fc7cb46..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TimezoneUrlMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TimezoneUrlMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TimezoneUrlMarshaller

    -
    -No usage of biweekly.property.marshaller.TimezoneUrlMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TransparencyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TransparencyMarshaller.html deleted file mode 100644 index b26ba9d4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TransparencyMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TransparencyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TransparencyMarshaller

    -
    -No usage of biweekly.property.marshaller.TransparencyMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TriggerMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TriggerMarshaller.html deleted file mode 100644 index b6735eb5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/TriggerMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.TriggerMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.TriggerMarshaller

    -
    -No usage of biweekly.property.marshaller.TriggerMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UidMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UidMarshaller.html deleted file mode 100644 index 1c1250e3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UidMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.UidMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.UidMarshaller

    -
    -No usage of biweekly.property.marshaller.UidMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UrlMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UrlMarshaller.html deleted file mode 100644 index 7d7a67ab..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UrlMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.UrlMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.UrlMarshaller

    -
    -No usage of biweekly.property.marshaller.UrlMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UtcOffsetPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UtcOffsetPropertyMarshaller.html deleted file mode 100644 index 8ecadbe2..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/UtcOffsetPropertyMarshaller.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.UtcOffsetPropertyMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.UtcOffsetPropertyMarshaller

    -
    - - - - - - - - - -
    -Packages that use UtcOffsetPropertyMarshaller
    biweekly.property.marshaller  
    -  -

    - - - - - -
    -Uses of UtcOffsetPropertyMarshaller in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - -
    Subclasses of UtcOffsetPropertyMarshaller in biweekly.property.marshaller
    - classTimezoneOffsetFromMarshaller - -
    -          Marshals TimezoneOffsetFrom properties.
    - classTimezoneOffsetToMarshaller - -
    -          Marshals TimezoneOffsetTo properties.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/VersionMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/VersionMarshaller.html deleted file mode 100644 index 10ea9c12..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/VersionMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.VersionMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.VersionMarshaller

    -
    -No usage of biweekly.property.marshaller.VersionMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/XmlMarshaller.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/XmlMarshaller.html deleted file mode 100644 index 45391bb4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/class-use/XmlMarshaller.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.property.marshaller.XmlMarshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.property.marshaller.XmlMarshaller

    -
    -No usage of biweekly.property.marshaller.XmlMarshaller -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-frame.html deleted file mode 100644 index f4f0f1dd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-frame.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - -biweekly.property.marshaller (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.property.marshaller - - - - -
    -Interfaces  - -
    -ICalPropertyMarshaller.ListCallback
    - - - - - - -
    -Classes  - -
    -ActionMarshaller -
    -AttachmentMarshaller -
    -AttendeeMarshaller -
    -CalendarScaleMarshaller -
    -CategoriesMarshaller -
    -ClassificationMarshaller -
    -CommentMarshaller -
    -CompletedMarshaller -
    -ContactMarshaller -
    -CreatedMarshaller -
    -DateDueMarshaller -
    -DateEndMarshaller -
    -DateOrDateTimePropertyMarshaller -
    -DateStartMarshaller -
    -DateTimePropertyMarshaller -
    -DateTimeStampMarshaller -
    -DescriptionMarshaller -
    -DurationPropertyMarshaller -
    -ExceptionDatesMarshaller -
    -ExceptionRuleMarshaller -
    -FreeBusyMarshaller -
    -GeoMarshaller -
    -ICalPropertyMarshaller -
    -ICalPropertyMarshaller.DateParser -
    -ICalPropertyMarshaller.DateWriter -
    -ICalPropertyMarshaller.Result -
    -ICalPropertyMarshaller.SemiStructuredIterator -
    -ICalPropertyMarshaller.Splitter -
    -ICalPropertyMarshaller.StructuredIterator -
    -IntegerPropertyMarshaller -
    -LastModifiedMarshaller -
    -ListPropertyMarshaller -
    -LocationMarshaller -
    -MethodMarshaller -
    -OrganizerMarshaller -
    -PercentCompleteMarshaller -
    -PriorityMarshaller -
    -ProductIdMarshaller -
    -RawPropertyMarshaller -
    -RecurrenceDatesMarshaller -
    -RecurrenceIdMarshaller -
    -RecurrencePropertyMarshaller -
    -RecurrenceRuleMarshaller -
    -RelatedToMarshaller -
    -RepeatMarshaller -
    -RequestStatusMarshaller -
    -ResourcesMarshaller -
    -SequenceMarshaller -
    -StatusMarshaller -
    -SummaryMarshaller -
    -TextListPropertyMarshaller -
    -TextPropertyMarshaller -
    -TimezoneIdMarshaller -
    -TimezoneNameMarshaller -
    -TimezoneOffsetFromMarshaller -
    -TimezoneOffsetToMarshaller -
    -TimezoneUrlMarshaller -
    -TransparencyMarshaller -
    -TriggerMarshaller -
    -UidMarshaller -
    -UrlMarshaller -
    -UtcOffsetPropertyMarshaller -
    -VersionMarshaller -
    -XmlMarshaller
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-summary.html deleted file mode 100644 index a1567667..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-summary.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - -biweekly.property.marshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.property.marshaller -

    - - - - - - - - - -
    -Interface Summary
    ICalPropertyMarshaller.ListCallback<T>Callback function used in conjunction with the - list method
    -  - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    ActionMarshallerMarshals Action properties.
    AttachmentMarshallerMarshals Attachment properties.
    AttendeeMarshallerMarshals Attendee properties.
    CalendarScaleMarshallerMarshals CalendarScale properties.
    CategoriesMarshallerMarshals Categories properties.
    ClassificationMarshallerMarshals Classification properties.
    CommentMarshallerMarshals Comment properties.
    CompletedMarshallerMarshals Completed properties.
    ContactMarshallerMarshals Contact properties.
    CreatedMarshallerMarshals Created properties.
    DateDueMarshallerMarshals DateDue properties.
    DateEndMarshallerMarshals DateEnd properties.
    DateOrDateTimePropertyMarshaller<T extends DateOrDateTimeProperty>Marshals properties that have either "date" or "date-time" values.
    DateStartMarshallerMarshals DateStart properties.
    DateTimePropertyMarshaller<T extends DateTimeProperty>Marshals properties that have "date-time" values.
    DateTimeStampMarshallerMarshals DateTimeStamp properties.
    DescriptionMarshallerMarshals Description properties.
    DurationPropertyMarshallerMarshals DurationProperty properties.
    ExceptionDatesMarshallerMarshals ExceptionDates properties.
    ExceptionRuleMarshallerMarshals ExceptionRule properties.
    FreeBusyMarshallerMarshals FreeBusy properties.
    GeoMarshallerMarshals Geo properties.
    ICalPropertyMarshaller<T extends ICalProperty>Base class for iCalendar property marshallers.
    ICalPropertyMarshaller.DateParserFactory class for parsing dates.
    ICalPropertyMarshaller.DateWriterFactory class for writing dates.
    ICalPropertyMarshaller.Result<T extends ICalProperty>Represents the result of an unmarshal operation.
    ICalPropertyMarshaller.SemiStructuredIteratorIterates over the fields in a semi-structured value (a structured value - whose components cannot be multi-valued).
    ICalPropertyMarshaller.SplitterFactory class for splitting strings.
    ICalPropertyMarshaller.StructuredIteratorIterates over the fields in a structured value.
    IntegerPropertyMarshaller<T extends IntegerProperty>Marshals properties that have integer values.
    LastModifiedMarshallerMarshals LastModified properties.
    ListPropertyMarshaller<T extends ListProperty<V>,V>Marshals properties that contain a list of values.
    LocationMarshallerMarshals Location properties.
    MethodMarshallerMarshals Method properties.
    OrganizerMarshallerMarshals Organizer properties.
    PercentCompleteMarshallerMarshals PercentComplete properties.
    PriorityMarshallerMarshals Priority properties.
    ProductIdMarshallerMarshals ProductId properties.
    RawPropertyMarshallerMarshals properties that do not have a marshaller associated with them.
    RecurrenceDatesMarshallerMarshals RecurrenceDates properties.
    RecurrenceIdMarshallerMarshals RecurrenceId properties.
    RecurrencePropertyMarshaller<T extends RecurrenceProperty>Marshals properties whose values are Recurrence.
    RecurrenceRuleMarshallerMarshals RecurrenceRule properties.
    RelatedToMarshallerMarshals RelatedTo properties.
    RepeatMarshallerMarshals Repeat properties.
    RequestStatusMarshallerMarshals RequestStatus properties.
    ResourcesMarshallerMarshals Resources properties.
    SequenceMarshallerMarshals Sequence properties.
    StatusMarshallerMarshals Status properties.
    SummaryMarshallerMarshals Summary properties.
    TextListPropertyMarshaller<T extends ListProperty<String>>Marshals properties that have a list of text values.
    TextPropertyMarshaller<T extends TextProperty>Marshals properties that have text values.
    TimezoneIdMarshallerMarshals TimezoneId properties.
    TimezoneNameMarshallerMarshals TimezoneName properties.
    TimezoneOffsetFromMarshallerMarshals TimezoneOffsetFrom properties.
    TimezoneOffsetToMarshallerMarshals TimezoneOffsetTo properties.
    TimezoneUrlMarshallerMarshals TimezoneUrl properties.
    TransparencyMarshallerMarshals Transparency properties.
    TriggerMarshallerMarshals Trigger properties.
    UidMarshallerMarshals Uid properties.
    UrlMarshallerMarshals Url properties.
    UtcOffsetPropertyMarshaller<T extends UtcOffsetProperty>Marshals properties that have UTC offset values.
    VersionMarshallerMarshals Version properties.
    XmlMarshallerMarshals Xml properties.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-tree.html deleted file mode 100644 index 839b0538..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-tree.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - -biweekly.property.marshaller Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.property.marshaller -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-use.html deleted file mode 100644 index 1436ae9e..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/marshaller/package-use.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - -Uses of Package biweekly.property.marshaller (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.property.marshaller

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use biweekly.property.marshaller
    biweekly  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    biweekly.property.marshaller  
    -  -

    - - - - - - - - -
    -Classes in biweekly.property.marshaller used by biweekly
    ICalPropertyMarshaller - -
    -          Base class for iCalendar property marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property.marshaller used by biweekly.io
    ICalPropertyMarshaller - -
    -          Base class for iCalendar property marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property.marshaller used by biweekly.io.json
    ICalPropertyMarshaller - -
    -          Base class for iCalendar property marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property.marshaller used by biweekly.io.text
    ICalPropertyMarshaller - -
    -          Base class for iCalendar property marshallers.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property.marshaller used by biweekly.io.xml
    ICalPropertyMarshaller - -
    -          Base class for iCalendar property marshallers.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.property.marshaller used by biweekly.property.marshaller
    DateOrDateTimePropertyMarshaller - -
    -          Marshals properties that have either "date" or "date-time" values.
    DateTimePropertyMarshaller - -
    -          Marshals properties that have "date-time" values.
    ICalPropertyMarshaller - -
    -          Base class for iCalendar property marshallers.
    ICalPropertyMarshaller.DateParser - -
    -          Factory class for parsing dates.
    ICalPropertyMarshaller.DateWriter - -
    -          Factory class for writing dates.
    ICalPropertyMarshaller.ListCallback - -
    -          Callback function used in conjunction with the - list method
    ICalPropertyMarshaller.Result - -
    -          Represents the result of an unmarshal operation.
    ICalPropertyMarshaller.SemiStructuredIterator - -
    -          Iterates over the fields in a semi-structured value (a structured value - whose components cannot be multi-valued).
    ICalPropertyMarshaller.Splitter - -
    -          Factory class for splitting strings.
    ICalPropertyMarshaller.StructuredIterator - -
    -          Iterates over the fields in a structured value.
    IntegerPropertyMarshaller - -
    -          Marshals properties that have integer values.
    ListPropertyMarshaller - -
    -          Marshals properties that contain a list of values.
    RecurrencePropertyMarshaller - -
    -          Marshals properties whose values are Recurrence.
    TextListPropertyMarshaller - -
    -          Marshals properties that have a list of text values.
    TextPropertyMarshaller - -
    -          Marshals properties that have text values.
    UtcOffsetPropertyMarshaller - -
    -          Marshals properties that have UTC offset values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/package-frame.html deleted file mode 100644 index 56350d7a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/package-frame.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -biweekly.property (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.property - - - - -
    -Classes  - -
    -Action -
    -Attachment -
    -Attendee -
    -CalendarScale -
    -Categories -
    -Classification -
    -Comment -
    -Completed -
    -Contact -
    -Created -
    -DateDue -
    -DateEnd -
    -DateOrDateTimeProperty -
    -DateStart -
    -DateTimeProperty -
    -DateTimeStamp -
    -Description -
    -DurationProperty -
    -EnumProperty -
    -ExceptionDates -
    -ExceptionRule -
    -FreeBusy -
    -Geo -
    -ICalProperty -
    -IntegerProperty -
    -LastModified -
    -ListProperty -
    -Location -
    -Method -
    -Organizer -
    -PercentComplete -
    -Priority -
    -ProductId -
    -RawProperty -
    -RecurrenceDates -
    -RecurrenceId -
    -RecurrenceProperty -
    -RecurrenceRule -
    -RelatedTo -
    -Repeat -
    -RequestStatus -
    -Resources -
    -Sequence -
    -Status -
    -Summary -
    -TextProperty -
    -TimezoneId -
    -TimezoneName -
    -TimezoneOffsetFrom -
    -TimezoneOffsetTo -
    -TimezoneUrl -
    -Transparency -
    -Trigger -
    -Uid -
    -Url -
    -UtcOffsetProperty -
    -ValuedProperty -
    -Version -
    -Xml
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/package-summary.html deleted file mode 100644 index e1feb1ef..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/package-summary.html +++ /dev/null @@ -1,462 +0,0 @@ - - - - - - - -biweekly.property (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.property -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    Action - Defines the type of action to invoke when an alarm is triggered.
    Attachment - Represents a binary resource that is associated with an event, to-do, journal - entry, or alarm.
    Attendee - Defines an attendee (such as a person attending an event).
    CalendarScale - Specifies the calendar system that this iCalendar object uses.
    Categories - Defines a list of "tags" or "keywords" that describe the component.
    Classification - Defines the level of sensitivity of the iCalendar data.
    Comment - Defines a free-text comment to be read by the user.
    Completed - Defines the date and time that a to-do task was completed.
    Contact - Defines contact information for a person or other entity (for example, the - name of a business and its phone number).
    Created - Defines the date-time that the calendar information was initially created.
    DateDue - Defines the date that a to-do task is due by.
    DateEnd - Defines the date that an event or free/busy component ends.
    DateOrDateTimePropertyRepresents a property whose value is a date or a date-time.
    DateStart - Defines the date that an event, free/busy component, or timezone component - starts.
    DateTimePropertyRepresents a property whose value is a date-time.
    DateTimeStamp - The meaning of this property varies depending on the state of the iCalendar - object: - - If a Method property exists: Defines the creation date of - the iCalendar object (not the creation date of the actual calendar data).
    Description - A detailed description of the component that this property belongs to.
    DurationProperty - Defines a duration of time (for example, "2 hours and 30 minutes").
    EnumPropertyParent class for properties that have a defined set of acceptable values (for - example, Action).
    ExceptionDates - Defines a list of exceptions to the recurrence rule defined in a component.
    ExceptionRule - Defines an exception to a RecurrenceRule.
    FreeBusy - Defines a person's availability over certain time periods (for example, - "busy" between 1pm-3pm and 4pm-5pm).
    Geo - Defines a set of geographical coordinates.
    ICalPropertyBase class for all iCalendar properties.
    IntegerPropertyRepresents a property whose value is an integer.
    LastModified - Defines the date and time that the calendar data in a component was last - changed.
    ListProperty<T>Represents a property whose value is a list of values.
    Location - Defines the physical location of an event.
    Method - Specifies the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    Organizer - Defines an organizer.
    PercentComplete - Defines a to-do task's level of completion.
    Priority - Defines the priority of an event or to-do task.
    ProductId - Identifies the application that created the iCalendar object.
    RawPropertyA property that does not have a marshaller associated with it.
    RecurrenceDates - Defines a list of dates or periods that help define a recurrence rule.
    RecurrenceId - Records the original value of the DateStart property if a recurrence - instance has been modified.
    RecurrencePropertyDefines a property whose value is a recurrence rule.
    RecurrenceRule - Defines how often a component repeats.
    RelatedTo - Defines a relationship between the component that this property belongs to - and another component.
    Repeat - Defines the number of times an alarm should be repeated after its initial - trigger.
    RequestStatus - Represents a response to a scheduling request, describing whether the request - was successfully processed or not.
    Resources - Defines a list of resources that are needed for an event or to-do task (for - example a projector or DVD player).
    Sequence - Defines a revision number for an event, to-do task, or journal entry.
    Status - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    Summary - Defines a short, one line summary of the component that this property belongs - to.
    TextPropertyRepresents a property whose value is a plain-text string.
    TimezoneId - Defines a unique identifier for a VTimezone component.
    TimezoneName - Defines a traditional, non-standard name for a timezone observance (for - example, "Eastern Standard Time" for standard time on the US east coast).
    TimezoneOffsetFrom - Defines the timezone offset that was in use before a timezone observance.
    TimezoneOffsetTo - Defines the timezone offset that is currently in use in a timezone - observance.
    TimezoneUrl - Defines a URL that points to an iCalendar object that contains further - information on a timezone.
    Transparency - Defines whether an event is visible to free/busy time searches.
    Trigger - Defines when an alarm will be triggered.
    Uid - Defines a unique identifier for a component.
    Url - Points to a resource that contains additional information about a component.
    UtcOffsetPropertyRepresents a property whose value is a timezone offset.
    ValuedProperty<T>Represents a property whose data model consists of a single object (such as a - String).
    Version - Specifies the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    Xml - Used for storing properties parsed from xCal documents whose XML namespaces - are not part of the xCal XML namespace.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/package-tree.html deleted file mode 100644 index d7df76fd..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/package-tree.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - -biweekly.property Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.property -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/property/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/property/package-use.html deleted file mode 100644 index 8a086106..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/property/package-use.html +++ /dev/null @@ -1,1213 +0,0 @@ - - - - - - - -Uses of Package biweekly.property (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.property

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use biweekly.property
    biweekly  
    biweekly.component  
    biweekly.component.marshaller  
    biweekly.io  
    biweekly.io.json  
    biweekly.io.text  
    biweekly.io.xml  
    biweekly.property  
    biweekly.property.marshaller  
    -  -

    - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.property used by biweekly
    CalendarScale - -
    -           - Specifies the calendar system that this iCalendar object uses.
    ICalProperty - -
    -          Base class for all iCalendar properties.
    Method - -
    -           - Specifies the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    ProductId - -
    -           - Identifies the application that created the iCalendar object.
    Version - -
    -           - Specifies the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.property used by biweekly.component
    Action - -
    -           - Defines the type of action to invoke when an alarm is triggered.
    Attachment - -
    -           - Represents a binary resource that is associated with an event, to-do, journal - entry, or alarm.
    Attendee - -
    -           - Defines an attendee (such as a person attending an event).
    Categories - -
    -           - Defines a list of "tags" or "keywords" that describe the component.
    Classification - -
    -           - Defines the level of sensitivity of the iCalendar data.
    Comment - -
    -           - Defines a free-text comment to be read by the user.
    Completed - -
    -           - Defines the date and time that a to-do task was completed.
    Contact - -
    -           - Defines contact information for a person or other entity (for example, the - name of a business and its phone number).
    Created - -
    -           - Defines the date-time that the calendar information was initially created.
    DateDue - -
    -           - Defines the date that a to-do task is due by.
    DateEnd - -
    -           - Defines the date that an event or free/busy component ends.
    DateStart - -
    -           - Defines the date that an event, free/busy component, or timezone component - starts.
    DateTimeStamp - -
    -           - The meaning of this property varies depending on the state of the iCalendar - object: - - If a Method property exists: Defines the creation date of - the iCalendar object (not the creation date of the actual calendar data).
    Description - -
    -           - A detailed description of the component that this property belongs to.
    DurationProperty - -
    -           - Defines a duration of time (for example, "2 hours and 30 minutes").
    ExceptionDates - -
    -           - Defines a list of exceptions to the recurrence rule defined in a component.
    ExceptionRule - -
    -           - Defines an exception to a RecurrenceRule.
    FreeBusy - -
    -           - Defines a person's availability over certain time periods (for example, - "busy" between 1pm-3pm and 4pm-5pm).
    Geo - -
    -           - Defines a set of geographical coordinates.
    ICalProperty - -
    -          Base class for all iCalendar properties.
    LastModified - -
    -           - Defines the date and time that the calendar data in a component was last - changed.
    Location - -
    -           - Defines the physical location of an event.
    Organizer - -
    -           - Defines an organizer.
    PercentComplete - -
    -           - Defines a to-do task's level of completion.
    Priority - -
    -           - Defines the priority of an event or to-do task.
    RawProperty - -
    -          A property that does not have a marshaller associated with it.
    RecurrenceDates - -
    -           - Defines a list of dates or periods that help define a recurrence rule.
    RecurrenceId - -
    -           - Records the original value of the DateStart property if a recurrence - instance has been modified.
    RecurrenceRule - -
    -           - Defines how often a component repeats.
    RelatedTo - -
    -           - Defines a relationship between the component that this property belongs to - and another component.
    Repeat - -
    -           - Defines the number of times an alarm should be repeated after its initial - trigger.
    RequestStatus - -
    -           - Represents a response to a scheduling request, describing whether the request - was successfully processed or not.
    Resources - -
    -           - Defines a list of resources that are needed for an event or to-do task (for - example a projector or DVD player).
    Sequence - -
    -           - Defines a revision number for an event, to-do task, or journal entry.
    Status - -
    -           - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    Summary - -
    -           - Defines a short, one line summary of the component that this property belongs - to.
    TimezoneId - -
    -           - Defines a unique identifier for a VTimezone component.
    TimezoneName - -
    -           - Defines a traditional, non-standard name for a timezone observance (for - example, "Eastern Standard Time" for standard time on the US east coast).
    TimezoneOffsetFrom - -
    -           - Defines the timezone offset that was in use before a timezone observance.
    TimezoneOffsetTo - -
    -           - Defines the timezone offset that is currently in use in a timezone - observance.
    TimezoneUrl - -
    -           - Defines a URL that points to an iCalendar object that contains further - information on a timezone.
    Transparency - -
    -           - Defines whether an event is visible to free/busy time searches.
    Trigger - -
    -           - Defines when an alarm will be triggered.
    Uid - -
    -           - Defines a unique identifier for a component.
    Url - -
    -           - Points to a resource that contains additional information about a component.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property used by biweekly.component.marshaller
    ICalProperty - -
    -          Base class for all iCalendar properties.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property used by biweekly.io
    ICalProperty - -
    -          Base class for all iCalendar properties.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property used by biweekly.io.json
    ICalProperty - -
    -          Base class for all iCalendar properties.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property used by biweekly.io.text
    ICalProperty - -
    -          Base class for all iCalendar properties.
    -  -

    - - - - - - - - -
    -Classes in biweekly.property used by biweekly.io.xml
    ICalProperty - -
    -          Base class for all iCalendar properties.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.property used by biweekly.property
    Action - -
    -           - Defines the type of action to invoke when an alarm is triggered.
    Attendee - -
    -           - Defines an attendee (such as a person attending an event).
    CalendarScale - -
    -           - Specifies the calendar system that this iCalendar object uses.
    Classification - -
    -           - Defines the level of sensitivity of the iCalendar data.
    DateOrDateTimeProperty - -
    -          Represents a property whose value is a date or a date-time.
    DateTimeProperty - -
    -          Represents a property whose value is a date-time.
    EnumProperty - -
    -          Parent class for properties that have a defined set of acceptable values (for - example, Action).
    ICalProperty - -
    -          Base class for all iCalendar properties.
    IntegerProperty - -
    -          Represents a property whose value is an integer.
    ListProperty - -
    -          Represents a property whose value is a list of values.
    Organizer - -
    -           - Defines an organizer.
    ProductId - -
    -           - Identifies the application that created the iCalendar object.
    RecurrenceProperty - -
    -          Defines a property whose value is a recurrence rule.
    Status - -
    -           - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    TextProperty - -
    -          Represents a property whose value is a plain-text string.
    Transparency - -
    -           - Defines whether an event is visible to free/busy time searches.
    Uid - -
    -           - Defines a unique identifier for a component.
    UtcOffsetProperty - -
    -          Represents a property whose value is a timezone offset.
    ValuedProperty - -
    -          Represents a property whose data model consists of a single object (such as a - String).
    Version - -
    -           - Specifies the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.property used by biweekly.property.marshaller
    Action - -
    -           - Defines the type of action to invoke when an alarm is triggered.
    Attachment - -
    -           - Represents a binary resource that is associated with an event, to-do, journal - entry, or alarm.
    Attendee - -
    -           - Defines an attendee (such as a person attending an event).
    CalendarScale - -
    -           - Specifies the calendar system that this iCalendar object uses.
    Categories - -
    -           - Defines a list of "tags" or "keywords" that describe the component.
    Classification - -
    -           - Defines the level of sensitivity of the iCalendar data.
    Comment - -
    -           - Defines a free-text comment to be read by the user.
    Completed - -
    -           - Defines the date and time that a to-do task was completed.
    Contact - -
    -           - Defines contact information for a person or other entity (for example, the - name of a business and its phone number).
    Created - -
    -           - Defines the date-time that the calendar information was initially created.
    DateDue - -
    -           - Defines the date that a to-do task is due by.
    DateEnd - -
    -           - Defines the date that an event or free/busy component ends.
    DateOrDateTimeProperty - -
    -          Represents a property whose value is a date or a date-time.
    DateStart - -
    -           - Defines the date that an event, free/busy component, or timezone component - starts.
    DateTimeProperty - -
    -          Represents a property whose value is a date-time.
    DateTimeStamp - -
    -           - The meaning of this property varies depending on the state of the iCalendar - object: - - If a Method property exists: Defines the creation date of - the iCalendar object (not the creation date of the actual calendar data).
    Description - -
    -           - A detailed description of the component that this property belongs to.
    DurationProperty - -
    -           - Defines a duration of time (for example, "2 hours and 30 minutes").
    ExceptionDates - -
    -           - Defines a list of exceptions to the recurrence rule defined in a component.
    ExceptionRule - -
    -           - Defines an exception to a RecurrenceRule.
    FreeBusy - -
    -           - Defines a person's availability over certain time periods (for example, - "busy" between 1pm-3pm and 4pm-5pm).
    Geo - -
    -           - Defines a set of geographical coordinates.
    ICalProperty - -
    -          Base class for all iCalendar properties.
    IntegerProperty - -
    -          Represents a property whose value is an integer.
    LastModified - -
    -           - Defines the date and time that the calendar data in a component was last - changed.
    ListProperty - -
    -          Represents a property whose value is a list of values.
    Location - -
    -           - Defines the physical location of an event.
    Method - -
    -           - Specifies the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    Organizer - -
    -           - Defines an organizer.
    PercentComplete - -
    -           - Defines a to-do task's level of completion.
    Priority - -
    -           - Defines the priority of an event or to-do task.
    ProductId - -
    -           - Identifies the application that created the iCalendar object.
    RawProperty - -
    -          A property that does not have a marshaller associated with it.
    RecurrenceDates - -
    -           - Defines a list of dates or periods that help define a recurrence rule.
    RecurrenceId - -
    -           - Records the original value of the DateStart property if a recurrence - instance has been modified.
    RecurrenceProperty - -
    -          Defines a property whose value is a recurrence rule.
    RecurrenceRule - -
    -           - Defines how often a component repeats.
    RelatedTo - -
    -           - Defines a relationship between the component that this property belongs to - and another component.
    Repeat - -
    -           - Defines the number of times an alarm should be repeated after its initial - trigger.
    RequestStatus - -
    -           - Represents a response to a scheduling request, describing whether the request - was successfully processed or not.
    Resources - -
    -           - Defines a list of resources that are needed for an event or to-do task (for - example a projector or DVD player).
    Sequence - -
    -           - Defines a revision number for an event, to-do task, or journal entry.
    Status - -
    -           - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    Summary - -
    -           - Defines a short, one line summary of the component that this property belongs - to.
    TextProperty - -
    -          Represents a property whose value is a plain-text string.
    TimezoneId - -
    -           - Defines a unique identifier for a VTimezone component.
    TimezoneName - -
    -           - Defines a traditional, non-standard name for a timezone observance (for - example, "Eastern Standard Time" for standard time on the US east coast).
    TimezoneOffsetFrom - -
    -           - Defines the timezone offset that was in use before a timezone observance.
    TimezoneOffsetTo - -
    -           - Defines the timezone offset that is currently in use in a timezone - observance.
    TimezoneUrl - -
    -           - Defines a URL that points to an iCalendar object that contains further - information on a timezone.
    Transparency - -
    -           - Defines whether an event is visible to free/busy time searches.
    Trigger - -
    -           - Defines when an alarm will be triggered.
    Uid - -
    -           - Defines a unique identifier for a component.
    Url - -
    -           - Points to a resource that contains additional information about a component.
    UtcOffsetProperty - -
    -          Represents a property whose value is a timezone offset.
    Version - -
    -           - Specifies the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    Xml - -
    -           - Used for storing properties parsed from xCal documents whose XML namespaces - are not part of the xCal XML namespace.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/Base64.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/Base64.html deleted file mode 100644 index c4d2ea7f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/Base64.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -Base64 (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class Base64

    -
    -java.lang.Object
    -  extended by biweekly.util.Base64
    -
    -
    -
    -
    public class Base64
    extends Object
    - - -

    -Encodes and decodes data into base64. -

    - -

    -

    -
    Author:
    -
    GeorgeK
    -
    See Also:
    http://stackoverflow.com/a/4265472/13379
    -
    - -

    - - - - - - - - - - - - - - - - -
    -Method Summary
    -static byte[]decode(String s) - -
    -          Translates the specified Base64 string into a byte array.
    -static Stringencode(byte[] buf) - -
    -          Translates the specified byte array into Base64 string.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -encode

    -
    -public static String encode(byte[] buf)
    -
    -
    Translates the specified byte array into Base64 string. -

    -

    -
    Parameters:
    buf - the byte array -
    Returns:
    the translated Base64 string
    -
    -
    -
    - -

    -decode

    -
    -public static byte[] decode(String s)
    -
    -
    Translates the specified Base64 string into a byte array. -

    -

    -
    Parameters:
    s - the Base64 string -
    Returns:
    the byte array
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/CaseClasses.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/CaseClasses.html deleted file mode 100644 index 69066aea..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/CaseClasses.html +++ /dev/null @@ -1,443 +0,0 @@ - - - - - - - -CaseClasses (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class CaseClasses<T,V>

    -
    -java.lang.Object
    -  extended by biweekly.util.CaseClasses<T,V>
    -
    -
    -
    Type Parameters:
    T - the class
    V - the value that the class holds (e.g. String)
    -
    -
    Direct Known Subclasses:
    ICalParameterCaseClasses
    -
    -
    -
    -
    public abstract class CaseClasses<T,V>
    extends Object
    - - -

    -Manages objects that are like enums in that they are constant, but unlike - enums in that new instances can be created during runtime. This class ensures - that all instances of a class are unique, so they can be safely compared - using "==" (provided their constructors are private). It mimics the - "case class" feature in Scala. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -protected  Class<T>clazz - -
    -           
    -protected  Collection<T>preDefined - -
    -           
    -protected  Collection<T>runtimeDefined - -
    -           
    -  - - - - - - - - - - -
    -Constructor Summary
    CaseClasses(Class<T> clazz) - -
    -          Creates a new case class collection.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Collection<T>all() - -
    -          Gets all the static constants of the case class.
    -protected abstract  Tcreate(V value) - -
    -          Creates a new instance of the case class.
    - Tfind(V value) - -
    -          Searches for a case object by value, only looking at the case class' - static constants (does not include runtime-defined objects).
    - Tget(V value) - -
    -          Searches for a case object by value, creating a new object if one cannot - be found.
    -protected abstract  booleanmatches(T object, - V value) - -
    -          Determines if a value is associated with a case object.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -clazz

    -
    -protected final Class<T> clazz
    -
    -
    -
    -
    -
    - -

    -preDefined

    -
    -protected volatile Collection<T> preDefined
    -
    -
    -
    -
    -
    - -

    -runtimeDefined

    -
    -protected Collection<T> runtimeDefined
    -
    -
    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -CaseClasses

    -
    -public CaseClasses(Class<T> clazz)
    -
    -
    Creates a new case class collection. -

    -

    -
    Parameters:
    clazz - the case class
    -
    - - - - - - - - -
    -Method Detail
    - -

    -create

    -
    -protected abstract T create(V value)
    -
    -
    Creates a new instance of the case class. -

    -

    -
    Parameters:
    value - the value to give the instance -
    Returns:
    the new instance
    -
    -
    -
    - -

    -matches

    -
    -protected abstract boolean matches(T object,
    -                                   V value)
    -
    -
    Determines if a value is associated with a case object. -

    -

    -
    Parameters:
    object - the object
    value - the value -
    Returns:
    true if it matches, false if not
    -
    -
    -
    - -

    -find

    -
    -public T find(V value)
    -
    -
    Searches for a case object by value, only looking at the case class' - static constants (does not include runtime-defined objects). -

    -

    -
    Parameters:
    value - the value -
    Returns:
    the object or null if one wasn't found
    -
    -
    -
    - -

    -get

    -
    -public T get(V value)
    -
    -
    Searches for a case object by value, creating a new object if one cannot - be found. -

    -

    -
    Parameters:
    value - the value -
    Returns:
    the object
    -
    -
    -
    - -

    -all

    -
    -public Collection<T> all()
    -
    -
    Gets all the static constants of the case class. -

    -

    - -
    Returns:
    all static constants
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/DateTimeComponents.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/DateTimeComponents.html deleted file mode 100644 index 13280281..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/DateTimeComponents.html +++ /dev/null @@ -1,606 +0,0 @@ - - - - - - - -DateTimeComponents (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class DateTimeComponents

    -
    -java.lang.Object
    -  extended by biweekly.util.DateTimeComponents
    -
    -
    -
    -
    public final class DateTimeComponents
    extends Object
    - - -

    -

    - Contains the raw components of a date-time value. -

    -

    - Examples: - -

    - //July 22, 2013 at 17:25
    - DateTimeComponents components = new DateTimeComponents(2013, 07, 22, 17, 25, 0, false);
    - 
    - //parsing a date string (accepts basic and extended formats)
    - DateTimeComponents components = DateTimeComponents.parse("20130722T172500");
    - 
    - //converting to date string
    - DateTimeComponents components = new DateTimeComponents(2013, 07, 22, 17, 25, 0, false);
    - String str = components.toString(true); //"2013-07-22T17:25:00"
    - 
    - //converting to a Date object
    - DateTimeComponents components = new DateTimeComponents(2013, 07, 22, 17, 25, 0, false);
    - Date date = components.toDate();
    - 
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    DateTimeComponents(DateTimeComponents original, - Integer year, - Integer month, - Integer date, - Integer hour, - Integer minute, - Integer second, - Boolean utc) - -
    -          Copies an existing DateTimeComponents object.
    DateTimeComponents(int year, - int month, - int date, - int hour, - int minute, - int second, - boolean utc) - -
    -          Creates a new set of date-time components.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object obj) - -
    -           
    - intgetDate() - -
    -          Gets the date component
    - intgetHour() - -
    -          Gets the hour component
    - intgetMinute() - -
    -          Gets the minute component.
    - intgetMonth() - -
    -          Gets the month component.
    - intgetSecond() - -
    -          Gets the second component.
    - intgetYear() - -
    -          Gets the year component.
    - inthashCode() - -
    -           
    - booleanisUtc() - -
    -          Gets whether the time is in UTC or not
    -static DateTimeComponentsparse(String dateString) - -
    -          Parses the components out of a date-time string.
    - DatetoDate() - -
    -          Converts the date-time components to a Date object.
    - StringtoString() - -
    -          Converts the date-time components to a string using "basic" format.
    - StringtoString(boolean extended) - -
    -          Converts the date-time components to a string.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateTimeComponents

    -
    -public DateTimeComponents(DateTimeComponents original,
    -                          Integer year,
    -                          Integer month,
    -                          Integer date,
    -                          Integer hour,
    -                          Integer minute,
    -                          Integer second,
    -                          Boolean utc)
    -
    -
    Copies an existing DateTimeComponents object. -

    -

    -
    Parameters:
    original - the object to copy from
    year - the new year value or null not to change
    month - the new month value or null not to change
    date - the new date value or null not to change
    hour - the new hour value or null not to change
    minute - the new minute value or null not to change
    second - the new second value or null not to change
    utc - true if the time is in UTC, false if not, or null not to - change
    -
    -
    - -

    -DateTimeComponents

    -
    -public DateTimeComponents(int year,
    -                          int month,
    -                          int date,
    -                          int hour,
    -                          int minute,
    -                          int second,
    -                          boolean utc)
    -
    -
    Creates a new set of date-time components. -

    -

    -
    Parameters:
    year - the year (e.g. "2013")
    month - the month (e.g. "1" for January)
    date - the date of the month (e.g. "15")
    hour - the hour (e.g. "13")
    minute - the minute
    second - the second
    utc - true if the time is in UTC, false if not
    -
    - - - - - - - - -
    -Method Detail
    - -

    -parse

    -
    -public static DateTimeComponents parse(String dateString)
    -
    -
    Parses the components out of a date-time string. -

    -

    -
    Parameters:
    dateString - the date-time string (basic and extended formats - supported, e.g. "20130331T020000" or "2013-03-31T02:00:00") -
    Returns:
    the parsed components -
    Throws: -
    IllegalArgumentException - if the date string cannot be parsed
    -
    -
    -
    - -

    -getYear

    -
    -public int getYear()
    -
    -
    Gets the year component. -

    -

    - -
    Returns:
    the year
    -
    -
    -
    - -

    -getMonth

    -
    -public int getMonth()
    -
    -
    Gets the month component. -

    -

    - -
    Returns:
    the month (e.g. "1" for January)
    -
    -
    -
    - -

    -getDate

    -
    -public int getDate()
    -
    -
    Gets the date component -

    -

    - -
    Returns:
    the date
    -
    -
    -
    - -

    -getHour

    -
    -public int getHour()
    -
    -
    Gets the hour component -

    -

    - -
    Returns:
    the hour
    -
    -
    -
    - -

    -getMinute

    -
    -public int getMinute()
    -
    -
    Gets the minute component. -

    -

    - -
    Returns:
    the minute
    -
    -
    -
    - -

    -getSecond

    -
    -public int getSecond()
    -
    -
    Gets the second component. -

    -

    - -
    Returns:
    the second
    -
    -
    -
    - -

    -isUtc

    -
    -public boolean isUtc()
    -
    -
    Gets whether the time is in UTC or not -

    -

    - -
    Returns:
    true if the time is in UTC, false if not
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -
    Converts the date-time components to a string using "basic" format. -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    - -
    Returns:
    the date string
    -
    -
    -
    - -

    -toString

    -
    -public String toString(boolean extended)
    -
    -
    Converts the date-time components to a string. -

    -

    -
    Parameters:
    extended - true to use extended format, false to use basic -
    Returns:
    the date string
    -
    -
    -
    - -

    -toDate

    -
    -public Date toDate()
    -
    -
    Converts the date-time components to a Date object. -

    -

    - -
    Returns:
    the date object
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object obj)
    -
    -
    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/Duration.Builder.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/Duration.Builder.html deleted file mode 100644 index 48be39b8..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/Duration.Builder.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - -Duration.Builder (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class Duration.Builder

    -
    -java.lang.Object
    -  extended by biweekly.util.Duration.Builder
    -
    -
    -
    Enclosing class:
    Duration
    -
    -
    -
    -
    public static class Duration.Builder
    extends Object
    - - -

    -Builds Duration objects. -

    - -

    -


    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    Duration.Builder() - -
    -          Creates a new Duration builder.
    Duration.Builder(Duration source) - -
    -          Creates a new Duration builder.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Durationbuild() - -
    -          Builds the final Duration object.
    - Duration.Builderdays(Integer days) - -
    -          Sets the number of days
    - Duration.Builderhours(Integer hours) - -
    -          Sets the number of hours
    - Duration.Builderminutes(Integer minutes) - -
    -          Sets the number of minutes
    - Duration.Builderprior(boolean prior) - -
    -          Sets whether the duration should be negative.
    - Duration.Builderseconds(Integer seconds) - -
    -          Sets the number of seconds.
    - Duration.Builderweeks(Integer weeks) - -
    -          Sets the number of weeks.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Duration.Builder

    -
    -public Duration.Builder()
    -
    -
    Creates a new Duration builder. -

    -

    -
    - -

    -Duration.Builder

    -
    -public Duration.Builder(Duration source)
    -
    -
    Creates a new Duration builder. -

    -

    -
    Parameters:
    source - the object to copy from
    -
    - - - - - - - - -
    -Method Detail
    - -

    -weeks

    -
    -public Duration.Builder weeks(Integer weeks)
    -
    -
    Sets the number of weeks. -

    -

    -
    Parameters:
    weeks - the number of weeks -
    Returns:
    this
    -
    -
    -
    - -

    -days

    -
    -public Duration.Builder days(Integer days)
    -
    -
    Sets the number of days -

    -

    -
    Parameters:
    days - the number of days -
    Returns:
    this
    -
    -
    -
    - -

    -hours

    -
    -public Duration.Builder hours(Integer hours)
    -
    -
    Sets the number of hours -

    -

    -
    Parameters:
    hours - the number of hours -
    Returns:
    this
    -
    -
    -
    - -

    -minutes

    -
    -public Duration.Builder minutes(Integer minutes)
    -
    -
    Sets the number of minutes -

    -

    -
    Parameters:
    minutes - the number of minutes -
    Returns:
    this
    -
    -
    -
    - -

    -seconds

    -
    -public Duration.Builder seconds(Integer seconds)
    -
    -
    Sets the number of seconds. -

    -

    -
    Parameters:
    seconds - the number of seconds -
    Returns:
    this
    -
    -
    -
    - -

    -prior

    -
    -public Duration.Builder prior(boolean prior)
    -
    -
    Sets whether the duration should be negative. -

    -

    -
    Parameters:
    prior - true to be negative, false not to be -
    Returns:
    this
    -
    -
    -
    - -

    -build

    -
    -public Duration build()
    -
    -
    Builds the final Duration object. -

    -

    - -
    Returns:
    the object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/Duration.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/Duration.html deleted file mode 100644 index 300192da..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/Duration.html +++ /dev/null @@ -1,607 +0,0 @@ - - - - - - - -Duration (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class Duration

    -
    -java.lang.Object
    -  extended by biweekly.util.Duration
    -
    -
    -
    -
    public final class Duration
    extends Object
    - - -

    -

    - Represents a period of time (for example, "2 hours and 30 minutes"). -

    -

    - This class is immutable. Use the builder() method to construct a new - instance, or the parse(java.lang.String) method to parse a duration string. -

    - -

    - Examples: - -

    - Duration duration = Duration.builder().hours(2).minutes(30).build();
    - Duration duration = Duration.parse("PT2H30M");
    - 
    - //add a duration value to a Date
    - Date start = ...
    - Date end = duration.add(start);
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Nested Class Summary
    -static classDuration.Builder - -
    -          Builds Duration objects.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Dateadd(Date date) - -
    -          Adds this duration value to a Date object.
    -static Duration.Builderbuilder() - -
    -          Creates a builder object for constructing new instances of this class.
    -static Durationdiff(Date start, - Date end) - -
    -          Builds a duration based on the difference between two dates.
    - booleanequals(Object obj) - -
    -           
    -static DurationfromMillis(long milliseconds) - -
    -          Builds a duration from a number of milliseconds.
    - IntegergetDays() - -
    -          Gets the number of days.
    - IntegergetHours() - -
    -          Gets the number of hours.
    - IntegergetMinutes() - -
    -          Gets the number of minutes.
    - IntegergetSeconds() - -
    -          Gets the number of seconds.
    - IntegergetWeeks() - -
    -          Gets the number of weeks.
    - inthashCode() - -
    -           
    - booleanhasTime() - -
    -          Determines if any time components are present.
    - booleanisPrior() - -
    -          Gets whether the duration is negative.
    -static Durationparse(String value) - -
    -          Parses a duration string.
    - longtoMillis() - -
    -          Converts the duration value to milliseconds.
    - StringtoString() - -
    -          Converts the duration to its string representation.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -parse

    -
    -public static Duration parse(String value)
    -
    -
    Parses a duration string. -

    -

    -
    Parameters:
    value - the duration string (e.g. "P30DT10H") -
    Returns:
    the parsed duration -
    Throws: -
    IllegalArgumentException - if the duration string is invalid
    -
    -
    -
    - -

    -diff

    -
    -public static Duration diff(Date start,
    -                            Date end)
    -
    -
    Builds a duration based on the difference between two dates. -

    -

    -
    Parameters:
    start - the start date
    end - the end date -
    Returns:
    the duration
    -
    -
    -
    - -

    -fromMillis

    -
    -public static Duration fromMillis(long milliseconds)
    -
    -
    Builds a duration from a number of milliseconds. -

    -

    -
    Parameters:
    milliseconds - the number of milliseconds -
    Returns:
    the duration
    -
    -
    -
    - -

    -builder

    -
    -public static Duration.Builder builder()
    -
    -
    Creates a builder object for constructing new instances of this class. -

    -

    - -
    Returns:
    the builder object
    -
    -
    -
    - -

    -isPrior

    -
    -public boolean isPrior()
    -
    -
    Gets whether the duration is negative. -

    -

    - -
    Returns:
    true if it's negative, false if not
    -
    -
    -
    - -

    -getWeeks

    -
    -public Integer getWeeks()
    -
    -
    Gets the number of weeks. -

    -

    - -
    Returns:
    the number of weeks or null if not set
    -
    -
    -
    - -

    -getDays

    -
    -public Integer getDays()
    -
    -
    Gets the number of days. -

    -

    - -
    Returns:
    the number of days or null if not set
    -
    -
    -
    - -

    -getHours

    -
    -public Integer getHours()
    -
    -
    Gets the number of hours. -

    -

    - -
    Returns:
    the number of hours or null if not set
    -
    -
    -
    - -

    -getMinutes

    -
    -public Integer getMinutes()
    -
    -
    Gets the number of minutes. -

    -

    - -
    Returns:
    the number of minutes or null if not set
    -
    -
    -
    - -

    -getSeconds

    -
    -public Integer getSeconds()
    -
    -
    Gets the number of seconds. -

    -

    - -
    Returns:
    the number of seconds or null if not set
    -
    -
    -
    - -

    -add

    -
    -public Date add(Date date)
    -
    -
    Adds this duration value to a Date object. -

    -

    -
    Parameters:
    date - the date to add to -
    Returns:
    the new date value
    -
    -
    -
    - -

    -toMillis

    -
    -public long toMillis()
    -
    -
    Converts the duration value to milliseconds. -

    -

    - -
    Returns:
    the duration value in milliseconds (will be negative if - isPrior() is true)
    -
    -
    -
    - -

    -hasTime

    -
    -public boolean hasTime()
    -
    -
    Determines if any time components are present. -

    -

    - -
    Returns:
    true if the duration has at least one time component, false if - not
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object obj)
    -
    -
    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -
    Converts the duration to its string representation. -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    - -
    Returns:
    the string representation (e.g. "P4DT1H" for "4 days and 1 hour")
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/ICalDateFormatter.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/ICalDateFormatter.html deleted file mode 100644 index 57a6f1d5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/ICalDateFormatter.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - -ICalDateFormatter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class ICalDateFormatter

    -
    -java.lang.Object
    -  extended by biweekly.util.ICalDateFormatter
    -
    -
    -
    -
    public class ICalDateFormatter
    extends Object
    - - -

    -Helper class that formats and parses iCalendar dates. iCalendar dates adhere - to the ISO8601 date format standard. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static booleandateHasTime(String dateStr) - -
    -          Determines whether a date string has a time component.
    -static booleandateHasTimezone(String dateStr) - -
    -          Determines whether a date string is in UTC time or has a timezone offset.
    -static Stringformat(Date date, - ISOFormat format) - -
    -          Formats a date for inclusion in an iCalendar object.
    -static Stringformat(Date date, - ISOFormat format, - TimeZone timeZone) - -
    -          Formats a date for inclusion in an iCalendar object.
    -static Dateparse(String dateStr) - -
    -          Parses an iCalendar date.
    -static Dateparse(String dateStr, - TimeZone timezone) - -
    -          Parses an iCalendar date.
    -static TimeZoneparseTimeZoneId(String timezoneId) - -
    -          Gets the TimeZone object that corresponds to the given ID.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -format

    -
    -public static String format(Date date,
    -                            ISOFormat format)
    -
    -
    Formats a date for inclusion in an iCalendar object. -

    -

    -
    Parameters:
    date - the date to format
    format - the format to use -
    Returns:
    the formatted date
    -
    -
    -
    - -

    -format

    -
    -public static String format(Date date,
    -                            ISOFormat format,
    -                            TimeZone timeZone)
    -
    -
    Formats a date for inclusion in an iCalendar object. -

    -

    -
    Parameters:
    date - the date to format
    format - the format to use
    timeZone - the timezone to format the date in or null to use the - JVM's default timezone (ignored with "UTC" formats) -
    Returns:
    the formatted date
    -
    -
    -
    - -

    -parse

    -
    -public static Date parse(String dateStr)
    -
    -
    Parses an iCalendar date. -

    -

    -
    Parameters:
    dateStr - the date string to parse (e.g. "20130609T181023Z") -
    Returns:
    the parsed date -
    Throws: -
    IllegalArgumentException - if the date string isn't in one of the - accepted ISO8601 formats
    -
    -
    -
    - -

    -parse

    -
    -public static Date parse(String dateStr,
    -                         TimeZone timezone)
    -
    -
    Parses an iCalendar date. -

    -

    -
    Parameters:
    dateStr - the date string to parse (e.g. "20130609T181023Z")
    timezone - the timezone to parse the date as or null to use the - JVM's default timezone (if the date string contains its own timezone, - then that timezone will be used instead) -
    Returns:
    the parsed date -
    Throws: -
    IllegalArgumentException - if the date string isn't in one of the - accepted ISO8601 formats
    -
    -
    -
    - -

    -dateHasTime

    -
    -public static boolean dateHasTime(String dateStr)
    -
    -
    Determines whether a date string has a time component. -

    -

    -
    Parameters:
    dateStr - the date string (e.g. "20130601T120000") -
    Returns:
    true if it has a time component, false if not
    -
    -
    -
    - -

    -dateHasTimezone

    -
    -public static boolean dateHasTimezone(String dateStr)
    -
    -
    Determines whether a date string is in UTC time or has a timezone offset. -

    -

    -
    Parameters:
    dateStr - the date string (e.g. "20130601T120000Z", - "20130601T120000-0400") -
    Returns:
    true if it has a timezone, false if not
    -
    -
    -
    - -

    -parseTimeZoneId

    -
    -public static TimeZone parseTimeZoneId(String timezoneId)
    -
    -
    Gets the TimeZone object that corresponds to the given ID. -

    -

    -
    Parameters:
    timezoneId - the timezone ID (e.g. "America/New_York") -
    Returns:
    the timezone object or null if not found
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/ICalFloatFormatter.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/ICalFloatFormatter.html deleted file mode 100644 index 92dc0168..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/ICalFloatFormatter.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - - - - -ICalFloatFormatter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class ICalFloatFormatter

    -
    -java.lang.Object
    -  extended by java.text.Format
    -      extended by java.text.NumberFormat
    -          extended by java.text.DecimalFormat
    -              extended by biweekly.util.ICalFloatFormatter
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable
    -
    -
    -
    -
    public class ICalFloatFormatter
    extends DecimalFormat
    - - -

    -Formats floating-point values for iCalendar objects. Notably, this ensures - that a "." is used as decimal separater, no matter the locale. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Nested Class Summary
    - - - - - - - -
    Nested classes/interfaces inherited from class java.text.NumberFormat
    NumberFormat.Field
    -  - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.text.NumberFormat
    FRACTION_FIELD, INTEGER_FIELD
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    ICalFloatFormatter() - -
    -          Creates a new formatter with a max of 6 decimals.
    ICalFloatFormatter(int decimals) - -
    -          Creates a new formatter.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class java.text.DecimalFormat
    applyLocalizedPattern, applyPattern, clone, equals, format, format, format, formatToCharacterIterator, getCurrency, getDecimalFormatSymbols, getGroupingSize, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getMultiplier, getNegativePrefix, getNegativeSuffix, getPositivePrefix, getPositiveSuffix, getRoundingMode, hashCode, isDecimalSeparatorAlwaysShown, isParseBigDecimal, parse, setCurrency, setDecimalFormatSymbols, setDecimalSeparatorAlwaysShown, setGroupingSize, setMaximumFractionDigits, setMaximumIntegerDigits, setMinimumFractionDigits, setMinimumIntegerDigits, setMultiplier, setNegativePrefix, setNegativeSuffix, setParseBigDecimal, setPositivePrefix, setPositiveSuffix, setRoundingMode, toLocalizedPattern, toPattern
    - - - - - - - -
    Methods inherited from class java.text.NumberFormat
    format, format, getAvailableLocales, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setGroupingUsed, setParseIntegerOnly
    - - - - - - - -
    Methods inherited from class java.text.Format
    format, parseObject
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ICalFloatFormatter

    -
    -public ICalFloatFormatter()
    -
    -
    Creates a new formatter with a max of 6 decimals. -

    -

    -
    - -

    -ICalFloatFormatter

    -
    -public ICalFloatFormatter(int decimals)
    -
    -
    Creates a new formatter. -

    -

    -
    Parameters:
    decimals - the max number of decimal places
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/IOUtils.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/IOUtils.html deleted file mode 100644 index 2a9c0c90..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/IOUtils.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - -IOUtils (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class IOUtils

    -
    -java.lang.Object
    -  extended by biweekly.util.IOUtils
    -
    -
    -
    -
    public class IOUtils
    extends Object
    - - -

    -I/O helper classes. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static voidcloseQuietly(Closeable closeable) - -
    -          Closes a closeable resource, catching its IOException.
    -static StringgetFileContents(File file) - -
    -          Reads the contents of a text file.
    -static StringgetFileContents(File file, - String charset) - -
    -          Reads the contents of a text file.
    -static byte[]toByteArray(InputStream in) - -
    -          Reads all the bytes from an input stream.
    -static byte[]toByteArray(InputStream in, - boolean close) - -
    -          Reads all the bytes from an input stream.
    -static Readerutf8Reader(File file) - -
    -          Creates a reader whose character encoding is set to "UTF-8".
    -static Readerutf8Reader(InputStream in) - -
    -          Creates a reader whose character encoding is set to "UTF-8".
    -static Writerutf8Writer(File file) - -
    -          Creates a writer whose character encoding is set to "UTF-8".
    -static Writerutf8Writer(File file, - boolean append) - -
    -          Creates a writer whose character encoding is set to "UTF-8".
    -static Writerutf8Writer(OutputStream out) - -
    -          Creates a writer whose character encoding is set to "UTF-8".
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -toByteArray

    -
    -public static byte[] toByteArray(InputStream in)
    -                          throws IOException
    -
    -
    Reads all the bytes from an input stream. -

    -

    -
    Parameters:
    in - the input stream -
    Returns:
    the bytes -
    Throws: -
    IOException - if there's a problem reading from the input stream
    -
    -
    -
    - -

    -toByteArray

    -
    -public static byte[] toByteArray(InputStream in,
    -                                 boolean close)
    -                          throws IOException
    -
    -
    Reads all the bytes from an input stream. -

    -

    -
    Parameters:
    in - the input stream
    close - true to close the input stream when done, false not to -
    Returns:
    the bytes -
    Throws: -
    IOException - if there's a problem reading from the input stream
    -
    -
    -
    - -

    -getFileContents

    -
    -public static String getFileContents(File file)
    -                              throws IOException
    -
    -
    Reads the contents of a text file. -

    -

    -
    Parameters:
    file - the file to read -
    Returns:
    the file contents -
    Throws: -
    IOException - if there's a problem reading the file
    -
    -
    -
    - -

    -getFileContents

    -
    -public static String getFileContents(File file,
    -                                     String charset)
    -                              throws IOException
    -
    -
    Reads the contents of a text file. -

    -

    -
    Parameters:
    file - the file to read
    charset - the character encoding of the file -
    Returns:
    the file contents -
    Throws: -
    IOException - if there's a problem reading the file
    -
    -
    -
    - -

    -closeQuietly

    -
    -public static void closeQuietly(Closeable closeable)
    -
    -
    Closes a closeable resource, catching its IOException. -

    -

    -
    Parameters:
    closeable - the resource to close (can be null)
    -
    -
    -
    - -

    -utf8Writer

    -
    -public static Writer utf8Writer(OutputStream out)
    -
    -
    Creates a writer whose character encoding is set to "UTF-8". -

    -

    -
    Parameters:
    out - the output stream to write to -
    Returns:
    the writer
    -
    -
    -
    - -

    -utf8Writer

    -
    -public static Writer utf8Writer(File file)
    -                         throws FileNotFoundException
    -
    -
    Creates a writer whose character encoding is set to "UTF-8". -

    -

    -
    Parameters:
    file - the file to write to -
    Returns:
    the writer -
    Throws: -
    FileNotFoundException - if the file cannot be written to
    -
    -
    -
    - -

    -utf8Writer

    -
    -public static Writer utf8Writer(File file,
    -                                boolean append)
    -                         throws FileNotFoundException
    -
    -
    Creates a writer whose character encoding is set to "UTF-8". -

    -

    -
    Parameters:
    file - the file to write to
    append - true to append to the end of the file, false to overwrite - it -
    Returns:
    the writer -
    Throws: -
    FileNotFoundException - if the file cannot be written to
    -
    -
    -
    - -

    -utf8Reader

    -
    -public static Reader utf8Reader(InputStream in)
    -
    -
    Creates a reader whose character encoding is set to "UTF-8". -

    -

    -
    Parameters:
    in - the input stream to read from -
    Returns:
    the reader
    -
    -
    -
    - -

    -utf8Reader

    -
    -public static Reader utf8Reader(File file)
    -                         throws FileNotFoundException
    -
    -
    Creates a reader whose character encoding is set to "UTF-8". -

    -

    -
    Parameters:
    file - the file to read from -
    Returns:
    the reader -
    Throws: -
    FileNotFoundException - if the file can't be read
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/ISOFormat.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/ISOFormat.html deleted file mode 100644 index 287b03f9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/ISOFormat.html +++ /dev/null @@ -1,530 +0,0 @@ - - - - - - - -ISOFormat (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Enum ISOFormat

    -
    -java.lang.Object
    -  extended by java.lang.Enum<ISOFormat>
    -      extended by biweekly.util.ISOFormat
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Comparable<ISOFormat>
    -
    -
    -
    -
    public enum ISOFormat
    extends Enum<ISOFormat>
    - - -

    -Represents the various ISO8601 date-time formats that iCalendar dates can be - represented as. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Enum Constant Summary
    DATE_BASIC - -
    -          Example: 20120701
    DATE_EXTENDED - -
    -          Example: 2012-07-01
    HCARD_TIME_TAG - -
    -          Example: 2012-07-01T14:21:10-0500
    TIME_BASIC - -
    -          Example: 20120701T142110-0500
    TIME_BASIC_WITHOUT_TZ - -
    -          Example: 20120701T142110
    TIME_EXTENDED - -
    -          Example: 2012-07-01T14:21:10-05:00
    TIME_EXTENDED_WITHOUT_TZ - -
    -          Example: 2012-07-01T14:21:10
    UTC_TIME_BASIC - -
    -          Example: 20120701T192110Z
    UTC_TIME_EXTENDED - -
    -          Example: 2012-07-01T19:21:10Z
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - DateFormatgetFormatDateFormat() - -
    -          Builds a DateFormat object for formatting dates in this ISO - format.
    - DateFormatgetParseDateFormat() - -
    -          Builds a DateFormat object for parsing dates in this ISO format.
    - booleanmatches(String dateStr) - -
    -          Determines whether a date string is in this ISO format.
    -static ISOFormatvalueOf(String name) - -
    -          Returns the enum constant of this type with the specified name.
    -static ISOFormat[]values() - -
    -          Returns an array containing the constants of this enum type, in -the order they are declared.
    - - - - - - - -
    Methods inherited from class java.lang.Enum
    clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    - - - - - - - -
    Methods inherited from class java.lang.Object
    getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Enum Constant Detail
    - -

    -DATE_BASIC

    -
    -public static final ISOFormat DATE_BASIC
    -
    -
    Example: 20120701 -

    -

    -
    -
    -
    - -

    -DATE_EXTENDED

    -
    -public static final ISOFormat DATE_EXTENDED
    -
    -
    Example: 2012-07-01 -

    -

    -
    -
    -
    - -

    -TIME_BASIC

    -
    -public static final ISOFormat TIME_BASIC
    -
    -
    Example: 20120701T142110-0500 -

    -

    -
    -
    -
    - -

    -TIME_BASIC_WITHOUT_TZ

    -
    -public static final ISOFormat TIME_BASIC_WITHOUT_TZ
    -
    -
    Example: 20120701T142110 -

    -

    -
    -
    -
    - -

    -TIME_EXTENDED

    -
    -public static final ISOFormat TIME_EXTENDED
    -
    -
    Example: 2012-07-01T14:21:10-05:00 -

    -

    -
    -
    -
    - -

    -TIME_EXTENDED_WITHOUT_TZ

    -
    -public static final ISOFormat TIME_EXTENDED_WITHOUT_TZ
    -
    -
    Example: 2012-07-01T14:21:10 -

    -

    -
    -
    -
    - -

    -UTC_TIME_BASIC

    -
    -public static final ISOFormat UTC_TIME_BASIC
    -
    -
    Example: 20120701T192110Z -

    -

    -
    -
    -
    - -

    -UTC_TIME_EXTENDED

    -
    -public static final ISOFormat UTC_TIME_EXTENDED
    -
    -
    Example: 2012-07-01T19:21:10Z -

    -

    -
    -
    -
    - -

    -HCARD_TIME_TAG

    -
    -public static final ISOFormat HCARD_TIME_TAG
    -
    -
    Example: 2012-07-01T14:21:10-0500 -

    -

    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -values

    -
    -public static ISOFormat[] values()
    -
    -
    Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
    -for (ISOFormat c : ISOFormat.values())
    -    System.out.println(c);
    -
    -

    -

    - -
    Returns:
    an array containing the constants of this enum type, in -the order they are declared
    -
    -
    -
    - -

    -valueOf

    -
    -public static ISOFormat valueOf(String name)
    -
    -
    Returns the enum constant of this type with the specified name. -The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are -not permitted.) -

    -

    -
    Parameters:
    name - the name of the enum constant to be returned. -
    Returns:
    the enum constant with the specified name -
    Throws: -
    IllegalArgumentException - if this enum type has no constant -with the specified name -
    NullPointerException - if the argument is null
    -
    -
    -
    - -

    -matches

    -
    -public boolean matches(String dateStr)
    -
    -
    Determines whether a date string is in this ISO format. -

    -

    -
    Parameters:
    dateStr - the date string -
    Returns:
    true if it matches the date format, false if not
    -
    -
    -
    - -

    -getParseDateFormat

    -
    -public DateFormat getParseDateFormat()
    -
    -
    Builds a DateFormat object for parsing dates in this ISO format. -

    -

    - -
    Returns:
    the DateFormat object
    -
    -
    -
    - -

    -getFormatDateFormat

    -
    -public DateFormat getFormatDateFormat()
    -
    -
    Builds a DateFormat object for formatting dates in this ISO - format. -

    -

    - -
    Returns:
    the DateFormat object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/ListMultimap.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/ListMultimap.html deleted file mode 100644 index 014f15c4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/ListMultimap.html +++ /dev/null @@ -1,805 +0,0 @@ - - - - - - - -ListMultimap (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class ListMultimap<K,V>

    -
    -java.lang.Object
    -  extended by biweekly.util.ListMultimap<K,V>
    -
    -
    -
    Type Parameters:
    K - the key
    V - the value
    -
    -
    All Implemented Interfaces:
    Iterable<Map.Entry<K,List<V>>>
    -
    -
    -
    Direct Known Subclasses:
    ICalParameters
    -
    -
    -
    -
    public class ListMultimap<K,V>
    extends Object
    implements Iterable<Map.Entry<K,List<V>>>
    - - -

    -A multimap that uses List objects to store its values. The internal - Map implementation is a LinkedHashMap that uses - ArrayList for its values. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ListMultimap() - -
    -          Creates an empty multimap.
    ListMultimap(int initialCapacity) - -
    -          Creates an empty multimap.
    ListMultimap(ListMultimap<K,V> orig) - -
    -          Creates a copy of an existing multimap.
    ListMultimap(Map<K,List<V>> orig) - -
    -          Creates a copy of an existing map.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclear() - -
    -          Clears all entries from the multimap.
    - booleancontainsKey(K key) - -
    -          Determines whether the given key exists.
    - booleanequals(Object obj) - -
    -           
    - Vfirst(K key) - -
    -          Gets the first value that's associated with a key.
    - List<V>get(K key) - -
    -          Gets the values associated with the key.
    - Map<K,List<V>>getMap() - -
    -          Gets the underlying Map object.
    - inthashCode() - -
    -           
    - booleanisEmpty() - -
    -          Determines if the multimap is empty or not.
    - Iterator<Map.Entry<K,List<V>>>iterator() - -
    -           
    - Set<K>keySet() - -
    -          Returns all the keys.
    - voidput(K key, - V value) - -
    -          Adds a value to the multimap.
    - voidputAll(K key, - Collection<V> values) - -
    -          Adds multiple values to the multimap.
    - booleanremove(K key, - V value) - -
    -          Removes a particular value.
    - List<V>removeAll(K key) - -
    -          Removes all the values associated with a key
    - List<V>replace(K key, - Collection<V> values) - -
    -          Replaces all values with the given values.
    - List<V>replace(K key, - V value) - -
    -          Replaces all values with the given value.
    -protected  KsanitizeKey(K key) - -
    -          Modifies a given key before it is used to interact with the internal map.
    - intsize() - -
    -          Returns the number of values in the map.
    - StringtoString() - -
    -           
    - List<V>values() - -
    -          Returns all the values.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ListMultimap

    -
    -public ListMultimap()
    -
    -
    Creates an empty multimap. -

    -

    -
    - -

    -ListMultimap

    -
    -public ListMultimap(int initialCapacity)
    -
    -
    Creates an empty multimap. -

    -

    -
    Parameters:
    initialCapacity - the initial capacity of the underlying map.
    -
    -
    - -

    -ListMultimap

    -
    -public ListMultimap(ListMultimap<K,V> orig)
    -
    -
    Creates a copy of an existing multimap. -

    -

    -
    Parameters:
    orig - the multimap to copy from
    -
    -
    - -

    -ListMultimap

    -
    -public ListMultimap(Map<K,List<V>> orig)
    -
    -
    Creates a copy of an existing map. -

    -

    -
    Parameters:
    orig - the map to copy from
    -
    - - - - - - - - -
    -Method Detail
    - -

    -put

    -
    -public void put(K key,
    -                V value)
    -
    -
    Adds a value to the multimap. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key
    value - the value to add
    -
    -
    -
    - -

    -putAll

    -
    -public void putAll(K key,
    -                   Collection<V> values)
    -
    -
    Adds multiple values to the multimap. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key
    values - the values to add
    -
    -
    -
    - -

    -get

    -
    -public List<V> get(K key)
    -
    -
    Gets the values associated with the key. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key -
    Returns:
    the list of values or empty list if the key doesn't exist
    -
    -
    -
    - -

    -first

    -
    -public V first(K key)
    -
    -
    Gets the first value that's associated with a key. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key -
    Returns:
    the first value or null if the key doesn't exist
    -
    -
    -
    - -

    -containsKey

    -
    -public boolean containsKey(K key)
    -
    -
    Determines whether the given key exists. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key -
    Returns:
    true if the key exists, false if not
    -
    -
    -
    - -

    -remove

    -
    -public boolean remove(K key,
    -                      V value)
    -
    -
    Removes a particular value. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key
    value - the value to remove -
    Returns:
    true if the multimap contained the value, false if not
    -
    -
    -
    - -

    -removeAll

    -
    -public List<V> removeAll(K key)
    -
    -
    Removes all the values associated with a key -

    -

    -
    -
    -
    -
    Parameters:
    key - the key to remove -
    Returns:
    the removed values or empty list if the key doesn't exist
    -
    -
    -
    - -

    -replace

    -
    -public List<V> replace(K key,
    -                       V value)
    -
    -
    Replaces all values with the given value. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key
    value - the value with which to replace all existing values, or null - to remove all values -
    Returns:
    the values that were replaced
    -
    -
    -
    - -

    -replace

    -
    -public List<V> replace(K key,
    -                       Collection<V> values)
    -
    -
    Replaces all values with the given values. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key
    values - the values with which to replace all existing values -
    Returns:
    the values that were replaced
    -
    -
    -
    - -

    -clear

    -
    -public void clear()
    -
    -
    Clears all entries from the multimap. -

    -

    -
    -
    -
    -
    -
    -
    -
    - -

    -keySet

    -
    -public Set<K> keySet()
    -
    -
    Returns all the keys. -

    -

    -
    -
    -
    - -
    Returns:
    all the keys
    -
    -
    -
    - -

    -values

    -
    -public List<V> values()
    -
    -
    Returns all the values. -

    -

    -
    -
    -
    - -
    Returns:
    all the values
    -
    -
    -
    - -

    -isEmpty

    -
    -public boolean isEmpty()
    -
    -
    Determines if the multimap is empty or not. -

    -

    -
    -
    -
    - -
    Returns:
    true if it's empty, false if not
    -
    -
    -
    - -

    -size

    -
    -public int size()
    -
    -
    Returns the number of values in the map. -

    -

    -
    -
    -
    - -
    Returns:
    the number of values
    -
    -
    -
    - -

    -getMap

    -
    -public Map<K,List<V>> getMap()
    -
    -
    Gets the underlying Map object. -

    -

    -
    -
    -
    - -
    Returns:
    the underlying Map object
    -
    -
    -
    - -

    -sanitizeKey

    -
    -protected K sanitizeKey(K key)
    -
    -
    Modifies a given key before it is used to interact with the internal map. - This method is meant to be overridden by child classes if necessary. -

    -

    -
    -
    -
    -
    Parameters:
    key - the key -
    Returns:
    the modified key (by default, the key is returned as-is)
    -
    -
    -
    - -

    -iterator

    -
    -public Iterator<Map.Entry<K,List<V>>> iterator()
    -
    -
    -
    Specified by:
    iterator in interface Iterable<Map.Entry<K,List<V>>>
    -
    -
    -
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -
    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object obj)
    -
    -
    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/Period.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/Period.html deleted file mode 100644 index 681bd121..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/Period.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - -Period (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class Period

    -
    -java.lang.Object
    -  extended by biweekly.util.Period
    -
    -
    -
    -
    public final class Period
    extends Object
    - - -

    -A period of time. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Period(Date startDate, - Date endDate) - -
    -          Creates a new time period.
    Period(Date startDate, - Duration duration) - -
    -          Creates a new time period.
    Period(Period period) - -
    -          Copies an existing time period.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object obj) - -
    -           
    - DurationgetDuration() - -
    -          Gets the length of time after the start date.
    - DategetEndDate() - -
    -          Gets the end date.
    - DategetStartDate() - -
    -          Gets the start date.
    - inthashCode() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Period

    -
    -public Period(Date startDate,
    -              Date endDate)
    -
    -
    Creates a new time period. -

    -

    -
    Parameters:
    startDate - the start date
    endDate - the end date
    -
    -
    - -

    -Period

    -
    -public Period(Date startDate,
    -              Duration duration)
    -
    -
    Creates a new time period. -

    -

    -
    Parameters:
    startDate - the start date
    duration - the length of time after the start date
    -
    -
    - -

    -Period

    -
    -public Period(Period period)
    -
    -
    Copies an existing time period. -

    -

    -
    Parameters:
    period - the period to copy
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getStartDate

    -
    -public Date getStartDate()
    -
    -
    Gets the start date. -

    -

    - -
    Returns:
    the start date
    -
    -
    -
    - -

    -getEndDate

    -
    -public Date getEndDate()
    -
    -
    Gets the end date. This will be null if a duration was defined. -

    -

    - -
    Returns:
    the end date or null if not set
    -
    -
    -
    - -

    -getDuration

    -
    -public Duration getDuration()
    -
    -
    Gets the length of time after the start date. This will be null if an end - date was defined. -

    -

    - -
    Returns:
    the duration or null if not set
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object obj)
    -
    -
    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.Builder.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.Builder.html deleted file mode 100644 index c10de8dc..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.Builder.html +++ /dev/null @@ -1,673 +0,0 @@ - - - - - - - -Recurrence.Builder (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class Recurrence.Builder

    -
    -java.lang.Object
    -  extended by biweekly.util.Recurrence.Builder
    -
    -
    -
    Enclosing class:
    Recurrence
    -
    -
    -
    -
    public static class Recurrence.Builder
    extends Object
    - - -

    -Constructs Recurrence objects. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    Recurrence.Builder(Recurrence.Frequency frequency) - -
    -          Constructs a new builder.
    Recurrence.Builder(Recurrence recur) - -
    -          Constructs a new builder
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Recurrencebuild() - -
    -          Builds the final Recurrence object.
    - Recurrence.BuilderbyDay(Integer prefix, - Recurrence.DayOfWeek byDay) - -
    -          Adds a BYDAY rule part.
    - Recurrence.BuilderbyDay(Recurrence.DayOfWeek byDay) - -
    -          Adds a BYDAY rule part.
    - Recurrence.BuilderbyHour(Integer byHour) - -
    -          Adds a BYHOUR rule part.
    - Recurrence.BuilderbyMinute(Integer byMinute) - -
    -          Adds a BYMINUTE rule part.
    - Recurrence.BuilderbyMonth(Integer byMonth) - -
    -          Adds a BYMONTH rule part.
    - Recurrence.BuilderbyMonthDay(Integer byMonthDay) - -
    -          Adds a BYMONTHDAY rule part.
    - Recurrence.BuilderbySecond(Integer bySecond) - -
    -          Adds a BYSECOND rule part.
    - Recurrence.BuilderbySetPos(Integer bySetPos) - -
    -          Adds a BYSETPOS rule part.
    - Recurrence.BuilderbyWeekNo(Integer byWeekNo) - -
    -          Adds a BYWEEKNO rule part.
    - Recurrence.BuilderbyYearDay(Integer byYearDay) - -
    -          Adds a BYYEARDAY rule part.
    - Recurrence.Buildercount(Integer count) - -
    -          Gets the number of times the rule will be repeated.
    - Recurrence.Builderfrequency(Recurrence.Frequency frequency) - -
    -          Sets the frequency
    - Recurrence.Builderinterval(Integer interval) - -
    -          Gets how often the rule repeats, in relation to the frequency.
    - Recurrence.Builderuntil(Date until) - -
    -          Sets the date that the recurrence stops.
    - Recurrence.Builderuntil(Date until, - boolean hasTime) - -
    -          Sets the date that the recurrence stops.
    - Recurrence.BuilderworkweekStarts(Recurrence.DayOfWeek workweekStarts) - -
    -          Sets the day that the work week starts.
    - Recurrence.Builderxrule(String name, - String value) - -
    -          Adds a non-standard rule part.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Recurrence.Builder

    -
    -public Recurrence.Builder(Recurrence.Frequency frequency)
    -
    -
    Constructs a new builder. -

    -

    -
    Parameters:
    frequency - the recurrence frequency
    -
    -
    - -

    -Recurrence.Builder

    -
    -public Recurrence.Builder(Recurrence recur)
    -
    -
    Constructs a new builder -

    -

    -
    Parameters:
    recur - the recurrence object to copy from
    -
    - - - - - - - - -
    -Method Detail
    - -

    -frequency

    -
    -public Recurrence.Builder frequency(Recurrence.Frequency frequency)
    -
    -
    Sets the frequency -

    -

    -
    Parameters:
    frequency - the frequency -
    Returns:
    this
    -
    -
    -
    - -

    -until

    -
    -public Recurrence.Builder until(Date until)
    -
    -
    Sets the date that the recurrence stops. Note that the UNTIL and - COUNT fields cannot both be defined within the same rule. -

    -

    -
    Parameters:
    until - the date (time component is included) -
    Returns:
    this
    -
    -
    -
    - -

    -until

    -
    -public Recurrence.Builder until(Date until,
    -                                boolean hasTime)
    -
    -
    Sets the date that the recurrence stops. Note that the UNTIL and - COUNT fields cannot both be defined within the same rule. -

    -

    -
    Parameters:
    until - the date
    hasTime - true if the date has a time component, false if it's - strictly a date -
    Returns:
    this
    -
    -
    -
    - -

    -count

    -
    -public Recurrence.Builder count(Integer count)
    -
    -
    Gets the number of times the rule will be repeated. Note that the - UNTIL and COUNT fields cannot both be defined within the same rule. -

    -

    -
    Parameters:
    count - the number of times to repeat the rule -
    Returns:
    this
    -
    -
    -
    - -

    -interval

    -
    -public Recurrence.Builder interval(Integer interval)
    -
    -
    Gets how often the rule repeats, in relation to the frequency. -

    -

    -
    Parameters:
    interval - the repetition interval -
    Returns:
    this
    -
    -
    -
    - -

    -bySecond

    -
    -public Recurrence.Builder bySecond(Integer bySecond)
    -
    -
    Adds a BYSECOND rule part. -

    -

    -
    Parameters:
    bySecond - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -byMinute

    -
    -public Recurrence.Builder byMinute(Integer byMinute)
    -
    -
    Adds a BYMINUTE rule part. -

    -

    -
    Parameters:
    byMinute - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -byHour

    -
    -public Recurrence.Builder byHour(Integer byHour)
    -
    -
    Adds a BYHOUR rule part. -

    -

    -
    Parameters:
    byHour - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -byMonthDay

    -
    -public Recurrence.Builder byMonthDay(Integer byMonthDay)
    -
    -
    Adds a BYMONTHDAY rule part. -

    -

    -
    Parameters:
    byMonthDay - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -byYearDay

    -
    -public Recurrence.Builder byYearDay(Integer byYearDay)
    -
    -
    Adds a BYYEARDAY rule part. -

    -

    -
    Parameters:
    byYearDay - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -byWeekNo

    -
    -public Recurrence.Builder byWeekNo(Integer byWeekNo)
    -
    -
    Adds a BYWEEKNO rule part. -

    -

    -
    Parameters:
    byWeekNo - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -byMonth

    -
    -public Recurrence.Builder byMonth(Integer byMonth)
    -
    -
    Adds a BYMONTH rule part. -

    -

    -
    Parameters:
    byMonth - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -bySetPos

    -
    -public Recurrence.Builder bySetPos(Integer bySetPos)
    -
    -
    Adds a BYSETPOS rule part. -

    -

    -
    Parameters:
    bySetPos - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -byDay

    -
    -public Recurrence.Builder byDay(Recurrence.DayOfWeek byDay)
    -
    -
    Adds a BYDAY rule part. -

    -

    -
    Parameters:
    byDay - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -byDay

    -
    -public Recurrence.Builder byDay(Integer prefix,
    -                                Recurrence.DayOfWeek byDay)
    -
    -
    Adds a BYDAY rule part. -

    -

    -
    Parameters:
    prefix - the numeric prefix
    byDay - the value to add -
    Returns:
    this
    -
    -
    -
    - -

    -workweekStarts

    -
    -public Recurrence.Builder workweekStarts(Recurrence.DayOfWeek workweekStarts)
    -
    -
    Sets the day that the work week starts. -

    -

    -
    Parameters:
    workweekStarts - the day -
    Returns:
    this
    -
    -
    -
    - -

    -xrule

    -
    -public Recurrence.Builder xrule(String name,
    -                                String value)
    -
    -
    Adds a non-standard rule part. -

    -

    -
    Parameters:
    name - the name
    value - the value or null to remove the rule part -
    Returns:
    this
    -
    -
    -
    - -

    -build

    -
    -public Recurrence build()
    -
    -
    Builds the final Recurrence object. -

    -

    - -
    Returns:
    the object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.DayOfWeek.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.DayOfWeek.html deleted file mode 100644 index eb745091..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.DayOfWeek.html +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - - -Recurrence.DayOfWeek (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Enum Recurrence.DayOfWeek

    -
    -java.lang.Object
    -  extended by java.lang.Enum<Recurrence.DayOfWeek>
    -      extended by biweekly.util.Recurrence.DayOfWeek
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Comparable<Recurrence.DayOfWeek>
    -
    -
    -
    Enclosing class:
    Recurrence
    -
    -
    -
    -
    public static enum Recurrence.DayOfWeek
    extends Enum<Recurrence.DayOfWeek>
    - - -

    -Represents each of the seven days of the week. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Enum Constant Summary
    FRIDAY - -
    -           
    MONDAY - -
    -           
    SATURDAY - -
    -           
    SUNDAY - -
    -           
    THURSDAY - -
    -           
    TUESDAY - -
    -           
    WEDNESDAY - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetAbbr() - -
    -          Gets the day's abbreviation.
    -static Recurrence.DayOfWeekvalueOf(String name) - -
    -          Returns the enum constant of this type with the specified name.
    -static Recurrence.DayOfWeekvalueOfAbbr(String abbr) - -
    -          Gets a day by its abbreviation.
    -static Recurrence.DayOfWeek[]values() - -
    -          Returns an array containing the constants of this enum type, in -the order they are declared.
    - - - - - - - -
    Methods inherited from class java.lang.Enum
    clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    - - - - - - - -
    Methods inherited from class java.lang.Object
    getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Enum Constant Detail
    - -

    -MONDAY

    -
    -public static final Recurrence.DayOfWeek MONDAY
    -
    -
    -
    -
    -
    - -

    -TUESDAY

    -
    -public static final Recurrence.DayOfWeek TUESDAY
    -
    -
    -
    -
    -
    - -

    -WEDNESDAY

    -
    -public static final Recurrence.DayOfWeek WEDNESDAY
    -
    -
    -
    -
    -
    - -

    -THURSDAY

    -
    -public static final Recurrence.DayOfWeek THURSDAY
    -
    -
    -
    -
    -
    - -

    -FRIDAY

    -
    -public static final Recurrence.DayOfWeek FRIDAY
    -
    -
    -
    -
    -
    - -

    -SATURDAY

    -
    -public static final Recurrence.DayOfWeek SATURDAY
    -
    -
    -
    -
    -
    - -

    -SUNDAY

    -
    -public static final Recurrence.DayOfWeek SUNDAY
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -values

    -
    -public static Recurrence.DayOfWeek[] values()
    -
    -
    Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
    -for (Recurrence.DayOfWeek c : Recurrence.DayOfWeek.values())
    -    System.out.println(c);
    -
    -

    -

    - -
    Returns:
    an array containing the constants of this enum type, in -the order they are declared
    -
    -
    -
    - -

    -valueOf

    -
    -public static Recurrence.DayOfWeek valueOf(String name)
    -
    -
    Returns the enum constant of this type with the specified name. -The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are -not permitted.) -

    -

    -
    Parameters:
    name - the name of the enum constant to be returned. -
    Returns:
    the enum constant with the specified name -
    Throws: -
    IllegalArgumentException - if this enum type has no constant -with the specified name -
    NullPointerException - if the argument is null
    -
    -
    -
    - -

    -getAbbr

    -
    -public String getAbbr()
    -
    -
    Gets the day's abbreviation. -

    -

    - -
    Returns:
    the abbreviation (e.g. "MO" for Monday)
    -
    -
    -
    - -

    -valueOfAbbr

    -
    -public static Recurrence.DayOfWeek valueOfAbbr(String abbr)
    -
    -
    Gets a day by its abbreviation. -

    -

    -
    Parameters:
    abbr - the abbreviation (case-insensitive, e.g. "MO" for Monday) -
    Returns:
    the day or null if not found
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.Frequency.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.Frequency.html deleted file mode 100644 index f42f5bf9..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.Frequency.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - - - -Recurrence.Frequency (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Enum Recurrence.Frequency

    -
    -java.lang.Object
    -  extended by java.lang.Enum<Recurrence.Frequency>
    -      extended by biweekly.util.Recurrence.Frequency
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Comparable<Recurrence.Frequency>
    -
    -
    -
    Enclosing class:
    Recurrence
    -
    -
    -
    -
    public static enum Recurrence.Frequency
    extends Enum<Recurrence.Frequency>
    - - -

    -Represents the frequency at which a recurrence rule repeats itself. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Enum Constant Summary
    DAILY - -
    -           
    HOURLY - -
    -           
    MINUTELY - -
    -           
    MONTHLY - -
    -           
    SECONDLY - -
    -           
    WEEKLY - -
    -           
    YEARLY - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -static Recurrence.FrequencyvalueOf(String name) - -
    -          Returns the enum constant of this type with the specified name.
    -static Recurrence.Frequency[]values() - -
    -          Returns an array containing the constants of this enum type, in -the order they are declared.
    - - - - - - - -
    Methods inherited from class java.lang.Enum
    clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    - - - - - - - -
    Methods inherited from class java.lang.Object
    getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Enum Constant Detail
    - -

    -SECONDLY

    -
    -public static final Recurrence.Frequency SECONDLY
    -
    -
    -
    -
    -
    - -

    -MINUTELY

    -
    -public static final Recurrence.Frequency MINUTELY
    -
    -
    -
    -
    -
    - -

    -HOURLY

    -
    -public static final Recurrence.Frequency HOURLY
    -
    -
    -
    -
    -
    - -

    -DAILY

    -
    -public static final Recurrence.Frequency DAILY
    -
    -
    -
    -
    -
    - -

    -WEEKLY

    -
    -public static final Recurrence.Frequency WEEKLY
    -
    -
    -
    -
    -
    - -

    -MONTHLY

    -
    -public static final Recurrence.Frequency MONTHLY
    -
    -
    -
    -
    -
    - -

    -YEARLY

    -
    -public static final Recurrence.Frequency YEARLY
    -
    -
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -values

    -
    -public static Recurrence.Frequency[] values()
    -
    -
    Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
    -for (Recurrence.Frequency c : Recurrence.Frequency.values())
    -    System.out.println(c);
    -
    -

    -

    - -
    Returns:
    an array containing the constants of this enum type, in -the order they are declared
    -
    -
    -
    - -

    -valueOf

    -
    -public static Recurrence.Frequency valueOf(String name)
    -
    -
    Returns the enum constant of this type with the specified name. -The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are -not permitted.) -

    -

    -
    Parameters:
    name - the name of the enum constant to be returned. -
    Returns:
    the enum constant with the specified name -
    Throws: -
    IllegalArgumentException - if this enum type has no constant -with the specified name -
    NullPointerException - if the argument is null
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.html deleted file mode 100644 index 919b6feb..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/Recurrence.html +++ /dev/null @@ -1,679 +0,0 @@ - - - - - - - -Recurrence (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class Recurrence

    -
    -java.lang.Object
    -  extended by biweekly.util.Recurrence
    -
    -
    -
    -
    public final class Recurrence
    extends Object
    - - -

    -

    - Represents a recurrence rule value. -

    -

    - This class is immutable. Use the Recurrence.Builder object to construct a new - instance. -

    -

    - Examples: - -

    - //"bi-weekly"
    - Recurrence rrule = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    - Recurrence copy = new Recurrence.Builder(rrule).interval(3).build();
    - 
    - -

    -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    Specification Reference:
    RFC 5545 p.38-45
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Nested Class Summary
    -static classRecurrence.Builder - -
    -          Constructs Recurrence objects.
    -static classRecurrence.DayOfWeek - -
    -          Represents each of the seven days of the week.
    -static classRecurrence.Frequency - -
    -          Represents the frequency at which a recurrence rule repeats itself.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object obj) - -
    -           
    - List<Recurrence.DayOfWeek>getByDay() - -
    -          Gets the day components of the BYDAY rule part.
    - List<Integer>getByDayPrefixes() - -
    -          Gets the numeric components of the BYDAY rule part.
    - List<Integer>getByHour() - -
    -          Gets the BYHOUR rule part.
    - List<Integer>getByMinute() - -
    -          Gets the BYMINUTE rule part.
    - List<Integer>getByMonth() - -
    -          Gets the BYMONTH rule part.
    - List<Integer>getByMonthDay() - -
    -          Gets the BYMONTHDAY rule part.
    - List<Integer>getBySecond() - -
    -          Gets the BYSECOND rule part.
    - List<Integer>getBySetPos() - -
    -          Gets the BYSETPOS rule part.
    - List<Integer>getByWeekNo() - -
    -          Gets the BYWEEKNO rule part.
    - List<Integer>getByYearDay() - -
    -          Gets the BYYEARDAY rule part.
    - IntegergetCount() - -
    -          Gets the number of times the rule will be repeated.
    - Recurrence.FrequencygetFrequency() - -
    -          Gets the frequency.
    - IntegergetInterval() - -
    -          Gets how often the rule repeats, in relation to the frequency.
    - DategetUntil() - -
    -          Gets the date that the recurrence stops.
    - Recurrence.DayOfWeekgetWorkweekStarts() - -
    -          Gets the day that the work week starts.
    - Map<String,List<String>>getXRules() - -
    -          Gets the non-standard rule parts.
    - inthashCode() - -
    -           
    - booleanhasTimeUntilDate() - -
    -          Determines whether the UNTIL date has a time component.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -getFrequency

    -
    -public Recurrence.Frequency getFrequency()
    -
    -
    Gets the frequency. -

    -

    - -
    Returns:
    the frequency or null if not set
    -
    -
    -
    - -

    -getUntil

    -
    -public Date getUntil()
    -
    -
    Gets the date that the recurrence stops. -

    -

    - -
    Returns:
    the date or null if not set
    -
    -
    -
    - -

    -hasTimeUntilDate

    -
    -public boolean hasTimeUntilDate()
    -
    -
    Determines whether the UNTIL date has a time component. -

    -

    - -
    Returns:
    true if it has a time component, false if it is strictly a date
    -
    -
    -
    - -

    -getCount

    -
    -public Integer getCount()
    -
    -
    Gets the number of times the rule will be repeated. -

    -

    - -
    Returns:
    the number of times to repeat the rule or null if not set
    -
    -
    -
    - -

    -getInterval

    -
    -public Integer getInterval()
    -
    -
    Gets how often the rule repeats, in relation to the frequency. -

    -

    - -
    Returns:
    the repetition interval or null if not set
    -
    -
    -
    - -

    -getBySecond

    -
    -public List<Integer> getBySecond()
    -
    -
    Gets the BYSECOND rule part. -

    -

    - -
    Returns:
    the BYSECOND rule part or empty list if not set
    -
    -
    -
    - -

    -getByMinute

    -
    -public List<Integer> getByMinute()
    -
    -
    Gets the BYMINUTE rule part. -

    -

    - -
    Returns:
    the BYMINUTE rule part or empty list if not set
    -
    -
    -
    - -

    -getByHour

    -
    -public List<Integer> getByHour()
    -
    -
    Gets the BYHOUR rule part. -

    -

    - -
    Returns:
    the BYHOUR rule part or empty list if not set
    -
    -
    -
    - -

    -getByDay

    -
    -public List<Recurrence.DayOfWeek> getByDay()
    -
    -
    Gets the day components of the BYDAY rule part. -

    -

    - -
    Returns:
    the day components of the BYDAY rule part or empty list if not - set
    -
    -
    -
    - -

    -getByDayPrefixes

    -
    -public List<Integer> getByDayPrefixes()
    -
    -
    Gets the numeric components of the BYDAY rule part. -

    -

    - -
    Returns:
    the numeric components of the BYDAY rule part or empty list if - not set (BYDAY values without numeric components will have a "null" - number)
    -
    -
    -
    - -

    -getByMonthDay

    -
    -public List<Integer> getByMonthDay()
    -
    -
    Gets the BYMONTHDAY rule part. -

    -

    - -
    Returns:
    the BYMONTHDAY rule part or empty list if not set
    -
    -
    -
    - -

    -getByYearDay

    -
    -public List<Integer> getByYearDay()
    -
    -
    Gets the BYYEARDAY rule part. -

    -

    - -
    Returns:
    the BYYEARDAY rule part or empty list if not set
    -
    -
    -
    - -

    -getByWeekNo

    -
    -public List<Integer> getByWeekNo()
    -
    -
    Gets the BYWEEKNO rule part. -

    -

    - -
    Returns:
    the BYWEEKNO rule part or empty list if not set
    -
    -
    -
    - -

    -getByMonth

    -
    -public List<Integer> getByMonth()
    -
    -
    Gets the BYMONTH rule part. -

    -

    - -
    Returns:
    the BYMONTH rule part or empty list if not set
    -
    -
    -
    - -

    -getBySetPos

    -
    -public List<Integer> getBySetPos()
    -
    -
    Gets the BYSETPOS rule part. -

    -

    - -
    Returns:
    the BYSETPOS rule part or empty list if not set
    -
    -
    -
    - -

    -getWorkweekStarts

    -
    -public Recurrence.DayOfWeek getWorkweekStarts()
    -
    -
    Gets the day that the work week starts. -

    -

    - -
    Returns:
    the day that the work week starts or null if not set
    -
    -
    -
    - -

    -getXRules

    -
    -public Map<String,List<String>> getXRules()
    -
    -
    Gets the non-standard rule parts. -

    -

    - -
    Returns:
    the non-standard rule parts
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object obj)
    -
    -
    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.JoinCallback.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.JoinCallback.html deleted file mode 100644 index 298d5bf5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.JoinCallback.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - -StringUtils.JoinCallback (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Interface StringUtils.JoinCallback<T>

    -
    -
    Type Parameters:
    T - the value type
    -
    -
    Enclosing class:
    StringUtils
    -
    -
    -
    -
    public static interface StringUtils.JoinCallback<T>
    - - -

    -Callback interface used with the - StringUtils.join(Collection, String, JoinCallback) method. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    - voidhandle(StringBuilder sb, - T value) - -
    -           
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -handle

    -
    -void handle(StringBuilder sb,
    -            T value)
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.JoinMapCallback.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.JoinMapCallback.html deleted file mode 100644 index f1dc2e32..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.JoinMapCallback.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - -StringUtils.JoinMapCallback (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Interface StringUtils.JoinMapCallback<K,V>

    -
    -
    Type Parameters:
    K - the key class
    V - the value class
    -
    -
    Enclosing class:
    StringUtils
    -
    -
    -
    -
    public static interface StringUtils.JoinMapCallback<K,V>
    - - -

    -Callback interface used with the - StringUtils.join(Map, String, JoinMapCallback) method. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    - voidhandle(StringBuilder sb, - K key, - V value) - -
    -           
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -handle

    -
    -void handle(StringBuilder sb,
    -            K key,
    -            V value)
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.html deleted file mode 100644 index 75e127cc..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/StringUtils.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - -StringUtils (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class StringUtils

    -
    -java.lang.Object
    -  extended by biweekly.util.StringUtils
    -
    -
    -
    -
    public class StringUtils
    extends Object
    - - -

    -Contains miscellaneous string utilities. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - -
    -Nested Class Summary
    -static interfaceStringUtils.JoinCallback<T> - -
    -          Callback interface used with the - join(Collection, String, JoinCallback) method.
    -static interfaceStringUtils.JoinMapCallback<K,V> - -
    -          Callback interface used with the - join(Map, String, JoinMapCallback) method.
    - - - - - - - - - - -
    -Field Summary
    -static StringNEWLINE - -
    -          The local computer's newline character sequence.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static - - - - -
    -<T> String
    -
    join(Collection<T> collection, - String delimiter) - -
    -          Joins a collection of values into a delimited list.
    -static - - - - -
    -<T> void
    -
    join(Collection<T> collection, - String delimiter, - StringBuilder sb) - -
    -          Joins a collection of values into a delimited list.
    -static - - - - -
    -<T> void
    -
    join(Collection<T> collection, - String delimiter, - StringBuilder sb, - StringUtils.JoinCallback<T> join) - -
    -          Joins a collection of values into a delimited list.
    -static - - - - -
    -<T> String
    -
    join(Collection<T> collection, - String delimiter, - StringUtils.JoinCallback<T> join) - -
    -          Joins a collection of values into a delimited list.
    -static - - - - -
    -<K,V> String
    -
    join(Map<K,V> map, - String delimiter, - StringUtils.JoinMapCallback<K,V> join) - -
    -          Joins a map into a delimited list.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -NEWLINE

    -
    -public static final String NEWLINE
    -
    -
    The local computer's newline character sequence. -

    -

    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -join

    -
    -public static <T> String join(Collection<T> collection,
    -                              String delimiter)
    -
    -
    Joins a collection of values into a delimited list. -

    -

    -
    Parameters:
    collection - the collection of values
    delimiter - the delimiter (e.g. ",") -
    Returns:
    the final string
    -
    -
    -
    - -

    -join

    -
    -public static <T> void join(Collection<T> collection,
    -                            String delimiter,
    -                            StringBuilder sb)
    -
    -
    Joins a collection of values into a delimited list. -

    -

    -
    Parameters:
    collection - the collection of values
    delimiter - the delimiter (e.g. ",")
    sb - the string builder to append onto
    -
    -
    -
    - -

    -join

    -
    -public static <T> String join(Collection<T> collection,
    -                              String delimiter,
    -                              StringUtils.JoinCallback<T> join)
    -
    -
    Joins a collection of values into a delimited list. -

    -

    -
    Parameters:
    collection - the collection of values
    delimiter - the delimiter (e.g. ",")
    join - callback function to call on every element in the collection -
    Returns:
    the final string
    -
    -
    -
    - -

    -join

    -
    -public static <T> void join(Collection<T> collection,
    -                            String delimiter,
    -                            StringBuilder sb,
    -                            StringUtils.JoinCallback<T> join)
    -
    -
    Joins a collection of values into a delimited list. -

    -

    -
    Parameters:
    collection - the collection of values
    delimiter - the delimiter (e.g. ",")
    sb - the string builder to append onto
    join - callback function to call on every element in the collection
    -
    -
    -
    - -

    -join

    -
    -public static <K,V> String join(Map<K,V> map,
    -                                String delimiter,
    -                                StringUtils.JoinMapCallback<K,V> join)
    -
    -
    Joins a map into a delimited list. -

    -

    -
    Parameters:
    map - the map
    delimiter - the delimiter (e.g. ",")
    join - callback function to call on every element in the collection -
    Returns:
    the final string
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/UtcOffset.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/UtcOffset.html deleted file mode 100644 index f94c8515..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/UtcOffset.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - -UtcOffset (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class UtcOffset

    -
    -java.lang.Object
    -  extended by biweekly.util.UtcOffset
    -
    -
    -
    -
    public final class UtcOffset
    extends Object
    - - -

    -Represents a UTC offset. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    UtcOffset(int hour, - int minute) - -
    -          Creates a new UTC offset.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object obj) - -
    -           
    - intgetHour() - -
    -          Gets the hour component.
    - intgetMinute() - -
    -          Gets the minute component.
    - inthashCode() - -
    -           
    -static UtcOffsetparse(String text) - -
    -          Parses a UTC offset from a string.
    - StringtoString() - -
    -          Converts this offset to its ISO string representation using "basic" - format.
    - StringtoString(boolean extended) - -
    -          Converts this offset to its ISO string representation.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -UtcOffset

    -
    -public UtcOffset(int hour,
    -                 int minute)
    -
    -
    Creates a new UTC offset. -

    -

    -
    Parameters:
    hour - the hour component (may be negative)
    minute - the minute component (must be between 0 and 59)
    -
    - - - - - - - - -
    -Method Detail
    - -

    -parse

    -
    -public static UtcOffset parse(String text)
    -
    -
    Parses a UTC offset from a string. -

    -

    -
    Parameters:
    text - the text to parse (e.g. "-0500") -
    Returns:
    the parsed UTC offset -
    Throws: -
    IllegalArgumentException - if the text cannot be parsed
    -
    -
    -
    - -

    -getHour

    -
    -public int getHour()
    -
    -
    Gets the hour component. -

    -

    - -
    Returns:
    the hour component
    -
    -
    -
    - -

    -getMinute

    -
    -public int getMinute()
    -
    -
    Gets the minute component. -

    -

    - -
    Returns:
    the minute component
    -
    -
    -
    - -

    -toString

    -
    -public String toString()
    -
    -
    Converts this offset to its ISO string representation using "basic" - format. -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    - -
    Returns:
    the ISO string representation (e.g. "-0500")
    -
    -
    -
    - -

    -toString

    -
    -public String toString(boolean extended)
    -
    -
    Converts this offset to its ISO string representation. -

    -

    -
    Parameters:
    extended - true to use extended format (e.g. "-05:00"), false to use - basic format (e.g. "-0500") -
    Returns:
    the ISO string representation
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object obj)
    -
    -
    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/XmlUtils.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/XmlUtils.html deleted file mode 100644 index 1d056d34..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/XmlUtils.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - -XmlUtils (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -biweekly.util -
    -Class XmlUtils

    -
    -java.lang.Object
    -  extended by biweekly.util.XmlUtils
    -
    -
    -
    -
    public class XmlUtils
    extends Object
    - - -

    -Generic XML utility methods. -

    - -

    -

    -
    Author:
    -
    Michael Angstadt
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static DocumentcreateDocument() - -
    -          Creates a new XML document.
    -static ElementgetFirstChildElement(Element parent) - -
    -          Gets the first child element of an element.
    -static ElementgetRootElement(Document parent) - -
    -          Gets the root element of a document.
    -static DocumenttoDocument(InputStream in) - -
    -          Parses an XML document from an input stream.
    -static DocumenttoDocument(Reader reader) - -
    -           - Parses an XML document from a reader.
    -static DocumenttoDocument(String xml) - -
    -          Parses an XML string into a DOM.
    -static List<Element>toElementList(NodeList nodeList) - -
    -          Gets all the elements out of a NodeList.
    -static StringtoString(Node node) - -
    -          Converts an XML node to a string.
    -static StringtoString(Node node, - Map<String,String> outputProperties) - -
    -          Converts an XML node to a string.
    -static voidtoWriter(Node node, - Writer writer) - -
    -          Writes an XML node to a writer.
    -static voidtoWriter(Node node, - Writer writer, - Map<String,String> outputProperties) - -
    -          Writes an XML node to a writer.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -createDocument

    -
    -public static Document createDocument()
    -
    -
    Creates a new XML document. -

    -

    - -
    Returns:
    the XML document
    -
    -
    -
    - -

    -toDocument

    -
    -public static Document toDocument(String xml)
    -                           throws SAXException
    -
    -
    Parses an XML string into a DOM. -

    -

    -
    Parameters:
    xml - the XML string -
    Returns:
    the parsed DOM -
    Throws: -
    SAXException - if the string is not valid XML
    -
    -
    -
    - -

    -toDocument

    -
    -public static Document toDocument(InputStream in)
    -                           throws SAXException,
    -                                  IOException
    -
    -
    Parses an XML document from an input stream. -

    -

    -
    Parameters:
    in - the input stream -
    Returns:
    the parsed DOM -
    Throws: -
    SAXException - if the XML is not valid -
    IOException - if there is a problem reading from the input stream
    -
    -
    -
    - -

    -toDocument

    -
    -public static Document toDocument(Reader reader)
    -                           throws SAXException,
    -                                  IOException
    -
    -

    - Parses an XML document from a reader. -

    -

    - Note that use of this method is discouraged. It ignores the character - encoding that is defined within the XML document itself, and should only - be used if the encoding is undefined or if the encoding needs to be - ignored for whatever reason. The toDocument(InputStream) method - should be used instead, since it takes the XML document's character - encoding into account when parsing. -

    -

    -

    -
    Parameters:
    reader - the reader -
    Returns:
    the parsed DOM -
    Throws: -
    SAXException - if the XML is not valid -
    IOException - if there is a problem reading from the reader
    See Also:
    http://stackoverflow.com/q/3482494/13379
    -
    -
    -
    - -

    -toString

    -
    -public static String toString(Node node)
    -
    -
    Converts an XML node to a string. -

    -

    -
    Parameters:
    node - the XML node -
    Returns:
    the string
    -
    -
    -
    - -

    -toString

    -
    -public static String toString(Node node,
    -                              Map<String,String> outputProperties)
    -
    -
    Converts an XML node to a string. -

    -

    -
    Parameters:
    node - the XML node
    outputProperties - the output properties -
    Returns:
    the string
    -
    -
    -
    - -

    -toWriter

    -
    -public static void toWriter(Node node,
    -                            Writer writer)
    -                     throws TransformerException
    -
    -
    Writes an XML node to a writer. -

    -

    -
    Parameters:
    node - the XML node
    writer - the writer -
    Throws: -
    TransformerException - if there's a problem writing to the writer
    -
    -
    -
    - -

    -toWriter

    -
    -public static void toWriter(Node node,
    -                            Writer writer,
    -                            Map<String,String> outputProperties)
    -                     throws TransformerException
    -
    -
    Writes an XML node to a writer. -

    -

    -
    Parameters:
    node - the XML node
    writer - the writer
    outputProperties - the output properties -
    Throws: -
    TransformerException - if there's a problem writing to the writer
    -
    -
    -
    - -

    -toElementList

    -
    -public static List<Element> toElementList(NodeList nodeList)
    -
    -
    Gets all the elements out of a NodeList. -

    -

    -
    Parameters:
    nodeList - the node list -
    Returns:
    the elements
    -
    -
    -
    - -

    -getRootElement

    -
    -public static Element getRootElement(Document parent)
    -
    -
    Gets the root element of a document. -

    -

    -
    Parameters:
    parent - the document -
    Returns:
    the root element
    -
    -
    -
    - -

    -getFirstChildElement

    -
    -public static Element getFirstChildElement(Element parent)
    -
    -
    Gets the first child element of an element. -

    -

    -
    Parameters:
    parent - the parent element -
    Returns:
    the first child element or null if there are no child elements
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Base64.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Base64.html deleted file mode 100644 index 816cf7c4..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Base64.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.Base64 (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.Base64

    -
    -No usage of biweekly.util.Base64 -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/CaseClasses.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/CaseClasses.html deleted file mode 100644 index 2837e31d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/CaseClasses.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.CaseClasses (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.CaseClasses

    -
    - - - - - - - - - -
    -Packages that use CaseClasses
    biweekly.parameter  
    -  -

    - - - - - -
    -Uses of CaseClasses in biweekly.parameter
    -  -

    - - - - - - - - - -
    Subclasses of CaseClasses in biweekly.parameter
    - classICalParameterCaseClasses<T extends EnumParameterValue> - -
    -          Manages the list of pre-defined values for a parameter (such as VALUE or - ENCODING).
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/DateTimeComponents.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/DateTimeComponents.html deleted file mode 100644 index 37c520e7..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/DateTimeComponents.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.DateTimeComponents (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.DateTimeComponents

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use DateTimeComponents
    biweekly.component  
    biweekly.property  
    biweekly.util  
    -  -

    - - - - - -
    -Uses of DateTimeComponents in biweekly.component
    -  -

    - - - - - - - - - -
    Methods in biweekly.component with parameters of type DateTimeComponents
    - DateStartObservance.setDateStart(DateTimeComponents components) - -
    -          Sets the date that the timezone observance starts.
    -  -

    - - - - - -
    -Uses of DateTimeComponents in biweekly.property
    -  -

    - - - - - - - - - -
    Fields in biweekly.property declared as DateTimeComponents
    -protected  DateTimeComponentsDateOrDateTimeProperty.rawComponents - -
    -           
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return DateTimeComponents
    - DateTimeComponentsDateOrDateTimeProperty.getRawComponents() - -
    -          Gets the raw components of the date-time value.
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type DateTimeComponents
    - voidDateOrDateTimeProperty.setRawComponents(DateTimeComponents rawComponents) - -
    -          Sets the raw components of the date-time value.
    -  -

    - - - - - - - - - - - -
    Constructors in biweekly.property with parameters of type DateTimeComponents
    DateOrDateTimeProperty(DateTimeComponents rawComponents) - -
    -          Creates a new property.
    DateStart(DateTimeComponents components) - -
    -          Creates a start date property.
    -  -

    - - - - - -
    -Uses of DateTimeComponents in biweekly.util
    -  -

    - - - - - - - - - -
    Methods in biweekly.util that return DateTimeComponents
    -static DateTimeComponentsDateTimeComponents.parse(String dateString) - -
    -          Parses the components out of a date-time string.
    -  -

    - - - - - - - - -
    Constructors in biweekly.util with parameters of type DateTimeComponents
    DateTimeComponents(DateTimeComponents original, - Integer year, - Integer month, - Integer date, - Integer hour, - Integer minute, - Integer second, - Boolean utc) - -
    -          Copies an existing DateTimeComponents object.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Duration.Builder.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Duration.Builder.html deleted file mode 100644 index 6560f767..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Duration.Builder.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.Duration.Builder (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.Duration.Builder

    -
    - - - - - - - - - -
    -Packages that use Duration.Builder
    biweekly.util  
    -  -

    - - - - - -
    -Uses of Duration.Builder in biweekly.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.util that return Duration.Builder
    -static Duration.BuilderDuration.builder() - -
    -          Creates a builder object for constructing new instances of this class.
    - Duration.BuilderDuration.Builder.days(Integer days) - -
    -          Sets the number of days
    - Duration.BuilderDuration.Builder.hours(Integer hours) - -
    -          Sets the number of hours
    - Duration.BuilderDuration.Builder.minutes(Integer minutes) - -
    -          Sets the number of minutes
    - Duration.BuilderDuration.Builder.prior(boolean prior) - -
    -          Sets whether the duration should be negative.
    - Duration.BuilderDuration.Builder.seconds(Integer seconds) - -
    -          Sets the number of seconds.
    - Duration.BuilderDuration.Builder.weeks(Integer weeks) - -
    -          Sets the number of weeks.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Duration.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Duration.html deleted file mode 100644 index 9dfaad0e..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Duration.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.Duration (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.Duration

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Duration
    biweekly.component  
    biweekly.property  
    biweekly.util  
    -  -

    - - - - - -
    -Uses of Duration in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Duration
    - FreeBusyVFreeBusy.addFreeBusy(FreeBusyType type, - Date start, - Duration duration) - -
    -          Adds a single time period for which the person is free or busy (for - example, "free" for 2 hours after 1pm).
    - DurationPropertyVTodo.setDuration(Duration duration) - -
    -          Sets the duration of the to-do.
    - DurationPropertyVEvent.setDuration(Duration duration) - -
    -          Sets the duration of the event.
    - DurationPropertyVAlarm.setDuration(Duration duration) - -
    -          Sets the length of the pause between alarm repetitions.
    - voidVAlarm.setRepeat(int count, - Duration pauseDuration) - -
    -          Sets the repetition information for the alarm.
    -  -

    - - - - - -
    -Uses of Duration in biweekly.property
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return Duration
    - DurationTrigger.getDuration() - -
    -          Gets the relative time at which the alarm will trigger.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property with parameters of type Duration
    - voidFreeBusy.addValue(Date start, - Duration duration) - -
    -          Adds a time period.
    - voidTrigger.setDuration(Duration duration, - Related related) - -
    -          Sets a relative time at which the alarm will trigger.
    -  -

    - - - - - - - - - - - -
    Constructors in biweekly.property with parameters of type Duration
    DurationProperty(Duration duration) - -
    -          Creates a duration property.
    Trigger(Duration duration, - Related related) - -
    -          Creates a trigger property.
    -  -

    - - - - - -
    -Uses of Duration in biweekly.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.util that return Duration
    - DurationDuration.Builder.build() - -
    -          Builds the final Duration object.
    -static DurationDuration.diff(Date start, - Date end) - -
    -          Builds a duration based on the difference between two dates.
    -static DurationDuration.fromMillis(long milliseconds) - -
    -          Builds a duration from a number of milliseconds.
    - DurationPeriod.getDuration() - -
    -          Gets the length of time after the start date.
    -static DurationDuration.parse(String value) - -
    -          Parses a duration string.
    -  -

    - - - - - - - - - - - -
    Constructors in biweekly.util with parameters of type Duration
    Duration.Builder(Duration source) - -
    -          Creates a new Duration builder.
    Period(Date startDate, - Duration duration) - -
    -          Creates a new time period.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ICalDateFormatter.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ICalDateFormatter.html deleted file mode 100644 index 3d49e6c3..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ICalDateFormatter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.ICalDateFormatter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.ICalDateFormatter

    -
    -No usage of biweekly.util.ICalDateFormatter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ICalFloatFormatter.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ICalFloatFormatter.html deleted file mode 100644 index 65e0437a..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ICalFloatFormatter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.ICalFloatFormatter (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.ICalFloatFormatter

    -
    -No usage of biweekly.util.ICalFloatFormatter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/IOUtils.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/IOUtils.html deleted file mode 100644 index 6eb5a3db..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/IOUtils.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.IOUtils (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.IOUtils

    -
    -No usage of biweekly.util.IOUtils -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ISOFormat.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ISOFormat.html deleted file mode 100644 index 24fcebbc..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ISOFormat.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.ISOFormat (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.ISOFormat

    -
    - - - - - - - - - -
    -Packages that use ISOFormat
    biweekly.util  
    -  -

    - - - - - -
    -Uses of ISOFormat in biweekly.util
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.util that return ISOFormat
    -static ISOFormatISOFormat.valueOf(String name) - -
    -          Returns the enum constant of this type with the specified name.
    -static ISOFormat[]ISOFormat.values() - -
    -          Returns an array containing the constants of this enum type, in -the order they are declared.
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.util with parameters of type ISOFormat
    -static StringICalDateFormatter.format(Date date, - ISOFormat format) - -
    -          Formats a date for inclusion in an iCalendar object.
    -static StringICalDateFormatter.format(Date date, - ISOFormat format, - TimeZone timeZone) - -
    -          Formats a date for inclusion in an iCalendar object.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ListMultimap.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ListMultimap.html deleted file mode 100644 index 1a734b1c..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/ListMultimap.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.ListMultimap (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.ListMultimap

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ListMultimap
    biweekly.component  
    biweekly.io.json  
    biweekly.parameter  
    biweekly.property.marshaller  
    biweekly.util  
    -  -

    - - - - - -
    -Uses of ListMultimap in biweekly.component
    -  -

    - - - - - - - - - - - - - -
    Fields in biweekly.component declared as ListMultimap
    -protected  ListMultimap<Class<? extends ICalComponent>,ICalComponent>ICalComponent.components - -
    -           
    -protected  ListMultimap<Class<? extends ICalProperty>,ICalProperty>ICalComponent.properties - -
    -           
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.component that return ListMultimap
    - ListMultimap<Class<? extends ICalComponent>,ICalComponent>ICalComponent.getComponents() - -
    -          Gets all the sub-components associated with this component.
    - ListMultimap<Class<? extends ICalProperty>,ICalProperty>ICalComponent.getProperties() - -
    -          Gets all the properties associated with this component.
    -  -

    - - - - - -
    -Uses of ListMultimap in biweekly.io.json
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.json that return ListMultimap
    - ListMultimap<String,String>JCalValue.asObject() - -
    -          Parses this jCal value as an object property value.
    -  -

    - - - - - - - - - -
    Methods in biweekly.io.json with parameters of type ListMultimap
    -static JCalValueJCalValue.object(ListMultimap<String,Object> value) - -
    -          Creates an object value.
    -  -

    - - - - - -
    -Uses of ListMultimap in biweekly.parameter
    -  -

    - - - - - - - - - -
    Subclasses of ListMultimap in biweekly.parameter
    - classICalParameters - -
    -          Contains the list of parameters that belong to a property.
    -  -

    - - - - - -
    -Uses of ListMultimap in biweekly.property.marshaller
    -  -

    - - - - - - - - - -
    Methods in biweekly.property.marshaller that return ListMultimap
    -protected static ListMultimap<String,String>ICalPropertyMarshaller.object(String value) - -
    -          Parses an object property value.
    -  -

    - - - - - -
    -Uses of ListMultimap in biweekly.util
    -  -

    - - - - - - - - -
    Constructors in biweekly.util with parameters of type ListMultimap
    ListMultimap(ListMultimap<K,V> orig) - -
    -          Creates a copy of an existing multimap.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Period.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Period.html deleted file mode 100644 index d7fca252..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Period.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.Period (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.Period

    -
    - - - - - - - - - - - - - -
    -Packages that use Period
    biweekly.property  
    biweekly.util  
    -  -

    - - - - - -
    -Uses of Period in biweekly.property
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.property that return types with arguments of type Period
    - List<Period>RecurrenceDates.getPeriods() - -
    -          Gets the time periods.
    - List<Period>FreeBusy.getValues() - -
    -          Gets all time periods.
    -  -

    - - - - - - - - -
    Constructor parameters in biweekly.property with type arguments of type Period
    RecurrenceDates(List<Period> periods) - -
    -          Creates a recurrence dates property.
    -  -

    - - - - - -
    -Uses of Period in biweekly.util
    -  -

    - - - - - - - - -
    Constructors in biweekly.util with parameters of type Period
    Period(Period period) - -
    -          Copies an existing time period.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.Builder.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.Builder.html deleted file mode 100644 index 751f558f..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.Builder.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.Recurrence.Builder (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.Recurrence.Builder

    -
    - - - - - - - - - -
    -Packages that use Recurrence.Builder
    biweekly.util  
    -  -

    - - - - - -
    -Uses of Recurrence.Builder in biweekly.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.util that return Recurrence.Builder
    - Recurrence.BuilderRecurrence.Builder.byDay(Integer prefix, - Recurrence.DayOfWeek byDay) - -
    -          Adds a BYDAY rule part.
    - Recurrence.BuilderRecurrence.Builder.byDay(Recurrence.DayOfWeek byDay) - -
    -          Adds a BYDAY rule part.
    - Recurrence.BuilderRecurrence.Builder.byHour(Integer byHour) - -
    -          Adds a BYHOUR rule part.
    - Recurrence.BuilderRecurrence.Builder.byMinute(Integer byMinute) - -
    -          Adds a BYMINUTE rule part.
    - Recurrence.BuilderRecurrence.Builder.byMonth(Integer byMonth) - -
    -          Adds a BYMONTH rule part.
    - Recurrence.BuilderRecurrence.Builder.byMonthDay(Integer byMonthDay) - -
    -          Adds a BYMONTHDAY rule part.
    - Recurrence.BuilderRecurrence.Builder.bySecond(Integer bySecond) - -
    -          Adds a BYSECOND rule part.
    - Recurrence.BuilderRecurrence.Builder.bySetPos(Integer bySetPos) - -
    -          Adds a BYSETPOS rule part.
    - Recurrence.BuilderRecurrence.Builder.byWeekNo(Integer byWeekNo) - -
    -          Adds a BYWEEKNO rule part.
    - Recurrence.BuilderRecurrence.Builder.byYearDay(Integer byYearDay) - -
    -          Adds a BYYEARDAY rule part.
    - Recurrence.BuilderRecurrence.Builder.count(Integer count) - -
    -          Gets the number of times the rule will be repeated.
    - Recurrence.BuilderRecurrence.Builder.frequency(Recurrence.Frequency frequency) - -
    -          Sets the frequency
    - Recurrence.BuilderRecurrence.Builder.interval(Integer interval) - -
    -          Gets how often the rule repeats, in relation to the frequency.
    - Recurrence.BuilderRecurrence.Builder.until(Date until) - -
    -          Sets the date that the recurrence stops.
    - Recurrence.BuilderRecurrence.Builder.until(Date until, - boolean hasTime) - -
    -          Sets the date that the recurrence stops.
    - Recurrence.BuilderRecurrence.Builder.workweekStarts(Recurrence.DayOfWeek workweekStarts) - -
    -          Sets the day that the work week starts.
    - Recurrence.BuilderRecurrence.Builder.xrule(String name, - String value) - -
    -          Adds a non-standard rule part.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.DayOfWeek.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.DayOfWeek.html deleted file mode 100644 index 46cee4e5..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.DayOfWeek.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.Recurrence.DayOfWeek (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.Recurrence.DayOfWeek

    -
    - - - - - - - - - -
    -Packages that use Recurrence.DayOfWeek
    biweekly.util  
    -  -

    - - - - - -
    -Uses of Recurrence.DayOfWeek in biweekly.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.util that return Recurrence.DayOfWeek
    - Recurrence.DayOfWeekRecurrence.getWorkweekStarts() - -
    -          Gets the day that the work week starts.
    -static Recurrence.DayOfWeekRecurrence.DayOfWeek.valueOf(String name) - -
    -          Returns the enum constant of this type with the specified name.
    -static Recurrence.DayOfWeekRecurrence.DayOfWeek.valueOfAbbr(String abbr) - -
    -          Gets a day by its abbreviation.
    -static Recurrence.DayOfWeek[]Recurrence.DayOfWeek.values() - -
    -          Returns an array containing the constants of this enum type, in -the order they are declared.
    -  -

    - - - - - - - - - -
    Methods in biweekly.util that return types with arguments of type Recurrence.DayOfWeek
    - List<Recurrence.DayOfWeek>Recurrence.getByDay() - -
    -          Gets the day components of the BYDAY rule part.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.util with parameters of type Recurrence.DayOfWeek
    - Recurrence.BuilderRecurrence.Builder.byDay(Integer prefix, - Recurrence.DayOfWeek byDay) - -
    -          Adds a BYDAY rule part.
    - Recurrence.BuilderRecurrence.Builder.byDay(Recurrence.DayOfWeek byDay) - -
    -          Adds a BYDAY rule part.
    - Recurrence.BuilderRecurrence.Builder.workweekStarts(Recurrence.DayOfWeek workweekStarts) - -
    -          Sets the day that the work week starts.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.Frequency.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.Frequency.html deleted file mode 100644 index 55431768..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.Frequency.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.Recurrence.Frequency (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.Recurrence.Frequency

    -
    - - - - - - - - - -
    -Packages that use Recurrence.Frequency
    biweekly.util  
    -  -

    - - - - - -
    -Uses of Recurrence.Frequency in biweekly.util
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.util that return Recurrence.Frequency
    - Recurrence.FrequencyRecurrence.getFrequency() - -
    -          Gets the frequency.
    -static Recurrence.FrequencyRecurrence.Frequency.valueOf(String name) - -
    -          Returns the enum constant of this type with the specified name.
    -static Recurrence.Frequency[]Recurrence.Frequency.values() - -
    -          Returns an array containing the constants of this enum type, in -the order they are declared.
    -  -

    - - - - - - - - - -
    Methods in biweekly.util with parameters of type Recurrence.Frequency
    - Recurrence.BuilderRecurrence.Builder.frequency(Recurrence.Frequency frequency) - -
    -          Sets the frequency
    -  -

    - - - - - - - - -
    Constructors in biweekly.util with parameters of type Recurrence.Frequency
    Recurrence.Builder(Recurrence.Frequency frequency) - -
    -          Constructs a new builder.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.html deleted file mode 100644 index 9c1e7b19..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/Recurrence.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.Recurrence (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.Recurrence

    -
    - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use Recurrence
    biweekly.component  
    biweekly.property  
    biweekly.property.marshaller  
    biweekly.util  
    -  -

    - - - - - -
    -Uses of Recurrence in biweekly.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in biweekly.component with parameters of type Recurrence
    - ExceptionRuleVTodo.addExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    - ExceptionRuleVJournal.addExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    - ExceptionRuleVEvent.addExceptionRule(Recurrence recur) - -
    -           - Adds an exception for the RecurrenceRule property.
    - RecurrenceRuleVTodo.setRecurrenceRule(Recurrence recur) - -
    -          Sets how often the to-do repeats.
    - RecurrenceRuleVJournal.setRecurrenceRule(Recurrence recur) - -
    -          Sets how often the journal entry repeats.
    - RecurrenceRuleVEvent.setRecurrenceRule(Recurrence recur) - -
    -          Sets how often the event repeats.
    - RecurrenceRuleObservance.setRecurrenceRule(Recurrence recur) - -
    -          Sets how often the timezone observance repeats.
    -  -

    - - - - - -
    -Uses of Recurrence in biweekly.property
    -  -

    - - - - - - - - - - - - - - -
    Constructors in biweekly.property with parameters of type Recurrence
    ExceptionRule(Recurrence recur) - -
    -          Creates a new exception rule property.
    RecurrenceProperty(Recurrence recur) - -
    -          Creates a new recurrence property.
    RecurrenceRule(Recurrence recur) - -
    -          Creates a new recurrence rule property.
    -  -

    - - - - - -
    -Uses of Recurrence in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type Recurrence
    -protected  RecurrenceRuleRecurrenceRuleMarshaller.newInstance(Recurrence recur) - -
    -           
    -protected abstract  TRecurrencePropertyMarshaller.newInstance(Recurrence recur) - -
    -          Creates a new instance of the recurrence property.
    -protected  ExceptionRuleExceptionRuleMarshaller.newInstance(Recurrence recur) - -
    -           
    -  -

    - - - - - -
    -Uses of Recurrence in biweekly.util
    -  -

    - - - - - - - - - -
    Methods in biweekly.util that return Recurrence
    - RecurrenceRecurrence.Builder.build() - -
    -          Builds the final Recurrence object.
    -  -

    - - - - - - - - -
    Constructors in biweekly.util with parameters of type Recurrence
    Recurrence.Builder(Recurrence recur) - -
    -          Constructs a new builder
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.JoinCallback.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.JoinCallback.html deleted file mode 100644 index a6631278..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.JoinCallback.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - -Uses of Interface biweekly.util.StringUtils.JoinCallback (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    biweekly.util.StringUtils.JoinCallback

    -
    - - - - - - - - - -
    -Packages that use StringUtils.JoinCallback
    biweekly.util  
    -  -

    - - - - - -
    -Uses of StringUtils.JoinCallback in biweekly.util
    -  -

    - - - - - - - - - - - - - -
    Methods in biweekly.util with parameters of type StringUtils.JoinCallback
    -static - - - - -
    -<T> void
    -
    StringUtils.join(Collection<T> collection, - String delimiter, - StringBuilder sb, - StringUtils.JoinCallback<T> join) - -
    -          Joins a collection of values into a delimited list.
    -static - - - - -
    -<T> String
    -
    StringUtils.join(Collection<T> collection, - String delimiter, - StringUtils.JoinCallback<T> join) - -
    -          Joins a collection of values into a delimited list.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.JoinMapCallback.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.JoinMapCallback.html deleted file mode 100644 index 8e0a4b2b..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.JoinMapCallback.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -Uses of Interface biweekly.util.StringUtils.JoinMapCallback (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    biweekly.util.StringUtils.JoinMapCallback

    -
    - - - - - - - - - -
    -Packages that use StringUtils.JoinMapCallback
    biweekly.util  
    -  -

    - - - - - -
    -Uses of StringUtils.JoinMapCallback in biweekly.util
    -  -

    - - - - - - - - - -
    Methods in biweekly.util with parameters of type StringUtils.JoinMapCallback
    -static - - - - -
    -<K,V> String
    -
    StringUtils.join(Map<K,V> map, - String delimiter, - StringUtils.JoinMapCallback<K,V> join) - -
    -          Joins a map into a delimited list.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.html deleted file mode 100644 index 61846872..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/StringUtils.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.StringUtils (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.StringUtils

    -
    -No usage of biweekly.util.StringUtils -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/UtcOffset.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/UtcOffset.html deleted file mode 100644 index 0c8319f1..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/UtcOffset.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.UtcOffset (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.UtcOffset

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use UtcOffset
    biweekly.property  
    biweekly.property.marshaller  
    biweekly.util  
    -  -

    - - - - - -
    -Uses of UtcOffset in biweekly.property
    -  -

    - - - - - - - - - -
    Fields in biweekly.property declared as UtcOffset
    -protected  UtcOffsetUtcOffsetProperty.offset - -
    -           
    -  -

    - - - - - - - - - -
    Methods in biweekly.property that return UtcOffset
    - UtcOffsetUtcOffsetProperty.getOffset() - -
    -           
    -  -

    - - - - - - - - - -
    Methods in biweekly.property with parameters of type UtcOffset
    - voidUtcOffsetProperty.setOffset(UtcOffset offset) - -
    -           
    -  -

    - - - - - - - - - - - - - - -
    Constructors in biweekly.property with parameters of type UtcOffset
    TimezoneOffsetFrom(UtcOffset offset) - -
    -          Creates a new timezone offset from property.
    TimezoneOffsetTo(UtcOffset offset) - -
    -          Creates a new timezone offset to property.
    UtcOffsetProperty(UtcOffset offset) - -
    -           
    -  -

    - - - - - -
    -Uses of UtcOffset in biweekly.property.marshaller
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in biweekly.property.marshaller with parameters of type UtcOffset
    -protected abstract  TUtcOffsetPropertyMarshaller.newInstance(UtcOffset offset) - -
    -           
    -protected  TimezoneOffsetToTimezoneOffsetToMarshaller.newInstance(UtcOffset offset) - -
    -           
    -protected  TimezoneOffsetFromTimezoneOffsetFromMarshaller.newInstance(UtcOffset offset) - -
    -           
    -  -

    - - - - - -
    -Uses of UtcOffset in biweekly.util
    -  -

    - - - - - - - - - -
    Methods in biweekly.util that return UtcOffset
    -static UtcOffsetUtcOffset.parse(String text) - -
    -          Parses a UTC offset from a string.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/XmlUtils.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/XmlUtils.html deleted file mode 100644 index f29683bb..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/class-use/XmlUtils.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class biweekly.util.XmlUtils (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    biweekly.util.XmlUtils

    -
    -No usage of biweekly.util.XmlUtils -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/doc-files/shBrushJava.js b/libs/biweekly-0.3.1-javadoc/biweekly/util/doc-files/shBrushJava.js deleted file mode 100644 index d692fd63..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/doc-files/shBrushJava.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -;(function() -{ - // CommonJS - typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; - - function Brush() - { - var keywords = 'abstract assert boolean break byte case catch char class const ' + - 'continue default do double else enum extends ' + - 'false final finally float for goto if implements import ' + - 'instanceof int interface long native new null ' + - 'package private protected public return ' + - 'short static strictfp super switch synchronized this throw throws true ' + - 'transient try void volatile while'; - - this.regexList = [ - { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments - { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments - { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments - { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings - { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings - { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers - { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno - { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword - { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword - ]; - - this.forHtmlScript({ - left : /(<|<)%[@!=]?/g, - right : /%(>|>)/g - }); - }; - - Brush.prototype = new SyntaxHighlighter.Highlighter(); - Brush.aliases = ['java']; - - SyntaxHighlighter.brushes.Java = Brush; - - // CommonJS - typeof(exports) != 'undefined' ? exports.Brush = Brush : null; -})(); diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/doc-files/shCore.js b/libs/biweekly-0.3.1-javadoc/biweekly/util/doc-files/shCore.js deleted file mode 100644 index b47b6454..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/doc-files/shCore.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/package-frame.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/package-frame.html deleted file mode 100644 index d03944ba..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/package-frame.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -biweekly.util (biweekly 0.3.1 API) - - - - - - - - - - - -biweekly.util - - - - -
    -Interfaces  - -
    -StringUtils.JoinCallback -
    -StringUtils.JoinMapCallback
    - - - - - - -
    -Classes  - -
    -Base64 -
    -CaseClasses -
    -DateTimeComponents -
    -Duration -
    -Duration.Builder -
    -ICalDateFormatter -
    -ICalFloatFormatter -
    -IOUtils -
    -ListMultimap -
    -Period -
    -Recurrence -
    -Recurrence.Builder -
    -StringUtils -
    -UtcOffset -
    -XmlUtils
    - - - - - - -
    -Enums  - -
    -ISOFormat -
    -Recurrence.DayOfWeek -
    -Recurrence.Frequency
    - - - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/package-summary.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/package-summary.html deleted file mode 100644 index 2cd3ea67..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/package-summary.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - -biweekly.util (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package biweekly.util -

    - - - - - - - - - - - - - -
    -Interface Summary
    StringUtils.JoinCallback<T>Callback interface used with the - StringUtils.join(Collection, String, JoinCallback) method.
    StringUtils.JoinMapCallback<K,V>Callback interface used with the - StringUtils.join(Map, String, JoinMapCallback) method.
    -  - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    Base64Encodes and decodes data into base64.
    CaseClasses<T,V>Manages objects that are like enums in that they are constant, but unlike - enums in that new instances can be created during runtime.
    DateTimeComponents - Contains the raw components of a date-time value.
    Duration - Represents a period of time (for example, "2 hours and 30 minutes").
    Duration.BuilderBuilds Duration objects.
    ICalDateFormatterHelper class that formats and parses iCalendar dates.
    ICalFloatFormatterFormats floating-point values for iCalendar objects.
    IOUtilsI/O helper classes.
    ListMultimap<K,V>A multimap that uses List objects to store its values.
    PeriodA period of time.
    Recurrence - Represents a recurrence rule value.
    Recurrence.BuilderConstructs Recurrence objects.
    StringUtilsContains miscellaneous string utilities.
    UtcOffsetRepresents a UTC offset.
    XmlUtilsGeneric XML utility methods.
    -  - -

    - - - - - - - - - - - - - - - - - -
    -Enum Summary
    ISOFormatRepresents the various ISO8601 date-time formats that iCalendar dates can be - represented as.
    Recurrence.DayOfWeekRepresents each of the seven days of the week.
    Recurrence.FrequencyRepresents the frequency at which a recurrence rule repeats itself.
    -  - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/package-tree.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/package-tree.html deleted file mode 100644 index 58e6beee..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/package-tree.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - -biweekly.util Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package biweekly.util -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -

    -Enum Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/biweekly/util/package-use.html b/libs/biweekly-0.3.1-javadoc/biweekly/util/package-use.html deleted file mode 100644 index 88bbdb6d..00000000 --- a/libs/biweekly-0.3.1-javadoc/biweekly/util/package-use.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - -Uses of Package biweekly.util (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    biweekly.util

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use biweekly.util
    biweekly.component  
    biweekly.io.json  
    biweekly.parameter  
    biweekly.property  
    biweekly.property.marshaller  
    biweekly.util  
    -  -

    - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.util used by biweekly.component
    DateTimeComponents - -
    -           - Contains the raw components of a date-time value.
    Duration - -
    -           - Represents a period of time (for example, "2 hours and 30 minutes").
    ListMultimap - -
    -          A multimap that uses List objects to store its values.
    Recurrence - -
    -           - Represents a recurrence rule value.
    -  -

    - - - - - - - - -
    -Classes in biweekly.util used by biweekly.io.json
    ListMultimap - -
    -          A multimap that uses List objects to store its values.
    -  -

    - - - - - - - - - - - -
    -Classes in biweekly.util used by biweekly.parameter
    CaseClasses - -
    -          Manages objects that are like enums in that they are constant, but unlike - enums in that new instances can be created during runtime.
    ListMultimap - -
    -          A multimap that uses List objects to store its values.
    -  -

    - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.util used by biweekly.property
    DateTimeComponents - -
    -           - Contains the raw components of a date-time value.
    Duration - -
    -           - Represents a period of time (for example, "2 hours and 30 minutes").
    Period - -
    -          A period of time.
    Recurrence - -
    -           - Represents a recurrence rule value.
    UtcOffset - -
    -          Represents a UTC offset.
    -  -

    - - - - - - - - - - - - - - -
    -Classes in biweekly.util used by biweekly.property.marshaller
    ListMultimap - -
    -          A multimap that uses List objects to store its values.
    Recurrence - -
    -           - Represents a recurrence rule value.
    UtcOffset - -
    -          Represents a UTC offset.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in biweekly.util used by biweekly.util
    DateTimeComponents - -
    -           - Contains the raw components of a date-time value.
    Duration - -
    -           - Represents a period of time (for example, "2 hours and 30 minutes").
    Duration.Builder - -
    -          Builds Duration objects.
    ISOFormat - -
    -          Represents the various ISO8601 date-time formats that iCalendar dates can be - represented as.
    ListMultimap - -
    -          A multimap that uses List objects to store its values.
    Period - -
    -          A period of time.
    Recurrence - -
    -           - Represents a recurrence rule value.
    Recurrence.Builder - -
    -          Constructs Recurrence objects.
    Recurrence.DayOfWeek - -
    -          Represents each of the seven days of the week.
    Recurrence.Frequency - -
    -          Represents the frequency at which a recurrence rule repeats itself.
    StringUtils.JoinCallback - -
    -          Callback interface used with the - StringUtils.join(Collection, String, JoinCallback) method.
    StringUtils.JoinMapCallback - -
    -          Callback interface used with the - StringUtils.join(Map, String, JoinMapCallback) method.
    UtcOffset - -
    -          Represents a UTC offset.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/constant-values.html b/libs/biweekly-0.3.1-javadoc/constant-values.html deleted file mode 100644 index 068e1d37..00000000 --- a/libs/biweekly-0.3.1-javadoc/constant-values.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - -Constant Field Values (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Constant Field Values

    -
    -
    -Contents - - - - - - -
    -biweekly.io.*
    - -

    - - - - - - - - - - - - -
    biweekly.io.xml.XCalNamespaceContext
    -public static final StringXCAL_NS"urn:ietf:params:xml:ns:icalendar-2.0"
    - -

    - -

    - - - - - -
    -biweekly.parameter.*
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    biweekly.parameter.ICalParameters
    -public static final StringALTREP"ALTREP"
    -public static final StringCN"CN"
    -public static final StringCUTYPE"CUTYPE"
    -public static final StringDELEGATED_FROM"DELEGATED-FROM"
    -public static final StringDELEGATED_TO"DELEGATED-TO"
    -public static final StringDIR"DIR"
    -public static final StringENCODING"ENCODING"
    -public static final StringFBTYPE"FBTYPE"
    -public static final StringFMTTYPE"FMTTYPE"
    -public static final StringLANGUAGE"LANGUAGE"
    -public static final StringMEMBER"MEMBER"
    -public static final StringPARTSTAT"PARTSTAT"
    -public static final StringRANGE"RANGE"
    -public static final StringRELATED"RELATED"
    -public static final StringRELTYPE"RELTYPE"
    -public static final StringROLE"ROLE"
    -public static final StringRSVP"RSVP"
    -public static final StringSENT_BY"SENT-BY"
    -public static final StringTZID"TZID"
    -public static final StringVALUE"VALUE"
    - -

    - -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/deprecated-list.html b/libs/biweekly-0.3.1-javadoc/deprecated-list.html deleted file mode 100644 index 62631fc8..00000000 --- a/libs/biweekly-0.3.1-javadoc/deprecated-list.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - -Deprecated List (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Deprecated API

    -
    -
    -Contents
      -
    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/help-doc.html b/libs/biweekly-0.3.1-javadoc/help-doc.html deleted file mode 100644 index e7f5c1d0..00000000 --- a/libs/biweekly-0.3.1-javadoc/help-doc.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - -API Help (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -How This API Document Is Organized

    -
    -This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

    -Overview

    -
    - -

    -The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

    -

    -Package

    -
    - -

    -Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

      -
    • Interfaces (italic)
    • Classes
    • Enums
    • Exceptions
    • Errors
    • Annotation Types
    -
    -

    -Class/Interface

    -
    - -

    -Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      -
    • Class inheritance diagram
    • Direct Subclasses
    • All Known Subinterfaces
    • All Known Implementing Classes
    • Class/interface declaration
    • Class/interface description -

      -

    • Nested Class Summary
    • Field Summary
    • Constructor Summary
    • Method Summary -

      -

    • Field Detail
    • Constructor Detail
    • Method Detail
    -Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
    - -

    -Annotation Type

    -
    - -

    -Each annotation type has its own separate page with the following sections:

      -
    • Annotation Type declaration
    • Annotation Type description
    • Required Element Summary
    • Optional Element Summary
    • Element Detail
    -
    - -

    -Enum

    -
    - -

    -Each enum has its own separate page with the following sections:

      -
    • Enum declaration
    • Enum description
    • Enum Constant Summary
    • Enum Constant Detail
    -
    -

    -Use

    -
    -Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
    -

    -Tree (Class Hierarchy)

    -
    -There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
      -
    • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
    • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
    -
    -

    -Deprecated API

    -
    -The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
    -

    -Index

    -
    -The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
    -

    -Prev/Next

    -These links take you to the next or previous class, interface, package, or related page.

    -Frames/No Frames

    -These links show and hide the HTML frames. All pages are available with or without frames. -

    -

    -Serialized Form

    -Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. -

    -

    -Constant Field Values

    -The Constant Field Values page lists the static final fields and their values. -

    - - -This help file applies to API documentation generated using the standard doclet. - -
    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/index-all.html b/libs/biweekly-0.3.1-javadoc/index-all.html deleted file mode 100644 index cd761462..00000000 --- a/libs/biweekly-0.3.1-javadoc/index-all.html +++ /dev/null @@ -1,5696 +0,0 @@ - - - - - - - -Index (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -A B C D E F G H I J K L M N O P Q R S T U V W X _
    -

    -A

    -
    -
    ACCEPTED - -Static variable in class biweekly.parameter.ParticipationStatus -
      -
    Action - Class in biweekly.property
    - Defines the type of action to invoke when an alarm is triggered.
    Action(String) - -Constructor for class biweekly.property.Action -
    Creates an action property. -
    ActionMarshaller - Class in biweekly.property.marshaller
    Marshals Action properties.
    ActionMarshaller() - -Constructor for class biweekly.property.marshaller.ActionMarshaller -
      -
    add(ICalendar) - -Method in class biweekly.io.xml.XCalDocument -
    Adds an iCalendar object to the xCal document. -
    add(Date) - -Method in class biweekly.util.Duration -
    Adds this duration value to a Date object. -
    addAlarm(VAlarm) - -Method in class biweekly.component.VEvent -
    Adds an alarm to this event. -
    addAlarm(VAlarm) - -Method in class biweekly.component.VTodo -
    Adds an alarm to this to-do. -
    addAttachment(Attachment) - -Method in class biweekly.component.VAlarm -
    Adds an attachment to the alarm. -
    addAttachment(Attachment) - -Method in class biweekly.component.VEvent -
    Adds an attachment to the event. -
    addAttachment(Attachment) - -Method in class biweekly.component.VJournal -
    Adds an attachment to the journal entry. -
    addAttachment(Attachment) - -Method in class biweekly.component.VTodo -
    Adds an attachment to the to-do. -
    addAttendee(Attendee) - -Method in class biweekly.component.VAlarm -
    Adds a person who will be emailed when the alarm fires (only applicable - for EMAIL alarms). -
    addAttendee(Attendee) - -Method in class biweekly.component.VEvent -
    Adds a person who is attending the event. -
    addAttendee(String) - -Method in class biweekly.component.VEvent -
    Adds a person who is attending the event. -
    addAttendee(Attendee) - -Method in class biweekly.component.VFreeBusy -
    Adds a person who is involved in the free/busy entry. -
    addAttendee(Attendee) - -Method in class biweekly.component.VJournal -
    Adds a person who is involved in the journal entry. -
    addAttendee(String) - -Method in class biweekly.component.VJournal -
    Adds a person who is involved in the journal entry. -
    addAttendee(Attendee) - -Method in class biweekly.component.VTodo -
    Adds a person who is involved in the to-do. -
    addAttendee(String) - -Method in class biweekly.component.VTodo -
    Adds a person who is involved in the to-do. -
    addCategories(Categories) - -Method in class biweekly.component.VEvent -
    Adds a list of "tags" or "keywords" that describe the event. -
    addCategories(String...) - -Method in class biweekly.component.VEvent -
    Adds a list of "tags" or "keywords" that describe the event. -
    addCategories(List<String>) - -Method in class biweekly.component.VEvent -
    Adds a list of "tags" or "keywords" that describe the event. -
    addCategories(Categories) - -Method in class biweekly.component.VJournal -
    Adds a list of "tags" or "keywords" that describe the journal entry. -
    addCategories(String...) - -Method in class biweekly.component.VJournal -
    Adds a list of "tags" or "keywords" that describe the journal entry. -
    addCategories(List<String>) - -Method in class biweekly.component.VJournal -
    Adds a list of "tags" or "keywords" that describe the journal entry. -
    addCategories(Categories) - -Method in class biweekly.component.VTodo -
    Adds a list of "tags" or "keywords" that describe the to-do. -
    addCategories(String...) - -Method in class biweekly.component.VTodo -
    Adds a list of "tags" or "keywords" that describe the to-do. -
    addCategories(List<String>) - -Method in class biweekly.component.VTodo -
    Adds a list of "tags" or "keywords" that describe the to-do. -
    addComment(Comment) - -Method in class biweekly.component.Observance -
    Adds a comment to the timezone observance. -
    addComment(String) - -Method in class biweekly.component.Observance -
    Adds a comment to the timezone observance. -
    addComment(Comment) - -Method in class biweekly.component.VEvent -
    Adds a comment to the event. -
    addComment(String) - -Method in class biweekly.component.VEvent -
    Adds a comment to the event. -
    addComment(Comment) - -Method in class biweekly.component.VFreeBusy -
    Adds a comment to the free/busy entry. -
    addComment(String) - -Method in class biweekly.component.VFreeBusy -
    Adds a comment to the free/busy entry. -
    addComment(Comment) - -Method in class biweekly.component.VJournal -
    Adds a comment to the journal entry. -
    addComment(String) - -Method in class biweekly.component.VJournal -
    Adds a comment to the journal entry. -
    addComment(Comment) - -Method in class biweekly.component.VTodo -
    Adds a comment to the to-do. -
    addComment(String) - -Method in class biweekly.component.VTodo -
    Adds a comment to the to-do. -
    addComponent(ICalComponent) - -Method in class biweekly.component.ICalComponent -
    Adds a sub-component to this component. -
    addContact(Contact) - -Method in class biweekly.component.VEvent -
    Adds a contact to the event. -
    addContact(String) - -Method in class biweekly.component.VEvent -
    Adds a contact to the event. -
    addContact(String) - -Method in class biweekly.component.VFreeBusy -
    Sets the contact for the free/busy entry. -
    addContact(Contact) - -Method in class biweekly.component.VJournal -
    Adds a contact to the journal entry. -
    addContact(String) - -Method in class biweekly.component.VJournal -
    Adds a contact to the journal entry. -
    addContact(Contact) - -Method in class biweekly.component.VTodo -
    Adds a contact to the to-do. -
    addContact(String) - -Method in class biweekly.component.VTodo -
    Adds a contact to the to-do. -
    addDaylightSavingsTime(DaylightSavingsTime) - -Method in class biweekly.component.VTimezone -
    Adds a "daylight savings" observance time range. -
    addDelegatedFrom(String) - -Method in class biweekly.parameter.ICalParameters -
    Adds a person who has delegated his or her responsibility to an attendee. -
    addDelegatedFrom(String) - -Method in class biweekly.property.Attendee -
    Adds a person who has delegated his or her responsibility to the - attendee. -
    addDelegatedTo(String) - -Method in class biweekly.parameter.ICalParameters -
    Adds a person to which an attendee has delegated his or her - responsibility. -
    addDelegatedTo(String) - -Method in class biweekly.property.Attendee -
    Adds a person to which the attendee has delegated his or her - responsibility. -
    addDescription(Description) - -Method in class biweekly.component.VJournal -
    Adds a detailed description to the journal entry. -
    addDescription(String) - -Method in class biweekly.component.VJournal -
    Adds a detailed description to the journal entry. -
    addEvent(VEvent) - -Method in class biweekly.ICalendar -
    Adds an event. -
    addExceptionDates(ExceptionDates) - -Method in class biweekly.component.Observance -
    Adds a list of exceptions to the timezone observance. -
    addExceptionDates(ExceptionDates) - -Method in class biweekly.component.VEvent -
    Adds a list of exceptions to the recurrence rule defined in the event (if - one is defined). -
    addExceptionDates(ExceptionDates) - -Method in class biweekly.component.VJournal -
    Adds a list of exceptions to the recurrence rule defined in the journal - entry (if one is defined). -
    addExceptionDates(ExceptionDates) - -Method in class biweekly.component.VTodo -
    Adds a list of exceptions to the recurrence rule defined in the to-do (if - one is defined). -
    addExceptionRule(Recurrence) - -Method in class biweekly.component.VEvent -
    - Adds an exception for the RecurrenceRule property. -
    addExceptionRule(ExceptionRule) - -Method in class biweekly.component.VEvent -
    - Adds an exception for the RecurrenceRule property. -
    addExceptionRule(Recurrence) - -Method in class biweekly.component.VJournal -
    - Adds an exception for the RecurrenceRule property. -
    addExceptionRule(ExceptionRule) - -Method in class biweekly.component.VJournal -
    - Adds an exception for the RecurrenceRule property. -
    addExceptionRule(Recurrence) - -Method in class biweekly.component.VTodo -
    - Adds an exception for the RecurrenceRule property. -
    addExceptionRule(ExceptionRule) - -Method in class biweekly.component.VTodo -
    - Adds an exception for the RecurrenceRule property. -
    addExperimentalComponent(String) - -Method in class biweekly.component.ICalComponent -
    Adds an experimental sub-component to this component. -
    addExperimentalProperty(String, String) - -Method in class biweekly.component.ICalComponent -
    Adds an experimental property to this component. -
    addExperimentalProperty(String, ICalDataType, String) - -Method in class biweekly.component.ICalComponent -
    Adds an experimental property to this component. -
    addFreeBusy(FreeBusy) - -Method in class biweekly.component.VFreeBusy -
    Adds a list of time periods for which the person is free or busy (for - example, "free" between 1pm-3pm and 4pm-5pm). -
    addFreeBusy(FreeBusyType, Date, Date) - -Method in class biweekly.component.VFreeBusy -
    Adds a single time period for which the person is free or busy (for - example, "free" between 1pm-3pm). -
    addFreeBusy(FreeBusyType, Date, Duration) - -Method in class biweekly.component.VFreeBusy -
    Adds a single time period for which the person is free or busy (for - example, "free" for 2 hours after 1pm). -
    addFreeBusy(VFreeBusy) - -Method in class biweekly.ICalendar -
    Adds a free/busy entry. -
    addJournal(VJournal) - -Method in class biweekly.ICalendar -
    Adds a journal entry. -
    addMember(String) - -Method in class biweekly.parameter.ICalParameters -
    Adds a group that an attendee is a member of. -
    addMember(String) - -Method in class biweekly.property.Attendee -
    Adds a group that the attendee is a member of. -
    addParameter(String, String) - -Method in class biweekly.property.ICalProperty -
    Adds a value to a parameter. -
    addProperty(ICalProperty) - -Method in class biweekly.component.ICalComponent -
    Adds a property to this component. -
    addRecurrenceDates(RecurrenceDates) - -Method in class biweekly.component.Observance -
    Adds a list of dates/periods that help define the recurrence rule of this - timezone observance (if one is defined). -
    addRecurrenceDates(RecurrenceDates) - -Method in class biweekly.component.VEvent -
    Adds a list of dates/periods that help define the recurrence rule of this - event (if one is defined). -
    addRecurrenceDates(RecurrenceDates) - -Method in class biweekly.component.VJournal -
    Adds a list of dates/periods that help define the recurrence rule of this - journal entry (if one is defined). -
    addRecurrenceDates(RecurrenceDates) - -Method in class biweekly.component.VTodo -
    Adds a list of dates/periods that help define the recurrence rule of this - to-do (if one is defined). -
    addRelatedTo(RelatedTo) - -Method in class biweekly.component.VEvent -
    Adds a component that the event is related to. -
    addRelatedTo(String) - -Method in class biweekly.component.VEvent -
    Adds a component that the event is related to. -
    addRelatedTo(RelatedTo) - -Method in class biweekly.component.VJournal -
    Adds a component that the journal entry is related to. -
    addRelatedTo(String) - -Method in class biweekly.component.VJournal -
    Adds a component that the journal entry is related to. -
    addRelatedTo(RelatedTo) - -Method in class biweekly.component.VTodo -
    Adds a component that the to-do is related to. -
    addRelatedTo(String) - -Method in class biweekly.component.VTodo -
    Adds a component that the to-do is related to. -
    addResources(Resources) - -Method in class biweekly.component.VEvent -
    Adds a list of resources that are needed for the event. -
    addResources(String...) - -Method in class biweekly.component.VEvent -
    Adds a list of resources that are needed for the event. -
    addResources(List<String>) - -Method in class biweekly.component.VEvent -
    Adds a list of resources that are needed for the event. -
    addResources(Resources) - -Method in class biweekly.component.VTodo -
    Adds a list of resources that are needed for the to-do. -
    addResources(String...) - -Method in class biweekly.component.VTodo -
    Adds a list of resources that are needed for the to-do. -
    addResources(List<String>) - -Method in class biweekly.component.VTodo -
    Adds a list of resources that are needed for the to-do. -
    addStandardTime(StandardTime) - -Method in class biweekly.component.VTimezone -
    Adds a "standard" observance time range. -
    addTimezone(VTimezone) - -Method in class biweekly.ICalendar -
    Adds a timezone. -
    addTimezoneName(TimezoneName) - -Method in class biweekly.component.Observance -
    Adds a traditional, non-standard name for the timezone observance. -
    addTimezoneName(String) - -Method in class biweekly.component.Observance -
    Adds a traditional, non-standard name for the timezone observance. -
    addTodo(VTodo) - -Method in class biweekly.ICalendar -
    Adds a to-do. -
    addValue(Date, Date) - -Method in class biweekly.property.FreeBusy -
    Adds a time period. -
    addValue(Date, Duration) - -Method in class biweekly.property.FreeBusy -
    Adds a time period. -
    addValue(T) - -Method in class biweekly.property.ListProperty -
    Adds a value to this property. -
    all() - -Method in class biweekly.Biweekly.ParserChainJsonString -
      -
    all() - -Method in class biweekly.Biweekly.ParserChainTextString -
      -
    all() - -Method in class biweekly.Biweekly.ParserChainXmlDocument -
      -
    all() - -Method in class biweekly.Biweekly.ParserChainXmlString -
      -
    all() - -Static method in class biweekly.ICalDataType -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all(ICalDataType) - -Method in class biweekly.io.xml.XCalElement -
    Gets all the values of a given data type. -
    all(String) - -Method in class biweekly.io.xml.XCalElement -
    Gets the values of all child elements that have the given name. -
    all() - -Static method in class biweekly.parameter.CalendarUserType -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all() - -Static method in class biweekly.parameter.Encoding -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all() - -Static method in class biweekly.parameter.FreeBusyType -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all() - -Static method in class biweekly.parameter.ParticipationStatus -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all() - -Static method in class biweekly.parameter.Range -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all() - -Static method in class biweekly.parameter.Related -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all() - -Static method in class biweekly.parameter.RelationshipType -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all() - -Static method in class biweekly.parameter.Role -
    Gets all of the parameter values that are defined as static constants in - this class. -
    all() - -Method in class biweekly.util.CaseClasses -
    Gets all the static constants of the case class. -
    ALTREP - -Static variable in class biweekly.parameter.ICalParameters -
      -
    append(ICalDataType, String) - -Method in class biweekly.io.xml.XCalElement -
    Adds a value. -
    append(String, String) - -Method in class biweekly.io.xml.XCalElement -
    Adds a child element. -
    append(String) - -Method in class biweekly.io.xml.XCalElement -
    Adds a child element. -
    append(ICalDataType) - -Method in class biweekly.io.xml.XCalElement -
    Adds an empty value. -
    append(String, Collection<String>) - -Method in class biweekly.io.xml.XCalElement -
    Adds multiple child elements, each with the same name. -
    asMulti() - -Method in class biweekly.io.json.JCalValue -
    Parses this jCal value as a multi-valued property value. -
    asObject() - -Method in class biweekly.io.json.JCalValue -
    Parses this jCal value as an object property value. -
    asSingle() - -Method in class biweekly.io.json.JCalValue -
    Parses this jCal value as a single-valued property value. -
    asString(T) - -Method in interface biweekly.property.marshaller.ICalPropertyMarshaller.ListCallback -
    Converts a value to a string. -
    asStructured() - -Method in class biweekly.io.json.JCalValue -
    Parses this jCal value as a structured property value. -
    Attachment - Class in biweekly.property
    - Represents a binary resource that is associated with an event, to-do, journal - entry, or alarm.
    Attachment(String, File) - -Constructor for class biweekly.property.Attachment -
    Creates a new attachment. -
    Attachment(String, byte[]) - -Constructor for class biweekly.property.Attachment -
    Creates a new attachment. -
    Attachment(String, String) - -Constructor for class biweekly.property.Attachment -
    Creates a new attachment. -
    AttachmentMarshaller - Class in biweekly.property.marshaller
    Marshals Attachment properties.
    AttachmentMarshaller() - -Constructor for class biweekly.property.marshaller.AttachmentMarshaller -
      -
    Attendee - Class in biweekly.property
    - Defines an attendee (such as a person attending an event).
    Attendee(String) - -Constructor for class biweekly.property.Attendee -
    Creates an attendee property. -
    AttendeeMarshaller - Class in biweekly.property.marshaller
    Marshals Attendee properties.
    AttendeeMarshaller() - -Constructor for class biweekly.property.marshaller.AttendeeMarshaller -
      -
    audio(Trigger) - -Static method in class biweekly.component.VAlarm -
    Creates an audio alarm. -
    audio(Trigger, Attachment) - -Static method in class biweekly.component.VAlarm -
    Creates an audio alarm. -
    audio() - -Static method in class biweekly.property.Action -
    Creates an "audio" action property. -
    -
    -

    -B

    -
    -
    BASE64 - -Static variable in class biweekly.parameter.Encoding -
      -
    Base64 - Class in biweekly.util
    Encodes and decodes data into base64.
    beginComponent(String) - -Method in interface biweekly.io.text.ICalRawReader.ICalDataStreamListener -
    Called when a component begins (when a "BEGIN:NAME" property is - reached). -
    BINARY - -Static variable in class biweekly.ICalDataType -
      -
    biweekly - package biweekly
     
    Biweekly - Class in biweekly
    - Contains static chaining factory methods for reading/writing iCalendar - objects.
    biweekly() - -Static method in class biweekly.property.ProductId -
    Creates a new product identifier property that represents this library. -
    biweekly.component - package biweekly.component
     
    biweekly.component.marshaller - package biweekly.component.marshaller
     
    biweekly.io - package biweekly.io
     
    biweekly.io.json - package biweekly.io.json
     
    biweekly.io.text - package biweekly.io.text
     
    biweekly.io.xml - package biweekly.io.xml
     
    biweekly.parameter - package biweekly.parameter
     
    Biweekly.ParserChainJsonReader - Class in biweekly
    Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    Biweekly.ParserChainJsonString - Class in biweekly
    Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    Biweekly.ParserChainTextReader - Class in biweekly
    Chainer class for parsing plain text iCalendar data streams.
    Biweekly.ParserChainTextString - Class in biweekly
    Chainer class for parsing plain text iCalendar strings.
    Biweekly.ParserChainXmlDocument - Class in biweekly
    Chainer class for parsing XML-encoded iCalendar objects (xCal).
    Biweekly.ParserChainXmlReader - Class in biweekly
    Chainer class for parsing XML-encoded iCalendar objects (xCal).
    Biweekly.ParserChainXmlString - Class in biweekly
    Chainer class for parsing XML-encoded iCalendar objects (xCal).
    biweekly.property - package biweekly.property
     
    biweekly.property.marshaller - package biweekly.property.marshaller
     
    biweekly.util - package biweekly.util
     
    Biweekly.WriterChainJson - Class in biweekly
    Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    Biweekly.WriterChainText - Class in biweekly
    Chainer class for writing to plain text iCalendar data streams.
    Biweekly.WriterChainXml - Class in biweekly
    Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    BOOLEAN - -Static variable in class biweekly.ICalDataType -
      -
    build() - -Method in class biweekly.util.Duration.Builder -
    Builds the final Duration object. -
    build() - -Method in class biweekly.util.Recurrence.Builder -
    Builds the final Recurrence object. -
    builder() - -Static method in class biweekly.util.Duration -
    Creates a builder object for constructing new instances of this class. -
    BUSY - -Static variable in class biweekly.parameter.FreeBusyType -
      -
    BUSY_TENTATIVE - -Static variable in class biweekly.parameter.FreeBusyType -
      -
    BUSY_UNAVAILABLE - -Static variable in class biweekly.parameter.FreeBusyType -
      -
    byDay(Recurrence.DayOfWeek) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYDAY rule part. -
    byDay(Integer, Recurrence.DayOfWeek) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYDAY rule part. -
    byHour(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYHOUR rule part. -
    byMinute(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYMINUTE rule part. -
    byMonth(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYMONTH rule part. -
    byMonthDay(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYMONTHDAY rule part. -
    bySecond(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYSECOND rule part. -
    bySetPos(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYSETPOS rule part. -
    byWeekNo(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYWEEKNO rule part. -
    byYearDay(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a BYYEARDAY rule part. -
    -
    -

    -C

    -
    -
    CAL_ADDRESS - -Static variable in class biweekly.ICalDataType -
      -
    CalendarScale - Class in biweekly.property
    - Specifies the calendar system that this iCalendar object uses.
    CalendarScale(String) - -Constructor for class biweekly.property.CalendarScale -
    Creates a new calendar scale property. -
    CalendarScaleMarshaller - Class in biweekly.property.marshaller
    Marshals CalendarScale properties.
    CalendarScaleMarshaller() - -Constructor for class biweekly.property.marshaller.CalendarScaleMarshaller -
      -
    CalendarUserType - Class in biweekly.parameter
    Defines the type of user an entity is.
    cancelled() - -Static method in class biweekly.property.Status -
    Creates a "cancelled" status property (only valid for event, to-do, and - journal components). -
    CannotParseException - Exception in biweekly.io
    Thrown during the unmarshalling of an iCalendar property to signal that the - property's value could not be parsed (for example, being unable to parse a - date string).
    CannotParseException() - -Constructor for exception biweekly.io.CannotParseException -
    Creates a new "cannot parse" exception. -
    CannotParseException(String) - -Constructor for exception biweekly.io.CannotParseException -
    Creates a new "cannot parse" exception. -
    caretDecoding(boolean) - -Method in class biweekly.Biweekly.ParserChainTextReader -
      -
    caretDecoding(boolean) - -Method in class biweekly.Biweekly.ParserChainTextString -
      -
    caretEncoding(boolean) - -Method in class biweekly.Biweekly.WriterChainText -
    - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). -
    CaseClasses<T,V> - Class in biweekly.util
    Manages objects that are like enums in that they are constant, but unlike - enums in that new instances can be created during runtime.
    CaseClasses(Class<T>) - -Constructor for class biweekly.util.CaseClasses -
    Creates a new case class collection. -
    Categories - Class in biweekly.property
    - Defines a list of "tags" or "keywords" that describe the component.
    Categories() - -Constructor for class biweekly.property.Categories -
    Creates a new categories property. -
    Categories(String...) - -Constructor for class biweekly.property.Categories -
    Creates a new categories property. -
    Categories(List<String>) - -Constructor for class biweekly.property.Categories -
    Creates a new categories property. -
    CategoriesMarshaller - Class in biweekly.property.marshaller
    Marshals Categories properties.
    CategoriesMarshaller() - -Constructor for class biweekly.property.marshaller.CategoriesMarshaller -
      -
    CHAIR - -Static variable in class biweekly.parameter.Role -
      -
    checkOptionalCardinality(List<String>, Class<? extends ICalProperty>...) - -Method in class biweekly.component.ICalComponent -
    Utility method for validating that there is no more than one instance of - each of the given properties. -
    checkRequiredCardinality(List<String>, Class<? extends ICalProperty>...) - -Method in class biweekly.component.ICalComponent -
    Utility method for validating that there is exactly one instance of each - of the given properties. -
    child(ICalDataType) - -Method in class biweekly.io.xml.XCalElement -
    Gets the first child element with the given data type. -
    CHILD - -Static variable in class biweekly.parameter.RelationshipType -
      -
    children(ICalDataType) - -Method in class biweekly.io.xml.XCalElement -
    Gets all child elements with the given data type. -
    Classification - Class in biweekly.property
    - Defines the level of sensitivity of the iCalendar data.
    Classification(String) - -Constructor for class biweekly.property.Classification -
    Creates a new classification property. -
    ClassificationMarshaller - Class in biweekly.property.marshaller
    Marshals Classification properties.
    ClassificationMarshaller() - -Constructor for class biweekly.property.marshaller.ClassificationMarshaller -
      -
    clazz - -Variable in class biweekly.component.marshaller.ICalComponentMarshaller -
      -
    clazz - -Variable in class biweekly.property.marshaller.ICalPropertyMarshaller -
      -
    clazz - -Variable in class biweekly.util.CaseClasses -
      -
    clear() - -Method in class biweekly.util.ListMultimap -
    Clears all entries from the multimap. -
    close() - -Method in class biweekly.io.json.JCalRawReader -
    Closes the underlying Reader object. -
    close() - -Method in class biweekly.io.json.JCalRawWriter -
    Finishes writing the JSON document and closes the underlying - Writer. -
    close() - -Method in class biweekly.io.json.JCalReader -
      -
    close() - -Method in class biweekly.io.json.JCalWriter -
    Finishes writing the JSON document and closes the underlying - Writer. -
    close() - -Method in class biweekly.io.text.FoldedLineWriter -
      -
    close() - -Method in class biweekly.io.text.ICalRawReader -
    Closes the underlying Reader object. -
    close() - -Method in class biweekly.io.text.ICalRawWriter -
    Closes the underlying Writer object. -
    close() - -Method in class biweekly.io.text.ICalReader -
    Closes the underlying Reader object. -
    close() - -Method in class biweekly.io.text.ICalWriter -
    Closes the underlying Writer object. -
    closeJsonStream() - -Method in class biweekly.io.json.JCalRawWriter -
    Finishes writing the JSON document so that it is syntactically correct. -
    closeJsonStream() - -Method in class biweekly.io.json.JCalWriter -
    Finishes writing the JSON document so that it is syntactically correct. -
    closeQuietly(Closeable) - -Static method in class biweekly.util.IOUtils -
    Closes a closeable resource, catching its IOException. -
    CN - -Static variable in class biweekly.parameter.ICalParameters -
      -
    Comment - Class in biweekly.property
    - Defines a free-text comment to be read by the user.
    Comment(String) - -Constructor for class biweekly.property.Comment -
    Creates a comment property. -
    CommentMarshaller - Class in biweekly.property.marshaller
    Marshals Comment properties.
    CommentMarshaller() - -Constructor for class biweekly.property.marshaller.CommentMarshaller -
      -
    COMPLETED - -Static variable in class biweekly.parameter.ParticipationStatus -
      -
    Completed - Class in biweekly.property
    - Defines the date and time that a to-do task was completed.
    Completed(Date) - -Constructor for class biweekly.property.Completed -
    Creates a completed property. -
    completed() - -Static method in class biweekly.property.Status -
    Creates a "completed" status property (only valid for to-do components). -
    CompletedMarshaller - Class in biweekly.property.marshaller
    Marshals Completed properties.
    CompletedMarshaller() - -Constructor for class biweekly.property.marshaller.CompletedMarshaller -
      -
    componentName - -Variable in class biweekly.component.marshaller.ICalComponentMarshaller -
      -
    components - -Variable in class biweekly.component.ICalComponent -
      -
    confidential() - -Static method in class biweekly.property.Classification -
    Creates a "confidential" classification property. -
    confirmed() - -Static method in class biweekly.property.Status -
    Creates a "confirmed" status property (only valid for event components). -
    Contact - Class in biweekly.property
    - Defines contact information for a person or other entity (for example, the - name of a business and its phone number).
    Contact(String) - -Constructor for class biweekly.property.Contact -
    Creates a contact property. -
    ContactMarshaller - Class in biweekly.property.marshaller
    Marshals Contact properties.
    ContactMarshaller() - -Constructor for class biweekly.property.marshaller.ContactMarshaller -
      -
    containsKey(K) - -Method in class biweekly.util.ListMultimap -
    Determines whether the given key exists. -
    count(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Gets the number of times the rule will be repeated. -
    create(String) - -Method in class biweekly.parameter.ICalParameterCaseClasses -
      -
    create(V) - -Method in class biweekly.util.CaseClasses -
    Creates a new instance of the case class. -
    Created - Class in biweekly.property
    - Defines the date-time that the calendar information was initially created.
    Created(Date) - -Constructor for class biweekly.property.Created -
    Creates a created property. -
    CreatedMarshaller - Class in biweekly.property.marshaller
    Marshals Created properties.
    CreatedMarshaller() - -Constructor for class biweekly.property.marshaller.CreatedMarshaller -
      -
    createDocument() - -Static method in class biweekly.util.XmlUtils -
    Creates a new XML document. -
    CUTYPE - -Static variable in class biweekly.parameter.ICalParameters -
      -
    -
    -

    -D

    -
    -
    dataType(T) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Determines the data type of a property instance. -
    DATE - -Static variable in class biweekly.ICalDataType -
      -
    date(String) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Parses a date string. -
    date(Date) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Formats a Date object as a string. -
    DATE_TIME - -Static variable in class biweekly.ICalDataType -
      -
    DateDue - Class in biweekly.property
    - Defines the date that a to-do task is due by.
    DateDue(Date) - -Constructor for class biweekly.property.DateDue -
    Creates a due date property. -
    DateDue(Date, boolean) - -Constructor for class biweekly.property.DateDue -
    Creates a due date property. -
    DateDueMarshaller - Class in biweekly.property.marshaller
    Marshals DateDue properties.
    DateDueMarshaller() - -Constructor for class biweekly.property.marshaller.DateDueMarshaller -
      -
    DateEnd - Class in biweekly.property
    - Defines the date that an event or free/busy component ends.
    DateEnd(Date) - -Constructor for class biweekly.property.DateEnd -
    Creates a date end property. -
    DateEnd(Date, boolean) - -Constructor for class biweekly.property.DateEnd -
    Creates a date end property. -
    DateEndMarshaller - Class in biweekly.property.marshaller
    Marshals DateEnd properties.
    DateEndMarshaller() - -Constructor for class biweekly.property.marshaller.DateEndMarshaller -
      -
    dateHasTime(String) - -Static method in class biweekly.util.ICalDateFormatter -
    Determines whether a date string has a time component. -
    dateHasTimezone(String) - -Static method in class biweekly.util.ICalDateFormatter -
    Determines whether a date string is in UTC time or has a timezone offset. -
    DateOrDateTimeProperty - Class in biweekly.property
    Represents a property whose value is a date or a date-time.
    DateOrDateTimeProperty(DateTimeComponents) - -Constructor for class biweekly.property.DateOrDateTimeProperty -
    Creates a new property. -
    DateOrDateTimeProperty(Date, boolean) - -Constructor for class biweekly.property.DateOrDateTimeProperty -
    Creates a new property. -
    DateOrDateTimePropertyMarshaller<T extends DateOrDateTimeProperty> - Class in biweekly.property.marshaller
    Marshals properties that have either "date" or "date-time" values.
    DateOrDateTimePropertyMarshaller(Class<T>, String) - -Constructor for class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    DateStart - Class in biweekly.property
    - Defines the date that an event, free/busy component, or timezone component - starts.
    DateStart(Date) - -Constructor for class biweekly.property.DateStart -
    Creates a start date property. -
    DateStart(Date, boolean) - -Constructor for class biweekly.property.DateStart -
    Creates a start date property. -
    DateStart(DateTimeComponents) - -Constructor for class biweekly.property.DateStart -
    Creates a start date property. -
    DateStartMarshaller - Class in biweekly.property.marshaller
    Marshals DateStart properties.
    DateStartMarshaller() - -Constructor for class biweekly.property.marshaller.DateStartMarshaller -
      -
    DateTimeComponents - Class in biweekly.util
    - Contains the raw components of a date-time value.
    DateTimeComponents(DateTimeComponents, Integer, Integer, Integer, Integer, Integer, Integer, Boolean) - -Constructor for class biweekly.util.DateTimeComponents -
    Copies an existing DateTimeComponents object. -
    DateTimeComponents(int, int, int, int, int, int, boolean) - -Constructor for class biweekly.util.DateTimeComponents -
    Creates a new set of date-time components. -
    DateTimeProperty - Class in biweekly.property
    Represents a property whose value is a date-time.
    DateTimeProperty(Date) - -Constructor for class biweekly.property.DateTimeProperty -
    Creates a new property. -
    DateTimePropertyMarshaller<T extends DateTimeProperty> - Class in biweekly.property.marshaller
    Marshals properties that have "date-time" values.
    DateTimePropertyMarshaller(Class<T>, String) - -Constructor for class biweekly.property.marshaller.DateTimePropertyMarshaller -
      -
    DateTimeStamp - Class in biweekly.property
    - The meaning of this property varies depending on the state of the iCalendar - object: - - If a Method property exists: Defines the creation date of - the iCalendar object (not the creation date of the actual calendar data).
    DateTimeStamp(Date) - -Constructor for class biweekly.property.DateTimeStamp -
    Creates a date time stamp property. -
    DateTimeStampMarshaller - Class in biweekly.property.marshaller
    Marshals DateTimeStamp properties.
    DateTimeStampMarshaller() - -Constructor for class biweekly.property.marshaller.DateTimeStampMarshaller -
      -
    DaylightSavingsTime - Class in biweekly.component
    - Defines a daylight savings time range within a VTimezone.
    DaylightSavingsTime() - -Constructor for class biweekly.component.DaylightSavingsTime -
      -
    DaylightSavingsTimeMarshaller - Class in biweekly.component.marshaller
     
    DaylightSavingsTimeMarshaller() - -Constructor for class biweekly.component.marshaller.DaylightSavingsTimeMarshaller -
      -
    days(Integer) - -Method in class biweekly.util.Duration.Builder -
    Sets the number of days -
    DECLINED - -Static variable in class biweekly.parameter.ParticipationStatus -
      -
    decode(String) - -Static method in class biweekly.util.Base64 -
    Translates the specified Base64 string into a byte array. -
    DEFAULT - -Static variable in class biweekly.io.text.FoldingScheme -
    Folds lines according to RFC specification (75 characters not including - CRLF, with 1 space as indentation). -
    defaultDataType - -Variable in class biweekly.property.marshaller.ICalPropertyMarshaller -
      -
    DELEGATED - -Static variable in class biweekly.parameter.ParticipationStatus -
      -
    DELEGATED_FROM - -Static variable in class biweekly.parameter.ICalParameters -
      -
    DELEGATED_TO - -Static variable in class biweekly.parameter.ICalParameters -
      -
    Description - Class in biweekly.property
    - A detailed description of the component that this property belongs to.
    Description(String) - -Constructor for class biweekly.property.Description -
    Creates a description property. -
    DescriptionMarshaller - Class in biweekly.property.marshaller
    Marshals Description properties.
    DescriptionMarshaller() - -Constructor for class biweekly.property.marshaller.DescriptionMarshaller -
      -
    diff(Date, Date) - -Static method in class biweekly.util.Duration -
    Builds a duration based on the difference between two dates. -
    DIR - -Static variable in class biweekly.parameter.ICalParameters -
      -
    display(Trigger, String) - -Static method in class biweekly.component.VAlarm -
    Creates a display alarm. -
    display() - -Static method in class biweekly.property.Action -
    Creates an "display" action property. -
    document() - -Method in class biweekly.io.xml.XCalElement -
    Gets the owner document. -
    dom() - -Method in class biweekly.Biweekly.WriterChainXml -
    Writes the xCal document to an XML DOM. -
    draft() - -Static method in class biweekly.property.Status -
    Creates a "draft" status property (only valid for journal components). -
    DURATION - -Static variable in class biweekly.ICalDataType -
      -
    Duration - Class in biweekly.util
    - Represents a period of time (for example, "2 hours and 30 minutes").
    Duration.Builder - Class in biweekly.util
    Builds Duration objects.
    Duration.Builder() - -Constructor for class biweekly.util.Duration.Builder -
    Creates a new Duration builder. -
    Duration.Builder(Duration) - -Constructor for class biweekly.util.Duration.Builder -
    Creates a new Duration builder. -
    DurationProperty - Class in biweekly.property
    - Defines a duration of time (for example, "2 hours and 30 minutes").
    DurationProperty(Duration) - -Constructor for class biweekly.property.DurationProperty -
    Creates a duration property. -
    DurationPropertyMarshaller - Class in biweekly.property.marshaller
    Marshals DurationProperty properties.
    DurationPropertyMarshaller() - -Constructor for class biweekly.property.marshaller.DurationPropertyMarshaller -
      -
    -
    -

    -E

    -
    -
    email(Trigger, String, String, String...) - -Static method in class biweekly.component.VAlarm -
    Creates an email alarm. -
    email(Trigger, String, String, List<String>) - -Static method in class biweekly.component.VAlarm -
    Creates an email alarm. -
    email() - -Static method in class biweekly.property.Action -
    Creates an "email" action property. -
    email(String) - -Static method in class biweekly.property.Attendee -
    Creates an attendee property using an email address as its value. -
    email(String) - -Static method in class biweekly.property.Organizer -
    Creates an organizer property using an email address as its value. -
    emptyInstance() - -Method in class biweekly.component.marshaller.ICalComponentMarshaller -
    Creates a new instance of the component class that doesn't have any - properties or sub-components. -
    encode(byte[]) - -Static method in class biweekly.util.Base64 -
    Translates the specified byte array into Base64 string. -
    Encoding - Class in biweekly.parameter
    Defines how a property value is encoded.
    ENCODING - -Static variable in class biweekly.parameter.ICalParameters -
      -
    END - -Static variable in class biweekly.parameter.Related -
      -
    endComponent(String) - -Method in interface biweekly.io.text.ICalRawReader.ICalDataStreamListener -
    Called when a component ends (when a "END:NAME" property is reached). -
    EnumParameterValue - Class in biweekly.parameter
    Represents a value from a parameter that has a list of pre-defined values - (for example, the VALUE or ACTION parameters).
    EnumParameterValue(String) - -Constructor for class biweekly.parameter.EnumParameterValue -
      -
    EnumProperty - Class in biweekly.property
    Parent class for properties that have a defined set of acceptable values (for - example, Action).
    EnumProperty(String) - -Constructor for class biweekly.property.EnumProperty -
    Creates an enum property. -
    eof() - -Method in class biweekly.io.json.JCalRawReader -
    Determines whether the end of the data stream has been reached. -
    eof() - -Method in class biweekly.io.text.ICalRawReader -
    Determines whether the end of the data stream has been reached. -
    equals(Object) - -Method in class biweekly.io.json.JsonValue -
      -
    equals(Object) - -Method in class biweekly.util.DateTimeComponents -
      -
    equals(Object) - -Method in class biweekly.util.Duration -
      -
    equals(Object) - -Method in class biweekly.util.ListMultimap -
      -
    equals(Object) - -Method in class biweekly.util.Period -
      -
    equals(Object) - -Method in class biweekly.util.Recurrence -
      -
    equals(Object) - -Method in class biweekly.util.UtcOffset -
      -
    escape(String) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    - Escapes all special characters within a iCalendar value. -
    ExceptionDates - Class in biweekly.property
    - Defines a list of exceptions to the recurrence rule defined in a component.
    ExceptionDates(boolean) - -Constructor for class biweekly.property.ExceptionDates -
    Creates an exception dates property. -
    ExceptionDatesMarshaller - Class in biweekly.property.marshaller
    Marshals ExceptionDates properties.
    ExceptionDatesMarshaller() - -Constructor for class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    ExceptionRule - Class in biweekly.property
    - Defines an exception to a RecurrenceRule.
    ExceptionRule(Recurrence) - -Constructor for class biweekly.property.ExceptionRule -
    Creates a new exception rule property. -
    ExceptionRuleMarshaller - Class in biweekly.property.marshaller
    Marshals ExceptionRule properties.
    ExceptionRuleMarshaller() - -Constructor for class biweekly.property.marshaller.ExceptionRuleMarshaller -
      -
    extended(boolean) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter -
    Sets whether to use extended format or basic. -
    -
    -

    -F

    -
    -
    FBTYPE - -Static variable in class biweekly.parameter.ICalParameters -
      -
    final_() - -Static method in class biweekly.property.Status -
    Creates a "final" status property (only valid for journal components). -
    find(String) - -Static method in class biweekly.ICalDataType -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(String) - -Static method in class biweekly.parameter.CalendarUserType -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(String) - -Static method in class biweekly.parameter.Encoding -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(String) - -Static method in class biweekly.parameter.FreeBusyType -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(String) - -Static method in class biweekly.parameter.ParticipationStatus -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(String) - -Static method in class biweekly.parameter.Range -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(String) - -Static method in class biweekly.parameter.Related -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(String) - -Static method in class biweekly.parameter.RelationshipType -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(String) - -Static method in class biweekly.parameter.Role -
    Searches for a parameter value that is defined as a static constant in - this class. -
    find(V) - -Method in class biweekly.util.CaseClasses -
    Searches for a case object by value, only looking at the case class' - static constants (does not include runtime-defined objects). -
    first() - -Method in class biweekly.Biweekly.ParserChainJsonString -
      -
    first() - -Method in class biweekly.Biweekly.ParserChainTextString -
      -
    first() - -Method in class biweekly.Biweekly.ParserChainXmlDocument -
      -
    first() - -Method in class biweekly.Biweekly.ParserChainXmlString -
      -
    first(ICalDataType) - -Method in class biweekly.io.xml.XCalElement -
    Gets the first value of the given data type. -
    first(String) - -Method in class biweekly.io.xml.XCalElement -
    Gets the value of the first child element with the given name. -
    first(K) - -Method in class biweekly.util.ListMultimap -
    Gets the first value that's associated with a key. -
    FLOAT - -Static variable in class biweekly.ICalDataType -
      -
    flush() - -Method in class biweekly.io.text.FoldedLineWriter -
      -
    FMTTYPE - -Static variable in class biweekly.parameter.ICalParameters -
      -
    FoldedLineReader - Class in biweekly.io.text
    Automatically unfolds lines of text as they are read.
    FoldedLineReader(Reader) - -Constructor for class biweekly.io.text.FoldedLineReader -
    Creates a new folded line reader. -
    FoldedLineReader(String) - -Constructor for class biweekly.io.text.FoldedLineReader -
    Creates a new folded line reader. -
    FoldedLineWriter - Class in biweekly.io.text
    Automatically folds lines as they are written.
    FoldedLineWriter(Writer, int, String, String) - -Constructor for class biweekly.io.text.FoldedLineWriter -
      -
    FoldingScheme - Class in biweekly.io.text
    Specifies how an iCalendar object should be folded when written to a string.
    FoldingScheme(int, String) - -Constructor for class biweekly.io.text.FoldingScheme -
      -
    format(Date, ISOFormat) - -Static method in class biweekly.util.ICalDateFormatter -
    Formats a date for inclusion in an iCalendar object. -
    format(Date, ISOFormat, TimeZone) - -Static method in class biweekly.util.ICalDateFormatter -
    Formats a date for inclusion in an iCalendar object. -
    FREE - -Static variable in class biweekly.parameter.FreeBusyType -
      -
    FreeBusy - Class in biweekly.property
    - Defines a person's availability over certain time periods (for example, - "busy" between 1pm-3pm and 4pm-5pm).
    FreeBusy() - -Constructor for class biweekly.property.FreeBusy -
      -
    FreeBusyMarshaller - Class in biweekly.property.marshaller
    Marshals FreeBusy properties.
    FreeBusyMarshaller() - -Constructor for class biweekly.property.marshaller.FreeBusyMarshaller -
      -
    FreeBusyType - Class in biweekly.parameter
    Defines whether a calendar user is free or busy over a time period.
    frequency(Recurrence.Frequency) - -Method in class biweekly.util.Recurrence.Builder -
    Sets the frequency -
    fromMillis(long) - -Static method in class biweekly.util.Duration -
    Builds a duration from a number of milliseconds. -
    -
    -

    -G

    -
    -
    Geo - Class in biweekly.property
    - Defines a set of geographical coordinates.
    Geo(Double, Double) - -Constructor for class biweekly.property.Geo -
    Creates a new geo property. -
    GeoMarshaller - Class in biweekly.property.marshaller
    Marshals Geo properties.
    GeoMarshaller() - -Constructor for class biweekly.property.marshaller.GeoMarshaller -
      -
    get(String) - -Static method in class biweekly.ICalDataType -
    Searches for a parameter value and creates one if it cannot be found. -
    get(String) - -Static method in class biweekly.parameter.CalendarUserType -
    Searches for a parameter value and creates one if it cannot be found. -
    get(String) - -Static method in class biweekly.parameter.Encoding -
    Searches for a parameter value and creates one if it cannot be found. -
    get(String) - -Static method in class biweekly.parameter.FreeBusyType -
    Searches for a parameter value and creates one if it cannot be found. -
    get(String) - -Static method in class biweekly.parameter.ParticipationStatus -
    Searches for a parameter value and creates one if it cannot be found. -
    get(String) - -Static method in class biweekly.parameter.Range -
    Searches for a parameter value and creates one if it cannot be found. -
    get(String) - -Static method in class biweekly.parameter.Related -
    Searches for a parameter value and creates one if it cannot be found. -
    get(String) - -Static method in class biweekly.parameter.RelationshipType -
    Searches for a parameter value and creates one if it cannot be found. -
    get(String) - -Static method in class biweekly.parameter.Role -
    Searches for a parameter value and creates one if it cannot be found. -
    get(V) - -Method in class biweekly.util.CaseClasses -
    Searches for a case object by value, creating a new object if one cannot - be found. -
    get(K) - -Method in class biweekly.util.ListMultimap -
    Gets the values associated with the key. -
    getAbbr() - -Method in enum biweekly.util.Recurrence.DayOfWeek -
    Gets the day's abbreviation. -
    getAction() - -Method in class biweekly.component.VAlarm -
    Gets the type of action to invoke when the alarm is triggered. -
    getActualToken() - -Method in exception biweekly.io.json.JCalParseException -
    Gets the JSON token that was read. -
    getAlarms() - -Method in class biweekly.component.VEvent -
    Gets the alarms that are assigned to this event. -
    getAlarms() - -Method in class biweekly.component.VTodo -
    Gets the alarms that are assigned to this to-do. -
    getAltRepresentation() - -Method in class biweekly.parameter.ICalParameters -
    Gets a URI pointing to additional information about the entity - represented by the property. -
    getAltRepresentation() - -Method in class biweekly.property.Comment -
      -
    getAltRepresentation() - -Method in class biweekly.property.Contact -
      -
    getAltRepresentation() - -Method in class biweekly.property.Description -
      -
    getAltRepresentation() - -Method in class biweekly.property.Location -
      -
    getAltRepresentation() - -Method in class biweekly.property.Resources -
      -
    getAltRepresentation() - -Method in class biweekly.property.Summary -
      -
    getArray() - -Method in class biweekly.io.json.JsonValue -
    Gets the JSON array elements. -
    getAttachments() - -Method in class biweekly.component.VAlarm -
    Gets any attachments that are associated with the alarm. -
    getAttachments() - -Method in class biweekly.component.VEvent -
    Gets any attachments that are associated with the event. -
    getAttachments() - -Method in class biweekly.component.VJournal -
    Gets any attachments that are associated with the journal entry. -
    getAttachments() - -Method in class biweekly.component.VTodo -
    Gets any attachments that are associated with the to-do. -
    getAttendees() - -Method in class biweekly.component.VAlarm -
    Gets the people who will be emailed when the alarm fires (only applicable - for EMAIL alarms). -
    getAttendees() - -Method in class biweekly.component.VEvent -
    Gets the people who are attending the event. -
    getAttendees() - -Method in class biweekly.component.VFreeBusy -
    Gets the people who are involved in the free/busy entry. -
    getAttendees() - -Method in class biweekly.component.VJournal -
    Gets the people who are involved in the journal entry. -
    getAttendees() - -Method in class biweekly.component.VTodo -
    Gets the people who are involved in the to-do. -
    getByComponent(Class<? extends ICalComponent>) - -Method in class biweekly.ValidationWarnings -
    Gets all validation warnings of a given component. -
    getByDay() - -Method in class biweekly.util.Recurrence -
    Gets the day components of the BYDAY rule part. -
    getByDayPrefixes() - -Method in class biweekly.util.Recurrence -
    Gets the numeric components of the BYDAY rule part. -
    getByHour() - -Method in class biweekly.util.Recurrence -
    Gets the BYHOUR rule part. -
    getByMinute() - -Method in class biweekly.util.Recurrence -
    Gets the BYMINUTE rule part. -
    getByMonth() - -Method in class biweekly.util.Recurrence -
    Gets the BYMONTH rule part. -
    getByMonthDay() - -Method in class biweekly.util.Recurrence -
    Gets the BYMONTHDAY rule part. -
    getByProperty(Class<? extends ICalProperty>) - -Method in class biweekly.ValidationWarnings -
    Gets all validation warnings of a given property. -
    getBySecond() - -Method in class biweekly.util.Recurrence -
    Gets the BYSECOND rule part. -
    getBySetPos() - -Method in class biweekly.util.Recurrence -
    Gets the BYSETPOS rule part. -
    getByWeekNo() - -Method in class biweekly.util.Recurrence -
    Gets the BYWEEKNO rule part. -
    getByYearDay() - -Method in class biweekly.util.Recurrence -
    Gets the BYYEARDAY rule part. -
    getCalendarScale() - -Method in class biweekly.ICalendar -
    Gets the calendar system that this iCalendar object uses. -
    getCalendarUserType() - -Method in class biweekly.parameter.ICalParameters -
    Gets the type of user an attendee is (for example, an "individual" or a - "room"). -
    getCalendarUserType() - -Method in class biweekly.property.Attendee -
    Gets the type of user the attendee is (for example, an "individual" or a - "room"). -
    getCategories() - -Method in class biweekly.component.VEvent -
    Gets a list of "tags" or "keywords" that describe the event. -
    getCategories() - -Method in class biweekly.component.VJournal -
    Gets a list of "tags" or "keywords" that describe the journal entry. -
    getCategories() - -Method in class biweekly.component.VTodo -
    Gets a list of "tags" or "keywords" that describe the to-do. -
    getClassification() - -Method in class biweekly.component.VEvent -
    Gets the level of sensitivity of the event data. -
    getClassification() - -Method in class biweekly.component.VJournal -
    Gets the level of sensitivity of the journal entry. -
    getClassification() - -Method in class biweekly.component.VTodo -
    Gets the level of sensitivity of the to-do data. -
    getComments() - -Method in class biweekly.component.Observance -
    Gets the comments attached to the timezone observance. -
    getComments() - -Method in class biweekly.component.VEvent -
    Gets the comments attached to the event. -
    getComments() - -Method in class biweekly.component.VFreeBusy -
    Gets the comments attached to the free/busy entry. -
    getComments() - -Method in class biweekly.component.VJournal -
    Gets the comments attached to the journal entry. -
    getComments() - -Method in class biweekly.component.VTodo -
    Gets the comments attached to the to-do. -
    getCommonName() - -Method in class biweekly.parameter.ICalParameters -
    Gets the display name of a person. -
    getCommonName() - -Method in class biweekly.property.Attendee -
      -
    getCommonName() - -Method in class biweekly.property.Organizer -
      -
    getCompleted() - -Method in class biweekly.component.VTodo -
    Gets the date and time that the to-do was completed. -
    getComponent(Class<T>) - -Method in class biweekly.component.ICalComponent -
    Gets the first component of a given class. -
    getComponent() - -Method in class biweekly.ValidationWarnings.WarningsGroup -
    Gets the component object that caused the validation warnings. -
    getComponentClass() - -Method in class biweekly.component.marshaller.ICalComponentMarshaller -
    Gets the component class. -
    getComponentHierarchy() - -Method in class biweekly.ValidationWarnings.WarningsGroup -
    Gets the hierarchy of components that the property or component - belongs to. -
    getComponentMarshaller(String) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Gets a component marshaller by name. -
    getComponentMarshaller(Class<? extends ICalComponent>) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Gets a component marshaller by class. -
    getComponentMarshaller(ICalComponent) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Gets the appropriate component marshaller for a given component instance. -
    getComponentName() - -Method in class biweekly.component.marshaller.ICalComponentMarshaller -
    Gets the component's name. -
    getComponents(Class<T>) - -Method in class biweekly.component.ICalComponent -
    Gets all components of a given class. -
    getComponents() - -Method in class biweekly.component.ICalComponent -
    Gets all the sub-components associated with this component. -
    getComponents(T) - -Method in class biweekly.component.marshaller.ICalComponentMarshaller -
    Gets the sub-components to marshal. -
    getContact() - -Method in class biweekly.component.VFreeBusy -
    Gets the contact associated with the free/busy entry. -
    getContacts() - -Method in class biweekly.component.VEvent -
    Gets the contacts associated with the event. -
    getContacts() - -Method in class biweekly.component.VJournal -
    Gets the contacts associated with the journal entry. -
    getContacts() - -Method in class biweekly.component.VTodo -
    Gets the contacts associated with the to-do. -
    getCount() - -Method in class biweekly.util.Recurrence -
    Gets the number of times the rule will be repeated. -
    getCreated() - -Method in class biweekly.component.VEvent -
    Gets the date-time that the event was initially created. -
    getCreated() - -Method in class biweekly.component.VJournal -
    Gets the date-time that the journal entry was initially created. -
    getCreated() - -Method in class biweekly.component.VTodo -
    Gets the date-time that the to-do was initially created. -
    getData() - -Method in class biweekly.property.Attachment -
    Gets the attachment's binary data. -
    getDataType() - -Method in class biweekly.property.RawProperty -
      -
    getDate() - -Method in class biweekly.property.Trigger -
    Gets the date-time that the alarm will trigger. -
    getDate() - -Method in class biweekly.util.DateTimeComponents -
    Gets the date component -
    getDateDue() - -Method in class biweekly.component.VTodo -
    Gets the date that a to-do is due by. -
    getDateEnd() - -Method in class biweekly.component.VEvent -
    Gets the date that the event ends. -
    getDateEnd() - -Method in class biweekly.component.VFreeBusy -
    Gets the date that the free/busy entry ends. -
    getDates() - -Method in class biweekly.property.RecurrenceDates -
    Gets the recurrence dates. -
    getDateStart() - -Method in class biweekly.component.Observance -
    Gets the date that the timezone observance starts. -
    getDateStart() - -Method in class biweekly.component.VEvent -
    Gets the date that the event starts. -
    getDateStart() - -Method in class biweekly.component.VFreeBusy -
    Gets the date that the free/busy entry starts. -
    getDateStart() - -Method in class biweekly.component.VJournal -
    Gets the date that the journal entry starts. -
    getDateStart() - -Method in class biweekly.component.VTodo -
    Gets the date that the to-do starts. -
    getDateTimeStamp() - -Method in class biweekly.component.VEvent -
    Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information). -
    getDateTimeStamp() - -Method in class biweekly.component.VFreeBusy -
    Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information). -
    getDateTimeStamp() - -Method in class biweekly.component.VJournal -
    Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information). -
    getDateTimeStamp() - -Method in class biweekly.component.VTodo -
    Gets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information). -
    getDaylightSavingsTime() - -Method in class biweekly.component.VTimezone -
    Gets the timezone's "daylight savings" observance time ranges. -
    getDays() - -Method in class biweekly.util.Duration -
    Gets the number of days. -
    getDefaultDataType() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Gets the property's default data type. -
    getDelegatedFrom() - -Method in class biweekly.parameter.ICalParameters -
    Gets the people who have delegated their responsibility to an attendee. -
    getDelegatedFrom() - -Method in class biweekly.property.Attendee -
    Gets the people who have delegated their responsibility to the attendee. -
    getDelegatedTo() - -Method in class biweekly.parameter.ICalParameters -
    Gets the people to which an attendee has delegated his or her - responsibility. -
    getDelegatedTo() - -Method in class biweekly.property.Attendee -
    Gets the people to which the attendee has delegated his or her - responsibility. -
    getDescription() - -Method in class biweekly.component.VAlarm -
    - Gets a detailed description of the alarm. -
    getDescription() - -Method in class biweekly.component.VEvent -
    Gets a detailed description of the event. -
    getDescription() - -Method in class biweekly.component.VTodo -
    Gets a detailed description of the to-do. -
    getDescription() - -Method in class biweekly.property.RequestStatus -
    Gets the human-readable description of the status. -
    getDescriptions() - -Method in class biweekly.component.VJournal -
    Gets the detailed descriptions to the journal entry. -
    getDirectoryEntry() - -Method in class biweekly.parameter.ICalParameters -
    Gets a URI that contains additional information about the person. -
    getDirectoryEntry() - -Method in class biweekly.property.Attendee -
      -
    getDirectoryEntry() - -Method in class biweekly.property.Organizer -
      -
    getDocument() - -Method in class biweekly.io.xml.XCalDocument -
    Gets the raw XML DOM object. -
    getDuration() - -Method in class biweekly.component.VAlarm -
    Gets the length of the pause between alarm repetitions. -
    getDuration() - -Method in class biweekly.component.VEvent -
    Gets the duration of the event. -
    getDuration() - -Method in class biweekly.component.VTodo -
    Gets the duration of the to-do. -
    getDuration() - -Method in class biweekly.property.Trigger -
    Gets the relative time at which the alarm will trigger. -
    getDuration() - -Method in class biweekly.util.Period -
    Gets the length of time after the start date. -
    getElement() - -Method in class biweekly.io.xml.XCalElement -
    Gets the wrapped XML element. -
    getEncoding() - -Method in class biweekly.parameter.ICalParameters -
    Gets the encoding of the property value (for example, "base64"). -
    getEndDate() - -Method in class biweekly.util.Period -
    Gets the end date. -
    getEvents() - -Method in class biweekly.ICalendar -
    Gets the events. -
    getExceptionDates() - -Method in class biweekly.component.Observance -
    Gets the list of exceptions to the timezone observance. -
    getExceptionDates() - -Method in class biweekly.component.VEvent -
    Gets the list of exceptions to the recurrence rule defined in the event - (if one is defined). -
    getExceptionDates() - -Method in class biweekly.component.VJournal -
    Gets the list of exceptions to the recurrence rule defined in the journal - entry (if one is defined). -
    getExceptionDates() - -Method in class biweekly.component.VTodo -
    Gets the list of exceptions to the recurrence rule defined in the to-do - (if one is defined). -
    getExceptionRules() - -Method in class biweekly.component.VEvent -
    - Gets the exceptions for the RecurrenceRule property. -
    getExceptionRules() - -Method in class biweekly.component.VJournal -
    - Gets the exceptions for the RecurrenceRule property. -
    getExceptionRules() - -Method in class biweekly.component.VTodo -
    - Gets the exceptions for the RecurrenceRule property. -
    getExceptionText() - -Method in class biweekly.property.RequestStatus -
    Gets any additional data related to the response. -
    getExpectedToken() - -Method in exception biweekly.io.json.JCalParseException -
    Gets the JSON token that the parser was expected. -
    getExperimentalComponent(String) - -Method in class biweekly.component.ICalComponent -
    Gets the first experimental sub-component with a given name. -
    getExperimentalComponents(String) - -Method in class biweekly.component.ICalComponent -
    Gets all experimental sub-component with a given name. -
    getExperimentalComponents() - -Method in class biweekly.component.ICalComponent -
    Gets all experimental sub-components associated with this component. -
    getExperimentalProperties(String) - -Method in class biweekly.component.ICalComponent -
    Gets all experimental properties with a given name. -
    getExperimentalProperties() - -Method in class biweekly.component.ICalComponent -
    Gets all experimental properties associated with this component. -
    getExperimentalProperty(String) - -Method in class biweekly.component.ICalComponent -
    Gets the first experimental property with a given name. -
    getFileContents(File) - -Static method in class biweekly.util.IOUtils -
    Reads the contents of a text file. -
    getFileContents(File, String) - -Static method in class biweekly.util.IOUtils -
    Reads the contents of a text file. -
    getFirstChildElement(Element) - -Static method in class biweekly.util.XmlUtils -
    Gets the first child element of an element. -
    getFoldingScheme() - -Method in class biweekly.io.text.ICalRawWriter -
    Gets the rules for how each line is folded. -
    getFoldingScheme() - -Method in class biweekly.io.text.ICalWriter -
    Gets the rules for how each line is folded. -
    getFormatDateFormat() - -Method in enum biweekly.util.ISOFormat -
    Builds a DateFormat object for formatting dates in this ISO - format. -
    getFormatType() - -Method in class biweekly.parameter.ICalParameters -
    Gets the content-type of the property's value. -
    getFormatType() - -Method in class biweekly.property.Attachment -
      -
    getFreeBusies() - -Method in class biweekly.ICalendar -
    Gets the free/busy entries. -
    getFreeBusy() - -Method in class biweekly.component.VFreeBusy -
    Gets the person's availabilities over certain time periods (for example, - "free" between 1pm-3pm, but "busy" between 3pm-4pm). -
    getFreeBusyType() - -Method in class biweekly.parameter.ICalParameters -
    Gets the person's status over the time periods that are specified in a - FreeBusy property (for example, "free" or "busy"). -
    getFrequency() - -Method in class biweekly.util.Recurrence -
    Gets the frequency. -
    getGeo() - -Method in class biweekly.component.VEvent -
    Gets a set of geographical coordinates. -
    getGeo() - -Method in class biweekly.component.VTodo -
    Gets a set of geographical coordinates. -
    getHour() - -Method in class biweekly.util.DateTimeComponents -
    Gets the hour component -
    getHour() - -Method in class biweekly.util.UtcOffset -
    Gets the hour component. -
    getHourOffset() - -Method in class biweekly.property.UtcOffsetProperty -
      -
    getHours() - -Method in class biweekly.util.Duration -
    Gets the number of hours. -
    getICalendarMarshaller() - -Static method in class biweekly.io.ICalMarshallerRegistrar -
    Convenience method for getting the marshaller of the root iCalendar - component ("VCALENDAR"). -
    getIndent() - -Method in class biweekly.io.text.FoldedLineWriter -
    Gets the string that is prepended to each folded line. -
    getIndent() - -Method in class biweekly.io.text.FoldingScheme -
    Gets the string that is used to indent the folded line. -
    getInterval() - -Method in class biweekly.util.Recurrence -
    Gets how often the rule repeats, in relation to the frequency. -
    getJournals() - -Method in class biweekly.ICalendar -
    Gets the journal entries. -
    getLanguage() - -Method in class biweekly.parameter.ICalParameters -
    Gets the language that the property value is written in. -
    getLanguage() - -Method in class biweekly.property.Attendee -
    Gets the language that the common name parameter is written in. -
    getLanguage() - -Method in class biweekly.property.Categories -
      -
    getLanguage() - -Method in class biweekly.property.Comment -
      -
    getLanguage() - -Method in class biweekly.property.Contact -
      -
    getLanguage() - -Method in class biweekly.property.Description -
      -
    getLanguage() - -Method in class biweekly.property.Location -
      -
    getLanguage() - -Method in class biweekly.property.Organizer -
    Gets the language that the common name parameter is written in. -
    getLanguage() - -Method in class biweekly.property.RequestStatus -
      -
    getLanguage() - -Method in class biweekly.property.Resources -
      -
    getLanguage() - -Method in class biweekly.property.Summary -
      -
    getLanguage() - -Method in class biweekly.property.TimezoneName -
      -
    getLastModified() - -Method in class biweekly.component.VEvent -
    Gets the date-time that the event was last changed. -
    getLastModified() - -Method in class biweekly.component.VJournal -
    Gets the date-time that the journal entry was last changed. -
    getLastModified() - -Method in class biweekly.component.VTimezone -
    Gets the date-time that the timezone data was last changed. -
    getLastModified() - -Method in class biweekly.component.VTodo -
    Gets the date-time that the to-do was last changed. -
    getLatitude() - -Method in class biweekly.property.Geo -
    Gets the latitude. -
    getLineLength() - -Method in class biweekly.io.text.FoldedLineWriter -
    Gets the maximum length a line can be before it is folded (excluding the - newline). -
    getLineLength() - -Method in class biweekly.io.text.FoldingScheme -
    Gets the maximum number of characters that can exist on a line before - needing to be folded (not including the newline). -
    getLineNum() - -Method in class biweekly.io.json.JCalRawReader -
    Gets the current line number. -
    getLineNum() - -Method in class biweekly.io.text.FoldedLineReader -
    Gets the starting line number of the last unfolded line that was read. -
    getLineNum() - -Method in class biweekly.io.text.ICalRawReader -
    Gets the line number of the last line that was read. -
    getLocation() - -Method in class biweekly.component.VEvent -
    Gets the physical location of the event. -
    getLocation() - -Method in class biweekly.component.VTodo -
    Gets the physical location of the to-do. -
    getLongitude() - -Method in class biweekly.property.Geo -
    Gets the longitude. -
    getMap() - -Method in class biweekly.util.ListMultimap -
    Gets the underlying Map object. -
    getMaxVersion() - -Method in class biweekly.property.Version -
    Gets the maximum version that a consumer must support in order to - successfully parse the iCalendar object. -
    getMembers() - -Method in class biweekly.parameter.ICalParameters -
    Gets the groups that an attendee is a member of. -
    getMembers() - -Method in class biweekly.property.Attendee -
    Gets the groups that the attendee is a member of. -
    getMessages() - -Method in class biweekly.ValidationWarnings.WarningsGroup -
    Gets the warning messages. -
    getMethod() - -Method in class biweekly.ICalendar -
    Gets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity. -
    getMinute() - -Method in class biweekly.util.DateTimeComponents -
    Gets the minute component. -
    getMinute() - -Method in class biweekly.util.UtcOffset -
    Gets the minute component. -
    getMinuteOffset() - -Method in class biweekly.property.UtcOffsetProperty -
      -
    getMinutes() - -Method in class biweekly.util.Duration -
    Gets the number of minutes. -
    getMinVersion() - -Method in class biweekly.property.Version -
    Gets the minimum version that a consumer must support in order to - successfully parse the iCalendar object. -
    getMonth() - -Method in class biweekly.util.DateTimeComponents -
    Gets the month component. -
    getName() - -Method in class biweekly.component.RawComponent -
      -
    getName() - -Method in class biweekly.ICalDataType -
    Gets the name of the data type. -
    getName() - -Method in class biweekly.property.RawProperty -
      -
    getNamespaceURI(String) - -Method in class biweekly.io.xml.XCalNamespaceContext -
      -
    getNewline() - -Method in class biweekly.io.text.FoldedLineWriter -
    Gets the newline sequence that is used to separate lines. -
    getNewline() - -Method in class biweekly.io.text.ICalRawWriter -
    Gets the newline sequence that is used to separate lines. -
    getNewline() - -Method in class biweekly.io.text.ICalWriter -
    Gets the newline sequence that is used to separate lines. -
    getObject() - -Method in class biweekly.io.json.JsonValue -
    Gets the JSON object. -
    getOffset() - -Method in class biweekly.property.UtcOffsetProperty -
      -
    getOrganizer() - -Method in class biweekly.component.VEvent -
    Gets the organizer of the event. -
    getOrganizer() - -Method in class biweekly.component.VFreeBusy -
    Gets the person requesting the free/busy time. -
    getOrganizer() - -Method in class biweekly.component.VJournal -
    Gets the organizer of the journal entry. -
    getOrganizer() - -Method in class biweekly.component.VTodo -
    Gets the organizer of the to-do. -
    getParameter(String) - -Method in class biweekly.property.ICalProperty -
    Gets the first value of a parameter with the given name. -
    getParameters() - -Method in class biweekly.property.ICalProperty -
    Gets the property's parameters. -
    getParameters(String) - -Method in class biweekly.property.ICalProperty -
    Gets all values of a parameter with the given name. -
    getParameterValueChangedListener() - -Method in class biweekly.io.text.ICalRawWriter -
    Gets the listener which will be invoked when a parameter's value is - changed due to containing invalid characters. -
    getParseDateFormat() - -Method in enum biweekly.util.ISOFormat -
    Builds a DateFormat object for parsing dates in this ISO format. -
    getParseWarnings() - -Method in class biweekly.io.xml.XCalDocument -
    Gets the warnings from the last parse operation. -
    getParticipationStatus() - -Method in class biweekly.parameter.ICalParameters -
    Gets an attendee's level of participation. -
    getParticipationStatus() - -Method in class biweekly.property.Attendee -
    Gets the attendee's level of participation. -
    getPercentComplete() - -Method in class biweekly.component.VTodo -
    Gets the amount that the to-do task has been completed. -
    getPeriods() - -Method in class biweekly.property.RecurrenceDates -
    Gets the time periods. -
    getPrefix() - -Method in class biweekly.io.xml.XCalNamespaceContext -
    Gets the prefix to use in xpath expressions. -
    getPrefix(String) - -Method in class biweekly.io.xml.XCalNamespaceContext -
      -
    getPrefixes(String) - -Method in class biweekly.io.xml.XCalNamespaceContext -
      -
    getPriority() - -Method in class biweekly.component.VEvent -
    Gets the priority of the event. -
    getPriority() - -Method in class biweekly.component.VTodo -
    Gets the priority of the to-do. -
    getProductId() - -Method in class biweekly.ICalendar -
    Gets the name of the application that created the iCalendar object. -
    getProperties(Class<T>) - -Method in class biweekly.component.ICalComponent -
    Gets all properties of a given class. -
    getProperties() - -Method in class biweekly.component.ICalComponent -
    Gets all the properties associated with this component. -
    getProperties(T) - -Method in class biweekly.component.marshaller.ICalComponentMarshaller -
    Gets the properties to marshal. -
    getProperties(VFreeBusy) - -Method in class biweekly.component.marshaller.VFreeBusyMarshaller -
      -
    getProperty(Class<T>) - -Method in class biweekly.component.ICalComponent -
    Gets the first property of a given class. -
    getProperty() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.Result -
    Gets the property object. -
    getProperty() - -Method in class biweekly.ValidationWarnings.WarningsGroup -
    Gets the property object that caused the validation warnings. -
    getPropertyClass() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Gets the property class. -
    getPropertyMarshaller(String) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Gets a property marshaller by name. -
    getPropertyMarshaller(Class<? extends ICalProperty>) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Gets a property marshaller by class. -
    getPropertyMarshaller(ICalProperty) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Gets the appropriate property marshaller for a given property instance. -
    getPropertyMarshaller(QName) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Gets a property marshaller by XML local name and namespace. -
    getPropertyName() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Gets the property name. -
    getQName() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Gets this property's local name and namespace for xCal documents. -
    getRange() - -Method in class biweekly.parameter.ICalParameters -
    Gets the effective range of recurrence instances from the instance - specified by a RecurrenceId property. -
    getRange() - -Method in class biweekly.property.RecurrenceId -
    Gets the effective range of recurrence instances from the instance - specified by this property. -
    getRawComponents() - -Method in class biweekly.property.DateOrDateTimeProperty -
    Gets the raw components of the date-time value. -
    getRecurrenceDates() - -Method in class biweekly.component.Observance -
    Gets the list of dates/periods that help define the recurrence rule of - this timezone observance (if one is defined). -
    getRecurrenceDates() - -Method in class biweekly.component.VEvent -
    Gets the list of dates/periods that help define the recurrence rule of - this event (if one is defined). -
    getRecurrenceDates() - -Method in class biweekly.component.VJournal -
    Gets the list of dates/periods that help define the recurrence rule of - this journal entry (if one is defined). -
    getRecurrenceDates() - -Method in class biweekly.component.VTodo -
    Gets the list of dates/periods that help define the recurrence rule of - this to-do (if one is defined). -
    getRecurrenceId() - -Method in class biweekly.component.VEvent -
    Gets the original value of the DateStart property if the event is - recurring and has been modified. -
    getRecurrenceId() - -Method in class biweekly.component.VJournal -
    Gets the original value of the DateStart property if the event is - recurring and has been modified. -
    getRecurrenceId() - -Method in class biweekly.component.VTodo -
    Gets the original value of the DateStart property if the to-do is - recurring and has been modified. -
    getRecurrenceRule() - -Method in class biweekly.component.Observance -
    Gets how often the timezone observance repeats. -
    getRecurrenceRule() - -Method in class biweekly.component.VEvent -
    Gets how often the event repeats. -
    getRecurrenceRule() - -Method in class biweekly.component.VJournal -
    Gets how often the journal entry repeats. -
    getRecurrenceRule() - -Method in class biweekly.component.VTodo -
    Gets how often the to-do repeats. -
    getRegistrar() - -Method in class biweekly.io.json.JCalReader -
    Gets the object that manages the component/property marshaller objects. -
    getRegistrar() - -Method in class biweekly.io.json.JCalWriter -
    Gets the object that manages the component/property marshaller objects. -
    getRegistrar() - -Method in class biweekly.io.text.ICalReader -
    Gets the object that manages the component/property marshaller objects. -
    getRegistrar() - -Method in class biweekly.io.text.ICalWriter -
    Gets the object that manages the component/property marshaller objects. -
    getRegistrar() - -Method in class biweekly.io.xml.XCalDocument -
    Gets the object that manages the component/property marshaller objects. -
    getRelated() - -Method in class biweekly.parameter.ICalParameters -
    Gets the date-time field that the duration in a Trigger property - is relative to. -
    getRelated() - -Method in class biweekly.property.Trigger -
    Gets the date-time field that the duration is relative to. -
    getRelatedTo() - -Method in class biweekly.component.VEvent -
    Gets the components that the event is related to. -
    getRelatedTo() - -Method in class biweekly.component.VJournal -
    Gets the components that the journal entry is related to. -
    getRelatedTo() - -Method in class biweekly.component.VTodo -
    Gets the components that the to-do is related to. -
    getRelationshipType() - -Method in class biweekly.parameter.ICalParameters -
    Gets the relationship type of a RelatedTo property. -
    getRelationshipType() - -Method in class biweekly.property.RelatedTo -
    Gets the relationship type. -
    getRepeat() - -Method in class biweekly.component.VAlarm -
    Gets the number of times an alarm should be repeated after its initial - trigger. -
    getRequestStatus() - -Method in class biweekly.component.VEvent -
    Gets the response to a scheduling request. -
    getRequestStatus() - -Method in class biweekly.component.VFreeBusy -
    Gets the response to a scheduling request. -
    getRequestStatus() - -Method in class biweekly.component.VJournal -
    Gets the response to a scheduling request. -
    getRequestStatus() - -Method in class biweekly.component.VTodo -
    Gets the response to a scheduling request. -
    getResources() - -Method in class biweekly.component.VEvent -
    Gets the resources that are needed for the event. -
    getResources() - -Method in class biweekly.component.VTodo -
    Gets the resources that are needed for the to-do. -
    getRole() - -Method in class biweekly.parameter.ICalParameters -
    Gets an attendee's role (for example, "chair" or "required participant"). -
    getRole() - -Method in class biweekly.property.Attendee -
    Gets the attendee's role (for example, "chair" or - "required participant"). -
    getRootElement(Document) - -Static method in class biweekly.util.XmlUtils -
    Gets the root element of a document. -
    getRsvp() - -Method in class biweekly.parameter.ICalParameters -
    Gets whether the organizer requests a response from an attendee. -
    getRsvp() - -Method in class biweekly.property.Attendee -
    Gets whether the organizer requests a response from the attendee. -
    getSecond() - -Method in class biweekly.util.DateTimeComponents -
    Gets the second component. -
    getSeconds() - -Method in class biweekly.util.Duration -
    Gets the number of seconds. -
    getSentBy() - -Method in class biweekly.parameter.ICalParameters -
    Gets a person that is acting on behalf of the person defined in the - property. -
    getSentBy() - -Method in class biweekly.property.Attendee -
      -
    getSentBy() - -Method in class biweekly.property.Organizer -
      -
    getSequence() - -Method in class biweekly.component.VEvent -
    Gets the revision number of the event. -
    getSequence() - -Method in class biweekly.component.VJournal -
    Gets the revision number of the journal entry. -
    getSequence() - -Method in class biweekly.component.VTodo -
    Gets the revision number of the to-do. -
    getStandardTimes() - -Method in class biweekly.component.VTimezone -
    Gets the timezone's "standard" observance time ranges. -
    getStandardValues() - -Method in class biweekly.property.Action -
      -
    getStandardValues() - -Method in class biweekly.property.CalendarScale -
      -
    getStandardValues() - -Method in class biweekly.property.Classification -
      -
    getStandardValues() - -Method in class biweekly.property.EnumProperty -
    Gets the list of acceptable values for this property. -
    getStandardValues() - -Method in class biweekly.property.Status -
      -
    getStandardValues() - -Method in class biweekly.property.Transparency -
      -
    getStartDate() - -Method in class biweekly.util.Period -
    Gets the start date. -
    getStatus() - -Method in class biweekly.component.VEvent -
    Gets the status of the event. -
    getStatus() - -Method in class biweekly.component.VJournal -
    Gets the status of the journal entry. -
    getStatus() - -Method in class biweekly.component.VTodo -
    Gets the status of the to-do. -
    getStatusCode() - -Method in class biweekly.property.RequestStatus -
    Gets the status code. -
    getSummary() - -Method in class biweekly.component.VAlarm -
    - Gets the summary of the alarm. -
    getSummary() - -Method in class biweekly.component.VEvent -
    Gets the summary of the event. -
    getSummary() - -Method in class biweekly.component.VJournal -
    Gets the summary of the journal entry. -
    getSummary() - -Method in class biweekly.component.VTodo -
    Gets the summary of the to-do. -
    getTimezoneId() - -Method in class biweekly.component.VTimezone -
    Gets the ID for this timezone. -
    getTimezoneId() - -Method in class biweekly.parameter.ICalParameters -
    Gets the timezone identifier. -
    getTimezoneId() - -Method in class biweekly.property.DateOrDateTimeProperty -
      -
    getTimezoneId() - -Method in class biweekly.property.ExceptionDates -
      -
    getTimezoneId() - -Method in class biweekly.property.RecurrenceDates -
      -
    getTimezoneNames() - -Method in class biweekly.component.Observance -
    Gets the traditional, non-standard names for the timezone observance. -
    getTimezoneOffsetFrom() - -Method in class biweekly.component.Observance -
    Gets the UTC offset that the timezone observance transitions from. -
    getTimezoneOffsetTo() - -Method in class biweekly.component.Observance -
    Gets the UTC offset that the timezone observance transitions to. -
    getTimezones() - -Method in class biweekly.ICalendar -
    Gets the timezones. -
    getTimezoneUrl() - -Method in class biweekly.component.VTimezone -
    Gets the timezone URL, which points to an iCalendar object that contains - further information on the timezone. -
    getTodos() - -Method in class biweekly.ICalendar -
    Gets the to-dos. -
    getTransparency() - -Method in class biweekly.component.VEvent -
    Gets whether an event is visible to free/busy time searches. -
    getTrigger() - -Method in class biweekly.component.VAlarm -
    Gets when the alarm will be triggered. -
    getType() - -Method in class biweekly.property.FreeBusy -
    Gets the person's status over the time periods that are specified in this - property (for example, "free" or "busy"). -
    getUid() - -Method in class biweekly.component.VEvent -
    Gets the unique identifier for this event. -
    getUid() - -Method in class biweekly.component.VFreeBusy -
    Gets the unique identifier for this free/busy entry. -
    getUid() - -Method in class biweekly.component.VJournal -
    Gets the unique identifier for this journal entry. -
    getUid() - -Method in class biweekly.component.VTodo -
    Gets the unique identifier for this to-do. -
    getUntil() - -Method in class biweekly.util.Recurrence -
    Gets the date that the recurrence stops. -
    getUri() - -Method in class biweekly.property.Attachment -
    Gets the attachment's URI. -
    getUrl() - -Method in class biweekly.component.VEvent -
    Gets a URL to a resource that contains additional information about the - event. -
    getUrl() - -Method in class biweekly.component.VFreeBusy -
    Gets a URL to a resource that contains additional information about the - free/busy entry. -
    getUrl() - -Method in class biweekly.component.VJournal -
    Gets a URL to a resource that contains additional information about the - journal entry. -
    getUrl() - -Method in class biweekly.component.VTodo -
    Gets a URL to a resource that contains additional information about the - to-do. -
    getValue() - -Method in class biweekly.io.json.JsonValue -
    Gets the JSON value. -
    getValue() - -Method in class biweekly.parameter.EnumParameterValue -
    Gets the value of the parameter. -
    getValue() - -Method in class biweekly.parameter.ICalParameters -
    Gets the data type of the property's value (for example, "text" or - "datetime"). -
    getValue() - -Method in class biweekly.property.DateOrDateTimeProperty -
    Gets the date-time value. -
    getValue() - -Method in class biweekly.property.RawProperty -
      -
    getValue() - -Method in class biweekly.property.ValuedProperty -
    Gets the value of this property. -
    getValues() - -Method in class biweekly.io.json.JCalValue -
    Gets the raw JSON values. -
    getValues() - -Method in class biweekly.property.FreeBusy -
    Gets all time periods. -
    getValues() - -Method in class biweekly.property.ListProperty -
    Gets the values of this property. -
    getVersion() - -Method in class biweekly.ICalendar -
    Gets the min/max versions a consumer must support in order to - successfully parse the iCalendar object. -
    getWarnings() - -Method in class biweekly.io.json.JCalReader -
    Gets the warnings from the last iCalendar object that was unmarshalled. -
    getWarnings() - -Method in class biweekly.io.text.ICalReader -
    Gets the warnings from the last iCalendar object that was unmarshalled. -
    getWarnings() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.Result -
    Gets the warnings. -
    getWarnings() - -Method in class biweekly.ValidationWarnings -
    Gets all the validation warnings. -
    getWeeks() - -Method in class biweekly.util.Duration -
    Gets the number of weeks. -
    getWorkweekStarts() - -Method in class biweekly.util.Recurrence -
    Gets the day that the work week starts. -
    getXRules() - -Method in class biweekly.util.Recurrence -
    Gets the non-standard rule parts. -
    getYear() - -Method in class biweekly.util.DateTimeComponents -
    Gets the year component. -
    go() - -Method in class biweekly.Biweekly.WriterChainJson -
    Writes the iCalendar objects to a string. -
    go(OutputStream) - -Method in class biweekly.Biweekly.WriterChainJson -
    Writes the iCalendar objects to a data stream. -
    go(File) - -Method in class biweekly.Biweekly.WriterChainJson -
    Writes the iCalendar objects to a file. -
    go(Writer) - -Method in class biweekly.Biweekly.WriterChainJson -
    Writes the iCalendar objects to a data stream. -
    go() - -Method in class biweekly.Biweekly.WriterChainText -
    Writes the iCalendar objects to a string. -
    go(OutputStream) - -Method in class biweekly.Biweekly.WriterChainText -
    Writes the iCalendar objects to a data stream. -
    go(File) - -Method in class biweekly.Biweekly.WriterChainText -
    Writes the iCalendar objects to a file. -
    go(File, boolean) - -Method in class biweekly.Biweekly.WriterChainText -
    Writes the iCalendar objects to a file. -
    go(Writer) - -Method in class biweekly.Biweekly.WriterChainText -
    Writes the iCalendar objects to a data stream. -
    go() - -Method in class biweekly.Biweekly.WriterChainXml -
    Writes the xCal document to a string. -
    go(OutputStream) - -Method in class biweekly.Biweekly.WriterChainXml -
    Writes the xCal document to an output stream. -
    go(File) - -Method in class biweekly.Biweekly.WriterChainXml -
    Writes the xCal document to a file. -
    go(Writer) - -Method in class biweekly.Biweekly.WriterChainXml -
    Writes the xCal document to a writer. -
    gregorian() - -Static method in class biweekly.property.CalendarScale -
    Creates a new property whose value is set to "gregorian". -
    GROUP - -Static variable in class biweekly.parameter.CalendarUserType -
      -
    -
    -

    -H

    -
    -
    handle(StringBuilder, T) - -Method in interface biweekly.util.StringUtils.JoinCallback -
      -
    handle(StringBuilder, K, V) - -Method in interface biweekly.util.StringUtils.JoinMapCallback -
      -
    hashCode() - -Method in class biweekly.io.json.JsonValue -
      -
    hashCode() - -Method in class biweekly.util.DateTimeComponents -
      -
    hashCode() - -Method in class biweekly.util.Duration -
      -
    hashCode() - -Method in class biweekly.util.ListMultimap -
      -
    hashCode() - -Method in class biweekly.util.Period -
      -
    hashCode() - -Method in class biweekly.util.Recurrence -
      -
    hashCode() - -Method in class biweekly.util.UtcOffset -
      -
    hasNext() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.SemiStructuredIterator -
    Determines if there are any elements left in the value. -
    hasNext() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.StructuredIterator -
    Determines if there are any elements left in the value. -
    hasTime - -Variable in class biweekly.property.DateOrDateTimeProperty -
      -
    hasTime() - -Method in class biweekly.property.DateOrDateTimeProperty -
    Determines whether the date-time value has a time component. -
    hasTime() - -Method in class biweekly.property.ExceptionDates -
    Gets whether the dates have time components. -
    hasTime() - -Method in class biweekly.property.RecurrenceDates -
    Gets whether the recurrence dates have time components. -
    hasTime() - -Method in class biweekly.util.Duration -
    Determines if any time components are present. -
    hasTimeUntilDate() - -Method in class biweekly.util.Recurrence -
    Determines whether the UNTIL date has a time component. -
    hours(Integer) - -Method in class biweekly.util.Duration.Builder -
    Sets the number of hours -
    -
    -

    -I

    -
    -
    ICalComponent - Class in biweekly.component
    The base class for iCalendar components.
    ICalComponent() - -Constructor for class biweekly.component.ICalComponent -
      -
    ICalComponentMarshaller<T extends ICalComponent> - Class in biweekly.component.marshaller
    Base class for iCalendar component marshallers.
    ICalComponentMarshaller(Class<T>, String) - -Constructor for class biweekly.component.marshaller.ICalComponentMarshaller -
    Creates a new component marshaller. -
    ICalDataType - Class in biweekly
    Defines the data type of a property's value.
    ICalDateFormatter - Class in biweekly.util
    Helper class that formats and parses iCalendar dates.
    ICalendar - Class in biweekly
    - Represents an iCalendar object.
    ICalendar() - -Constructor for class biweekly.ICalendar -
    - Creates a new iCalendar object. -
    ICalendarMarshaller - Class in biweekly.component.marshaller
     
    ICalendarMarshaller() - -Constructor for class biweekly.component.marshaller.ICalendarMarshaller -
      -
    ICalException - Exception in biweekly
    The common base exception that all exceptions inherit from.
    ICalException() - -Constructor for exception biweekly.ICalException -
      -
    ICalException(String) - -Constructor for exception biweekly.ICalException -
      -
    ICalFloatFormatter - Class in biweekly.util
    Formats floating-point values for iCalendar objects.
    ICalFloatFormatter() - -Constructor for class biweekly.util.ICalFloatFormatter -
    Creates a new formatter with a max of 6 decimals. -
    ICalFloatFormatter(int) - -Constructor for class biweekly.util.ICalFloatFormatter -
    Creates a new formatter. -
    ICalMarshallerRegistrar - Class in biweekly.io
    - Manages a listing of component and property marshallers.
    ICalMarshallerRegistrar() - -Constructor for class biweekly.io.ICalMarshallerRegistrar -
      -
    ICalParameterCaseClasses<T extends EnumParameterValue> - Class in biweekly.parameter
    Manages the list of pre-defined values for a parameter (such as VALUE or - ENCODING).
    ICalParameterCaseClasses(Class<T>) - -Constructor for class biweekly.parameter.ICalParameterCaseClasses -
      -
    ICalParameters - Class in biweekly.parameter
    Contains the list of parameters that belong to a property.
    ICalParameters() - -Constructor for class biweekly.parameter.ICalParameters -
    Creates a parameters list. -
    ICalParameters(ICalParameters) - -Constructor for class biweekly.parameter.ICalParameters -
    Copies an existing parameters list. -
    ICalProperty - Class in biweekly.property
    Base class for all iCalendar properties.
    ICalProperty() - -Constructor for class biweekly.property.ICalProperty -
      -
    ICalPropertyMarshaller<T extends ICalProperty> - Class in biweekly.property.marshaller
    Base class for iCalendar property marshallers.
    ICalPropertyMarshaller(Class<T>, String, ICalDataType) - -Constructor for class biweekly.property.marshaller.ICalPropertyMarshaller -
    Creates a new marshaller. -
    ICalPropertyMarshaller(Class<T>, String, ICalDataType, QName) - -Constructor for class biweekly.property.marshaller.ICalPropertyMarshaller -
    Creates a new marshaller. -
    ICalPropertyMarshaller.DateParser - Class in biweekly.property.marshaller
    Factory class for parsing dates.
    ICalPropertyMarshaller.DateParser(String) - -Constructor for class biweekly.property.marshaller.ICalPropertyMarshaller.DateParser -
    Creates a new date writer object. -
    ICalPropertyMarshaller.DateWriter - Class in biweekly.property.marshaller
    Factory class for writing dates.
    ICalPropertyMarshaller.DateWriter(Date) - -Constructor for class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter -
    Creates a new date writer object. -
    ICalPropertyMarshaller.ListCallback<T> - Interface in biweekly.property.marshaller
    Callback function used in conjunction with the - list method
    ICalPropertyMarshaller.Result<T extends ICalProperty> - Class in biweekly.property.marshaller
    Represents the result of an unmarshal operation.
    ICalPropertyMarshaller.Result(T, List<String>) - -Constructor for class biweekly.property.marshaller.ICalPropertyMarshaller.Result -
    Creates a new result. -
    ICalPropertyMarshaller.SemiStructuredIterator - Class in biweekly.property.marshaller
    Iterates over the fields in a semi-structured value (a structured value - whose components cannot be multi-valued).
    ICalPropertyMarshaller.SemiStructuredIterator(Iterator<String>) - -Constructor for class biweekly.property.marshaller.ICalPropertyMarshaller.SemiStructuredIterator -
    Constructs a new structured iterator. -
    ICalPropertyMarshaller.Splitter - Class in biweekly.property.marshaller
    Factory class for splitting strings.
    ICalPropertyMarshaller.Splitter(String, String) - -Constructor for class biweekly.property.marshaller.ICalPropertyMarshaller.Splitter -
    Creates a new splitter object. -
    ICalPropertyMarshaller.StructuredIterator - Class in biweekly.property.marshaller
    Iterates over the fields in a structured value.
    ICalPropertyMarshaller.StructuredIterator(Iterator<List<String>>) - -Constructor for class biweekly.property.marshaller.ICalPropertyMarshaller.StructuredIterator -
    Constructs a new structured iterator. -
    ICalRawReader - Class in biweekly.io.text
    Parses an iCalendar data stream.
    ICalRawReader(Reader) - -Constructor for class biweekly.io.text.ICalRawReader -
    Creates a new reader. -
    ICalRawReader.ICalDataStreamListener - Interface in biweekly.io.text
    Handles the iCalendar data as it is read off the data stream.
    ICalRawReader.StopReadingException - Exception in biweekly.io.text
    Instructs an ICalRawReader to stop reading from the data stream - when thrown from an ICalRawReader.ICalDataStreamListener implementation.
    ICalRawReader.StopReadingException() - -Constructor for exception biweekly.io.text.ICalRawReader.StopReadingException -
      -
    ICalRawWriter - Class in biweekly.io.text
    Writes data to an iCalendar data stream.
    ICalRawWriter(Writer) - -Constructor for class biweekly.io.text.ICalRawWriter -
    Creates an iCalendar raw writer using the standard folding scheme and - newline sequence. -
    ICalRawWriter(Writer, FoldingScheme) - -Constructor for class biweekly.io.text.ICalRawWriter -
    Creates an iCalendar raw writer using the standard newline sequence. -
    ICalRawWriter(Writer, FoldingScheme, String) - -Constructor for class biweekly.io.text.ICalRawWriter -
    Creates an iCalendar raw writer. -
    ICalRawWriter.ParameterValueChangedListener - Interface in biweekly.io.text
    Allows you to respond to when a parameter's value is changed due to it - containing invalid characters.
    ICalReader - Class in biweekly.io.text
    - Parses ICalendar objects from an iCalendar data stream.
    ICalReader(String) - -Constructor for class biweekly.io.text.ICalReader -
    Creates a reader that parses iCalendar objects from a string. -
    ICalReader(InputStream) - -Constructor for class biweekly.io.text.ICalReader -
    Creates a reader that parses iCalendar objects from an input stream. -
    ICalReader(File) - -Constructor for class biweekly.io.text.ICalReader -
    Creates a reader that parses iCalendar objects from a file. -
    ICalReader(Reader) - -Constructor for class biweekly.io.text.ICalReader -
    Creates a reader that parses iCalendar objects from a reader. -
    ICalWriter - Class in biweekly.io.text
    - Writes ICalendar objects to an iCalendar data stream.
    ICalWriter(OutputStream) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to an output stream. -
    ICalWriter(OutputStream, FoldingScheme) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to an output stream. -
    ICalWriter(OutputStream, FoldingScheme, String) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to an output stream. -
    ICalWriter(File) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to a file. -
    ICalWriter(File, boolean) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to a file. -
    ICalWriter(File, boolean, FoldingScheme) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to a file. -
    ICalWriter(File, boolean, FoldingScheme, String) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to a file. -
    ICalWriter(Writer) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to a writer. -
    ICalWriter(Writer, FoldingScheme) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to a writer. -
    ICalWriter(Writer, FoldingScheme, String) - -Constructor for class biweekly.io.text.ICalWriter -
    Creates an iCalendar writer that writes to a writer. -
    IN_PROGRESS - -Static variable in class biweekly.parameter.ParticipationStatus -
      -
    increment() - -Method in class biweekly.property.Sequence -
    Increments the sequence number. -
    incrementSequence() - -Method in class biweekly.component.VEvent -
    Increments the revision number of the event. -
    incrementSequence() - -Method in class biweekly.component.VJournal -
    Increments the revision number of the journal entry. -
    incrementSequence() - -Method in class biweekly.component.VTodo -
    Increments the revision number of the to-do. -
    indent(boolean) - -Method in class biweekly.Biweekly.WriterChainJson -
    Sets whether or not to pretty-print the JSON. -
    indent(int) - -Method in class biweekly.Biweekly.WriterChainXml -
    Sets the number of indent spaces to use for pretty-printing. -
    INDIVIDUAL - -Static variable in class biweekly.parameter.CalendarUserType -
      -
    inProgress() - -Static method in class biweekly.property.Status -
    Creates a "in-progress" status property (only valid for to-do - components). -
    INTEGER - -Static variable in class biweekly.ICalDataType -
      -
    IntegerProperty - Class in biweekly.property
    Represents a property whose value is an integer.
    IntegerProperty(Integer) - -Constructor for class biweekly.property.IntegerProperty -
    Creates a new integer property. -
    IntegerPropertyMarshaller<T extends IntegerProperty> - Class in biweekly.property.marshaller
    Marshals properties that have integer values.
    IntegerPropertyMarshaller(Class<T>, String) - -Constructor for class biweekly.property.marshaller.IntegerPropertyMarshaller -
      -
    interval(Integer) - -Method in class biweekly.util.Recurrence.Builder -
    Gets how often the rule repeats, in relation to the frequency. -
    invalidLine(String) - -Method in interface biweekly.io.text.ICalRawReader.ICalDataStreamListener -
    Called when a line cannot be parsed. -
    IOUtils - Class in biweekly.util
    I/O helper classes.
    is(String) - -Method in class biweekly.property.EnumProperty -
    Compares the property's value with a given string (case-insensitive). -
    isAudio() - -Method in class biweekly.property.Action -
    Determines if this property is an "audio" action. -
    isCancelled() - -Method in class biweekly.property.Status -
    Determines if the status is set to "cancelled". -
    isCaretDecodingEnabled() - -Method in class biweekly.io.text.ICalRawReader -
    - Gets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default). -
    isCaretDecodingEnabled() - -Method in class biweekly.io.text.ICalReader -
    Gets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default). -
    isCaretEncodingEnabled() - -Method in class biweekly.io.text.ICalRawWriter -
    - Gets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). -
    isCaretEncodingEnabled() - -Method in class biweekly.io.text.ICalWriter -
    - Gets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). -
    isCompleted() - -Method in class biweekly.property.Status -
    Determines if the status is set to "completed". -
    isConfidential() - -Method in class biweekly.property.Classification -
    Determines if the classification level is "confidential". -
    isConfirmed() - -Method in class biweekly.property.Status -
    Determines if the status is set to "confirmed". -
    isDisplay() - -Method in class biweekly.property.Action -
    Determines if this property is an "display" action. -
    isDraft() - -Method in class biweekly.property.Status -
    Determines if the status is set to "draft". -
    isEmail() - -Method in class biweekly.property.Action -
    Determines if this property is an "email" action. -
    isEmpty() - -Method in class biweekly.util.ListMultimap -
    Determines if the multimap is empty or not. -
    isEmpty() - -Method in class biweekly.ValidationWarnings -
    Determines whether there are any validation warnings. -
    isFinal() - -Method in class biweekly.property.Status -
    Determines if the status is set to "final". -
    isGregorian() - -Method in class biweekly.property.CalendarScale -
    Determines whether the property is set to "gregorian". -
    isHigh() - -Method in class biweekly.property.Priority -
    Determines if this priority is considered "high" priority. -
    isIndent() - -Method in class biweekly.io.json.JCalRawWriter -
    Gets whether or not the JSON will be pretty-printed. -
    isIndent() - -Method in class biweekly.io.json.JCalWriter -
    Gets whether or not the JSON will be pretty-printed. -
    isInProgress() - -Method in class biweekly.property.Status -
    Determines if the status is set to "in-progress". -
    isLocalTime() - -Method in class biweekly.property.DateOrDateTimeProperty -
    Gets whether the date should be outputted in local time (without a - timezone). -
    isLow() - -Method in class biweekly.property.Priority -
    Determines if this priority is considered "low" priority. -
    isMedium() - -Method in class biweekly.property.Priority -
    Determines if this priority is considered "medium" priority. -
    isNeedsAction() - -Method in class biweekly.property.Status -
    Determines if the status is set to "needs-action". -
    isNull() - -Method in class biweekly.io.json.JsonValue -
    Determines if the value is "null" or not. -
    ISOFormat - Enum in biweekly.util
    Represents the various ISO8601 date-time formats that iCalendar dates can be - represented as.
    isOpaque() - -Method in class biweekly.property.Transparency -
    Determines if the event is visible to free/busy time searches. -
    isPrior() - -Method in class biweekly.util.Duration -
    Gets whether the duration is negative. -
    isPrivate() - -Method in class biweekly.property.Classification -
    Determines if the classification level is "private". -
    isPublic() - -Method in class biweekly.property.Classification -
    Determines if the classification level is "public". -
    isSingleSpaceFoldingEnabled() - -Method in class biweekly.io.text.FoldedLineReader -
    Gets whether the reader will only ignore the first whitespace character - it encounters at the beginning of a folded line. -
    isTentative() - -Method in class biweekly.property.Status -
    Determines if the status is set to "tentative". -
    isTransparent() - -Method in class biweekly.property.Transparency -
    Determines if the event is hidden from free/busy time searches. -
    isUndefined() - -Method in class biweekly.property.Priority -
    Determines if this priority has an "undefined" value. -
    isUtc() - -Method in class biweekly.util.DateTimeComponents -
    Gets whether the time is in UTC or not -
    isV2_0() - -Method in class biweekly.property.Version -
    Determines if this version is the default iCalendar version. -
    iterator() - -Method in class biweekly.util.ListMultimap -
      -
    iterator() - -Method in class biweekly.ValidationWarnings -
    Iterates over each warning group (same as calling - getWarnings().iterator()). -
    -
    -

    -J

    -
    -
    JCalParseException - Exception in biweekly.io.json
    Thrown during the parsing of a JSON-encoded iCalendar object (jCal) when the - jCal object is not formatted in the correct way (the JSON syntax is valid, - but it's not in the correct jCal format).
    JCalParseException(JsonToken, JsonToken) - -Constructor for exception biweekly.io.json.JCalParseException -
    Creates a jCal parse exception. -
    JCalRawReader - Class in biweekly.io.json
    Parses an iCalendar JSON data stream (jCal).
    JCalRawReader(Reader) - -Constructor for class biweekly.io.json.JCalRawReader -
    Creates a new reader. -
    JCalRawReader.JCalDataStreamListener - Interface in biweekly.io.json
    Handles the iCalendar data as it is read off the data stream.
    JCalRawWriter - Class in biweekly.io.json
    Writes data to an iCalendar JSON data stream (jCal).
    JCalRawWriter(Writer, boolean) - -Constructor for class biweekly.io.json.JCalRawWriter -
    Creates a new raw writer. -
    JCalReader - Class in biweekly.io.json
    - Parses ICalendar objects from a jCal data stream (JSON).
    JCalReader(String) - -Constructor for class biweekly.io.json.JCalReader -
    Creates a jCard reader. -
    JCalReader(InputStream) - -Constructor for class biweekly.io.json.JCalReader -
    Creates a jCard reader. -
    JCalReader(File) - -Constructor for class biweekly.io.json.JCalReader -
    Creates a jCard reader. -
    JCalReader(Reader) - -Constructor for class biweekly.io.json.JCalReader -
    Creates a jCard reader. -
    JCalValue - Class in biweekly.io.json
    Holds the value of a jCal property.
    JCalValue(List<JsonValue>) - -Constructor for class biweekly.io.json.JCalValue -
    Creates a new jCal value. -
    JCalValue(JsonValue...) - -Constructor for class biweekly.io.json.JCalValue -
    Creates a new jCal value. -
    JCalWriter - Class in biweekly.io.json
    - Writes ICalendar objects to a JSON data stream (jCal).
    JCalWriter(OutputStream) - -Constructor for class biweekly.io.json.JCalWriter -
    Creates a jCal writer that writes to an output stream. -
    JCalWriter(OutputStream, boolean) - -Constructor for class biweekly.io.json.JCalWriter -
    Creates a jCal writer that writes to an output stream. -
    JCalWriter(File) - -Constructor for class biweekly.io.json.JCalWriter -
    Creates a jCal writer that writes to a file. -
    JCalWriter(File, boolean) - -Constructor for class biweekly.io.json.JCalWriter -
    Creates a jCal writer that writes to a file. -
    JCalWriter(Writer) - -Constructor for class biweekly.io.json.JCalWriter -
    Creates a jCal writer that writes to a writer. -
    JCalWriter(Writer, boolean) - -Constructor for class biweekly.io.json.JCalWriter -
    Creates a jCal writer that writes to a writer. -
    join(Collection<T>, String) - -Static method in class biweekly.util.StringUtils -
    Joins a collection of values into a delimited list. -
    join(Collection<T>, String, StringBuilder) - -Static method in class biweekly.util.StringUtils -
    Joins a collection of values into a delimited list. -
    join(Collection<T>, String, StringUtils.JoinCallback<T>) - -Static method in class biweekly.util.StringUtils -
    Joins a collection of values into a delimited list. -
    join(Collection<T>, String, StringBuilder, StringUtils.JoinCallback<T>) - -Static method in class biweekly.util.StringUtils -
    Joins a collection of values into a delimited list. -
    join(Map<K, V>, String, StringUtils.JoinMapCallback<K, V>) - -Static method in class biweekly.util.StringUtils -
    Joins a map into a delimited list. -
    JsonValue - Class in biweekly.io.json
    Represents a JSON value, array, or object.
    JsonValue(Object) - -Constructor for class biweekly.io.json.JsonValue -
    Creates a JSON value (such as a string or integer). -
    JsonValue(List<JsonValue>) - -Constructor for class biweekly.io.json.JsonValue -
    Creates a JSON array. -
    JsonValue(Map<String, JsonValue>) - -Constructor for class biweekly.io.json.JsonValue -
    Creates a JSON object. -
    -
    -

    -K

    -
    -
    keySet() - -Method in class biweekly.util.ListMultimap -
    Returns all the keys. -
    -
    -

    -L

    -
    -
    LANGUAGE - -Static variable in class biweekly.parameter.ICalParameters -
      -
    LastModified - Class in biweekly.property
    - Defines the date and time that the calendar data in a component was last - changed.
    LastModified(Date) - -Constructor for class biweekly.property.LastModified -
    Creates a last modified property. -
    LastModifiedMarshaller - Class in biweekly.property.marshaller
    Marshals LastModified properties.
    LastModifiedMarshaller() - -Constructor for class biweekly.property.marshaller.LastModifiedMarshaller -
      -
    limit(int) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.Splitter -
    Sets the max number of split strings it should parse. -
    list(String) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Parses a comma-separated list of values. -
    list(Object...) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Writes a comma-separated list of values. -
    list(Collection<T>) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Writes a comma-separated list of values. -
    list(Collection<T>, ICalPropertyMarshaller.ListCallback<T>) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Writes a comma-separated list of values. -
    ListMultimap<K,V> - Class in biweekly.util
    A multimap that uses List objects to store its values.
    ListMultimap() - -Constructor for class biweekly.util.ListMultimap -
    Creates an empty multimap. -
    ListMultimap(int) - -Constructor for class biweekly.util.ListMultimap -
    Creates an empty multimap. -
    ListMultimap(ListMultimap<K, V>) - -Constructor for class biweekly.util.ListMultimap -
    Creates a copy of an existing multimap. -
    ListMultimap(Map<K, List<V>>) - -Constructor for class biweekly.util.ListMultimap -
    Creates a copy of an existing map. -
    ListProperty<T> - Class in biweekly.property
    Represents a property whose value is a list of values.
    ListProperty() - -Constructor for class biweekly.property.ListProperty -
    Creates a new list property. -
    ListProperty(T...) - -Constructor for class biweekly.property.ListProperty -
    Creates a new list property. -
    ListProperty(List<T>) - -Constructor for class biweekly.property.ListProperty -
    Creates a new list property. -
    ListPropertyMarshaller<T extends ListProperty<V>,V> - Class in biweekly.property.marshaller
    Marshals properties that contain a list of values.
    ListPropertyMarshaller(Class<T>, String) - -Constructor for class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    ListPropertyMarshaller(Class<T>, String, ICalDataType) - -Constructor for class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    localTime - -Variable in class biweekly.property.DateOrDateTimeProperty -
      -
    localTz(boolean) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter -
    Outputs the date in local time (without a timezone). -
    Location - Class in biweekly.property
    - Defines the physical location of an event.
    Location(String) - -Constructor for class biweekly.property.Location -
    Creates a location property. -
    LocationMarshaller - Class in biweekly.property.marshaller
    Marshals Location properties.
    LocationMarshaller() - -Constructor for class biweekly.property.marshaller.LocationMarshaller -
      -
    -
    -

    -M

    -
    -
    matches(T, String) - -Method in class biweekly.parameter.ICalParameterCaseClasses -
      -
    matches(T, V) - -Method in class biweekly.util.CaseClasses -
    Determines if a value is associated with a case object. -
    matches(String) - -Method in enum biweekly.util.ISOFormat -
    Determines whether a date string is in this ISO format. -
    MEMBER - -Static variable in class biweekly.parameter.ICalParameters -
      -
    Method - Class in biweekly.property
    - Specifies the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity.
    Method(String) - -Constructor for class biweekly.property.Method -
    Creates a new method property. -
    MethodMarshaller - Class in biweekly.property.marshaller
    Marshals Method properties.
    MethodMarshaller() - -Constructor for class biweekly.property.marshaller.MethodMarshaller -
      -
    minutes(Integer) - -Method in class biweekly.util.Duration.Builder -
    Sets the number of minutes -
    missingXmlElements(ICalDataType...) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from the property's XML - element. -
    missingXmlElements(String...) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Creates a CannotParseException, indicating that the XML elements - that the parser expected to find are missing from property's XML element. -
    multi(Object...) - -Static method in class biweekly.io.json.JCalValue -
    Creates a multi-valued value. -
    multi(List<?>) - -Static method in class biweekly.io.json.JCalValue -
    Creates a multi-valued value. -
    -
    -

    -N

    -
    -
    NEEDS_ACTION - -Static variable in class biweekly.parameter.ParticipationStatus -
      -
    needsAction() - -Static method in class biweekly.property.Status -
    Creates a "needs-action" status property (only valid for to-do - components). -
    newInstance(String) - -Method in class biweekly.property.marshaller.ActionMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.AttendeeMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.CalendarScaleMarshaller -
      -
    newInstance(ICalDataType, ICalParameters) - -Method in class biweekly.property.marshaller.CategoriesMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.ClassificationMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.CommentMarshaller -
      -
    newInstance(Date) - -Method in class biweekly.property.marshaller.CompletedMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.ContactMarshaller -
      -
    newInstance(Date) - -Method in class biweekly.property.marshaller.CreatedMarshaller -
      -
    newInstance(Date, boolean) - -Method in class biweekly.property.marshaller.DateDueMarshaller -
      -
    newInstance(Date, boolean) - -Method in class biweekly.property.marshaller.DateEndMarshaller -
      -
    newInstance(Date, boolean) - -Method in class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    newInstance(Date, boolean) - -Method in class biweekly.property.marshaller.DateStartMarshaller -
      -
    newInstance(Date) - -Method in class biweekly.property.marshaller.DateTimePropertyMarshaller -
      -
    newInstance(Date) - -Method in class biweekly.property.marshaller.DateTimeStampMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.DescriptionMarshaller -
      -
    newInstance(ICalDataType, ICalParameters) - -Method in class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    newInstance(Recurrence) - -Method in class biweekly.property.marshaller.ExceptionRuleMarshaller -
      -
    newInstance(Integer) - -Method in class biweekly.property.marshaller.IntegerPropertyMarshaller -
      -
    newInstance(Date) - -Method in class biweekly.property.marshaller.LastModifiedMarshaller -
      -
    newInstance(ICalDataType, ICalParameters) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.LocationMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.MethodMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.OrganizerMarshaller -
      -
    newInstance(Integer) - -Method in class biweekly.property.marshaller.PercentCompleteMarshaller -
      -
    newInstance(Integer) - -Method in class biweekly.property.marshaller.PriorityMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.ProductIdMarshaller -
      -
    newInstance(Date, boolean) - -Method in class biweekly.property.marshaller.RecurrenceIdMarshaller -
      -
    newInstance(Recurrence) - -Method in class biweekly.property.marshaller.RecurrencePropertyMarshaller -
    Creates a new instance of the recurrence property. -
    newInstance(Recurrence) - -Method in class biweekly.property.marshaller.RecurrenceRuleMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.RelatedToMarshaller -
      -
    newInstance(Integer) - -Method in class biweekly.property.marshaller.RepeatMarshaller -
      -
    newInstance(ICalDataType, ICalParameters) - -Method in class biweekly.property.marshaller.ResourcesMarshaller -
      -
    newInstance(Integer) - -Method in class biweekly.property.marshaller.SequenceMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.StatusMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.SummaryMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.TimezoneIdMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.TimezoneNameMarshaller -
      -
    newInstance(UtcOffset) - -Method in class biweekly.property.marshaller.TimezoneOffsetFromMarshaller -
      -
    newInstance(UtcOffset) - -Method in class biweekly.property.marshaller.TimezoneOffsetToMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.TimezoneUrlMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.TransparencyMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.UidMarshaller -
      -
    newInstance(String) - -Method in class biweekly.property.marshaller.UrlMarshaller -
      -
    newInstance(UtcOffset) - -Method in class biweekly.property.marshaller.UtcOffsetPropertyMarshaller -
      -
    NEWLINE - -Static variable in class biweekly.util.StringUtils -
    The local computer's newline character sequence. -
    next() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.SemiStructuredIterator -
    Gets the next value. -
    nextComponent() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.StructuredIterator -
    Gets the next component. -
    nextString() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.StructuredIterator -
    Gets the first value of the next component. -
    NON_PARTICIPANT - -Static variable in class biweekly.parameter.Role -
      -
    -
    -

    -O

    -
    -
    object(ListMultimap<String, Object>) - -Static method in class biweekly.io.json.JCalValue -
    Creates an object value. -
    object(Map<String, List<T>>) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Writes an object property value to a string. -
    object(String) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Parses an object property value. -
    Observance - Class in biweekly.component
    Parent class for the "daylight" and "standard" timezone observances.
    Observance() - -Constructor for class biweekly.component.Observance -
      -
    offset - -Variable in class biweekly.property.UtcOffsetProperty -
      -
    onParameterValueChanged(String, String, String, String) - -Method in interface biweekly.io.text.ICalRawWriter.ParameterValueChangedListener -
    Called when a parameter value is changed. -
    opaque() - -Static method in class biweekly.property.Transparency -
    Creates a property that marks the event as being visible to free/busy - time searches. -
    OPT_PARTICIPANT - -Static variable in class biweekly.parameter.Role -
      -
    Organizer - Class in biweekly.property
    - Defines an organizer.
    Organizer(String) - -Constructor for class biweekly.property.Organizer -
    Creates an organizer property -
    OrganizerMarshaller - Class in biweekly.property.marshaller
    Marshals Organizer properties.
    OrganizerMarshaller() - -Constructor for class biweekly.property.marshaller.OrganizerMarshaller -
      -
    -
    -

    -P

    -
    -
    parameters - -Variable in class biweekly.property.ICalProperty -
    The property parameters. -
    PARENT - -Static variable in class biweekly.parameter.RelationshipType -
      -
    parse(String) - -Static method in class biweekly.Biweekly -
    Parses an iCalendar object string. -
    parse(File) - -Static method in class biweekly.Biweekly -
    Parses an iCalendar file. -
    parse(InputStream) - -Static method in class biweekly.Biweekly -
    Parses an iCalendar data stream. -
    parse(Reader) - -Static method in class biweekly.Biweekly -
    Parses an iCalendar data stream. -
    parse() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateParser -
    Parses the date string. -
    parse(String) - -Static method in class biweekly.util.DateTimeComponents -
    Parses the components out of a date-time string. -
    parse(String) - -Static method in class biweekly.util.Duration -
    Parses a duration string. -
    parse(String) - -Static method in class biweekly.util.ICalDateFormatter -
    Parses an iCalendar date. -
    parse(String, TimeZone) - -Static method in class biweekly.util.ICalDateFormatter -
    Parses an iCalendar date. -
    parse(String) - -Static method in class biweekly.util.UtcOffset -
    Parses a UTC offset from a string. -
    parseAll() - -Method in class biweekly.io.xml.XCalDocument -
    Parses all the ICalendar objects from the xCal document. -
    parseFirst() - -Method in class biweekly.io.xml.XCalDocument -
    Parses the first ICalendar object from the xCal document. -
    parseJson(String) - -Static method in class biweekly.Biweekly -
    Parses a jCal data stream (JSON-encoded iCalendar objects). -
    parseJson(File) - -Static method in class biweekly.Biweekly -
    Parses a jCal data stream (JSON-encoded iCalendar objects). -
    parseJson(InputStream) - -Static method in class biweekly.Biweekly -
    Parses a jCal data stream (JSON-encoded iCalendar objects). -
    parseJson(Reader) - -Static method in class biweekly.Biweekly -
    Parses a jCal data stream (JSON-encoded iCalendar objects). -
    parseJson(JCalValue, ICalDataType, ICalParameters) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Unmarshals a property's value from a JSON data stream (jCal). -
    parseText(String, ICalDataType, ICalParameters) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Unmarshals a property from a plain-text iCalendar data stream. -
    parseTimeZoneId(String) - -Static method in class biweekly.util.ICalDateFormatter -
    Gets the TimeZone object that corresponds to the given ID. -
    parseXml(String) - -Static method in class biweekly.Biweekly -
    Parses an xCal document (XML-encoded iCalendar objects) from a string. -
    parseXml(File) - -Static method in class biweekly.Biweekly -
    Parses an xCal document (XML-encoded iCalendar objects) from a file. -
    parseXml(InputStream) - -Static method in class biweekly.Biweekly -
    Parses an xCal document (XML-encoded iCalendar objects) from an input - stream. -
    parseXml(Reader) - -Static method in class biweekly.Biweekly -
    - Parses an xCal document (XML-encoded iCalendar objects) from a reader. -
    parseXml(Document) - -Static method in class biweekly.Biweekly -
    Parses an xCal document (XML-encoded iCalendar objects). -
    parseXml(Element, ICalParameters) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Unmarshals a property's value from an XML document (xCal). -
    ParticipationStatus - Class in biweekly.parameter
    Defines a calendar user's level of participation.
    PARTSTAT - -Static variable in class biweekly.parameter.ICalParameters -
      -
    PercentComplete - Class in biweekly.property
    - Defines a to-do task's level of completion.
    PercentComplete(Integer) - -Constructor for class biweekly.property.PercentComplete -
    Creates a percent complete property. -
    PercentCompleteMarshaller - Class in biweekly.property.marshaller
    Marshals PercentComplete properties.
    PercentCompleteMarshaller() - -Constructor for class biweekly.property.marshaller.PercentCompleteMarshaller -
      -
    PERIOD - -Static variable in class biweekly.ICalDataType -
      -
    Period - Class in biweekly.util
    A period of time.
    Period(Date, Date) - -Constructor for class biweekly.util.Period -
    Creates a new time period. -
    Period(Date, Duration) - -Constructor for class biweekly.util.Period -
    Creates a new time period. -
    Period(Period) - -Constructor for class biweekly.util.Period -
    Copies an existing time period. -
    preDefined - -Variable in class biweekly.util.CaseClasses -
      -
    prepareParameters(T) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Sanitizes a property's parameters (called before the property is - written). -
    prior(boolean) - -Method in class biweekly.util.Duration.Builder -
    Sets whether the duration should be negative. -
    Priority - Class in biweekly.property
    - Defines the priority of an event or to-do task.
    Priority(Integer) - -Constructor for class biweekly.property.Priority -
    Creates a priority property. -
    PriorityMarshaller - Class in biweekly.property.marshaller
    Marshals Priority properties.
    PriorityMarshaller() - -Constructor for class biweekly.property.marshaller.PriorityMarshaller -
      -
    private_() - -Static method in class biweekly.property.Classification -
    Creates a "private" classification property. -
    ProductId - Class in biweekly.property
    - Identifies the application that created the iCalendar object.
    ProductId(String) - -Constructor for class biweekly.property.ProductId -
    Creates a new product identifier property. -
    ProductIdMarshaller - Class in biweekly.property.marshaller
    Marshals ProductId properties.
    ProductIdMarshaller() - -Constructor for class biweekly.property.marshaller.ProductIdMarshaller -
      -
    properties - -Variable in class biweekly.component.ICalComponent -
      -
    propertyName - -Variable in class biweekly.property.marshaller.ICalPropertyMarshaller -
      -
    public_() - -Static method in class biweekly.property.Classification -
    Creates a "public" classification property. -
    put(K, V) - -Method in class biweekly.util.ListMultimap -
    Adds a value to the multimap. -
    putAll(K, Collection<V>) - -Method in class biweekly.util.ListMultimap -
    Adds multiple values to the multimap. -
    -
    -

    -Q

    -
    -
    qname - -Variable in class biweekly.property.marshaller.ICalPropertyMarshaller -
      -
    -
    -

    -R

    -
    -
    random() - -Static method in class biweekly.property.Uid -
    Creates a UID property that contains a random UID. -
    RANGE - -Static variable in class biweekly.parameter.ICalParameters -
      -
    Range - Class in biweekly.parameter
    Defines the effective range of recurrence instances specified by the - RecurrenceId property.
    RawComponent - Class in biweekly.component
    A component that does not have a marshaller associated with it.
    RawComponent(String) - -Constructor for class biweekly.component.RawComponent -
      -
    RawComponentMarshaller - Class in biweekly.component.marshaller
     
    RawComponentMarshaller(String) - -Constructor for class biweekly.component.marshaller.RawComponentMarshaller -
    Creates a new raw component marshaller. -
    rawComponents - -Variable in class biweekly.property.DateOrDateTimeProperty -
      -
    RawProperty - Class in biweekly.property
    A property that does not have a marshaller associated with it.
    RawProperty(String, String) - -Constructor for class biweekly.property.RawProperty -
      -
    RawProperty(String, ICalDataType, String) - -Constructor for class biweekly.property.RawProperty -
      -
    RawPropertyMarshaller - Class in biweekly.property.marshaller
    Marshals properties that do not have a marshaller associated with them.
    RawPropertyMarshaller(String) - -Constructor for class biweekly.property.marshaller.RawPropertyMarshaller -
      -
    readComponent(List<String>, String) - -Method in interface biweekly.io.json.JCalRawReader.JCalDataStreamListener -
    Called when the parser begins to read a component. -
    readLine() - -Method in class biweekly.io.text.FoldedLineReader -
    Reads the next line, unfolding it if necessary. -
    readNext(JCalRawReader.JCalDataStreamListener) - -Method in class biweekly.io.json.JCalRawReader -
    Reads the next iCalendar object from the jCal data stream. -
    readNext() - -Method in class biweekly.io.json.JCalReader -
    Reads the next iCalendar object from the JSON data stream. -
    readNext() - -Method in class biweekly.io.text.ICalReader -
    Reads the next iCalendar object. -
    readProperty(List<String>, String, ICalParameters, ICalDataType, JCalValue) - -Method in interface biweekly.io.json.JCalRawReader.JCalDataStreamListener -
    Called when a property is read. -
    readProperty(String, ICalParameters, String) - -Method in interface biweekly.io.text.ICalRawReader.ICalDataStreamListener -
    Called when a property is read. -
    readValue(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    readValue(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    readValue(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.TextListPropertyMarshaller -
      -
    RECUR - -Static variable in class biweekly.ICalDataType -
      -
    Recurrence - Class in biweekly.util
    - Represents a recurrence rule value.
    Recurrence.Builder - Class in biweekly.util
    Constructs Recurrence objects.
    Recurrence.Builder(Recurrence.Frequency) - -Constructor for class biweekly.util.Recurrence.Builder -
    Constructs a new builder. -
    Recurrence.Builder(Recurrence) - -Constructor for class biweekly.util.Recurrence.Builder -
    Constructs a new builder -
    Recurrence.DayOfWeek - Enum in biweekly.util
    Represents each of the seven days of the week.
    Recurrence.Frequency - Enum in biweekly.util
    Represents the frequency at which a recurrence rule repeats itself.
    RecurrenceDates - Class in biweekly.property
    - Defines a list of dates or periods that help define a recurrence rule.
    RecurrenceDates(List<Date>, boolean) - -Constructor for class biweekly.property.RecurrenceDates -
    Creates a recurrence dates property. -
    RecurrenceDates(List<Period>) - -Constructor for class biweekly.property.RecurrenceDates -
    Creates a recurrence dates property. -
    RecurrenceDatesMarshaller - Class in biweekly.property.marshaller
    Marshals RecurrenceDates properties.
    RecurrenceDatesMarshaller() - -Constructor for class biweekly.property.marshaller.RecurrenceDatesMarshaller -
      -
    RecurrenceId - Class in biweekly.property
    - Records the original value of the DateStart property if a recurrence - instance has been modified.
    RecurrenceId(Date) - -Constructor for class biweekly.property.RecurrenceId -
    Creates a recurrence ID property. -
    RecurrenceId(Date, boolean) - -Constructor for class biweekly.property.RecurrenceId -
    Creates a recurrence ID property. -
    RecurrenceIdMarshaller - Class in biweekly.property.marshaller
    Marshals RecurrenceId properties.
    RecurrenceIdMarshaller() - -Constructor for class biweekly.property.marshaller.RecurrenceIdMarshaller -
      -
    RecurrenceProperty - Class in biweekly.property
    Defines a property whose value is a recurrence rule.
    RecurrenceProperty(Recurrence) - -Constructor for class biweekly.property.RecurrenceProperty -
    Creates a new recurrence property. -
    RecurrencePropertyMarshaller<T extends RecurrenceProperty> - Class in biweekly.property.marshaller
    Marshals properties whose values are Recurrence.
    RecurrencePropertyMarshaller(Class<T>, String) - -Constructor for class biweekly.property.marshaller.RecurrencePropertyMarshaller -
      -
    RecurrenceRule - Class in biweekly.property
    - Defines how often a component repeats.
    RecurrenceRule(Recurrence) - -Constructor for class biweekly.property.RecurrenceRule -
    Creates a new recurrence rule property. -
    RecurrenceRuleMarshaller - Class in biweekly.property.marshaller
    Marshals RecurrenceRule properties.
    RecurrenceRuleMarshaller() - -Constructor for class biweekly.property.marshaller.RecurrenceRuleMarshaller -
      -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.Biweekly.ParserChainJsonReader -
      -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.Biweekly.ParserChainJsonReader -
      -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.Biweekly.ParserChainJsonString -
      -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.Biweekly.ParserChainJsonString -
      -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.Biweekly.ParserChainTextReader -
      -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.Biweekly.ParserChainTextReader -
      -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.Biweekly.ParserChainTextString -
      -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.Biweekly.ParserChainTextString -
      -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.Biweekly.ParserChainXmlDocument -
      -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.Biweekly.ParserChainXmlDocument -
      -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.Biweekly.ParserChainXmlReader -
      -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.Biweekly.ParserChainXmlReader -
      -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.Biweekly.ParserChainXmlString -
      -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.Biweekly.ParserChainXmlString -
      -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.Biweekly.WriterChainXml -
      -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.Biweekly.WriterChainXml -
      -
    register(String, ICalDataType) - -Method in class biweekly.Biweekly.WriterChainXml -
    Registers the data type of an experimental parameter. -
    register(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Registers a component marshaller. -
    register(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Registers a property marshaller. -
    registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.io.json.JCalReader -
    - Registers an experimental property marshaller. -
    registerMarshaller(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.io.json.JCalReader -
    - Registers an experimental component marshaller. -
    registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.io.json.JCalWriter -
    - Registers an experimental property marshaller. -
    registerMarshaller(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.io.json.JCalWriter -
    - Registers an experimental component marshaller. -
    registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.io.text.ICalReader -
    - Registers an experimental property marshaller. -
    registerMarshaller(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.io.text.ICalReader -
    - Registers an experimental component marshaller. -
    registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.io.text.ICalWriter -
    - Registers an experimental property marshaller. -
    registerMarshaller(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.io.text.ICalWriter -
    - Registers an experimental component marshaller. -
    registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.io.xml.XCalDocument -
    - Registers an experimental property marshaller. -
    registerMarshaller(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.io.xml.XCalDocument -
    - Registers an experimental component marshaller. -
    registerParameterDataType(String, ICalDataType) - -Method in class biweekly.io.xml.XCalDocument -
    Registers the data type of an experimental parameter. -
    RELATED - -Static variable in class biweekly.parameter.ICalParameters -
      -
    Related - Class in biweekly.parameter
    Defines the date that an alarm trigger is relative to.
    RelatedTo - Class in biweekly.property
    - Defines a relationship between the component that this property belongs to - and another component.
    RelatedTo(String) - -Constructor for class biweekly.property.RelatedTo -
    Creates a related-to property. -
    RelatedToMarshaller - Class in biweekly.property.marshaller
    Marshals RelatedTo properties.
    RelatedToMarshaller() - -Constructor for class biweekly.property.marshaller.RelatedToMarshaller -
      -
    RelationshipType - Class in biweekly.parameter
    Defines the hierarchical relationship that a component has with another - component.
    RELTYPE - -Static variable in class biweekly.parameter.ICalParameters -
      -
    remove(K, V) - -Method in class biweekly.util.ListMultimap -
    Removes a particular value. -
    removeAll(K) - -Method in class biweekly.util.ListMultimap -
    Removes all the values associated with a key -
    removeDelegatedFrom(String) - -Method in class biweekly.parameter.ICalParameters -
    Removes a person who has delegated his or her responsibility to an - attendee. -
    removeDelegatedFrom() - -Method in class biweekly.parameter.ICalParameters -
    Removes everyone who has delegated his or her responsibility to an - attendee. -
    removeDelegatedTo(String) - -Method in class biweekly.parameter.ICalParameters -
    Removes a person to which an attendee has delegated his or her - responsibility. -
    removeDelegatedTo() - -Method in class biweekly.parameter.ICalParameters -
    Removes everyone to which an attendee has delegated his or her - responsibility. -
    removeEmpties(boolean) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.Splitter -
    Sets whether to remove empty elements. -
    removeExperimentalComponents(String) - -Method in class biweekly.component.ICalComponent -
    Removes all experimental sub-components that have the given name. -
    removeExperimentalProperty(String) - -Method in class biweekly.component.ICalComponent -
    Removes all experimental properties that have the given name. -
    removeMember(String) - -Method in class biweekly.parameter.ICalParameters -
    Removes a group that an attendee is a member of. -
    removeMembers() - -Method in class biweekly.parameter.ICalParameters -
    Removes all groups that an attendee is a member of. -
    removeParameter(String) - -Method in class biweekly.property.ICalProperty -
    Removes a parameter from the property. -
    removeProperties(Class<? extends ICalProperty>) - -Method in class biweekly.component.ICalComponent -
    Removes properties from the iCalendar object. -
    Repeat - Class in biweekly.property
    - Defines the number of times an alarm should be repeated after its initial - trigger.
    Repeat(Integer) - -Constructor for class biweekly.property.Repeat -
    Creates a repeat property. -
    RepeatMarshaller - Class in biweekly.property.marshaller
    Marshals Repeat properties.
    RepeatMarshaller() - -Constructor for class biweekly.property.marshaller.RepeatMarshaller -
      -
    replace(K, V) - -Method in class biweekly.util.ListMultimap -
    Replaces all values with the given value. -
    replace(K, Collection<V>) - -Method in class biweekly.util.ListMultimap -
    Replaces all values with the given values. -
    REQ_PARTICIPANT - -Static variable in class biweekly.parameter.Role -
      -
    RequestStatus - Class in biweekly.property
    - Represents a response to a scheduling request, describing whether the request - was successfully processed or not.
    RequestStatus(String) - -Constructor for class biweekly.property.RequestStatus -
    Creates a request status property. -
    RequestStatusMarshaller - Class in biweekly.property.marshaller
    Marshals RequestStatus properties.
    RequestStatusMarshaller() - -Constructor for class biweekly.property.marshaller.RequestStatusMarshaller -
      -
    RESOURCE - -Static variable in class biweekly.parameter.CalendarUserType -
      -
    Resources - Class in biweekly.property
    - Defines a list of resources that are needed for an event or to-do task (for - example a projector or DVD player).
    Resources() - -Constructor for class biweekly.property.Resources -
    Creates a new resources property. -
    Resources(String...) - -Constructor for class biweekly.property.Resources -
    Creates a new resources property. -
    Resources(List<String>) - -Constructor for class biweekly.property.Resources -
    Creates a new resources property. -
    ResourcesMarshaller - Class in biweekly.property.marshaller
    Marshals Resources properties.
    ResourcesMarshaller() - -Constructor for class biweekly.property.marshaller.ResourcesMarshaller -
      -
    ROLE - -Static variable in class biweekly.parameter.ICalParameters -
      -
    Role - Class in biweekly.parameter
    Defines the role that a calendar user holds.
    ROOM - -Static variable in class biweekly.parameter.CalendarUserType -
      -
    RSVP - -Static variable in class biweekly.parameter.ICalParameters -
      -
    runtimeDefined - -Variable in class biweekly.util.CaseClasses -
      -
    -
    -

    -S

    -
    -
    sanitizeKey(String) - -Method in class biweekly.parameter.ICalParameters -
      -
    sanitizeKey(K) - -Method in class biweekly.util.ListMultimap -
    Modifies a given key before it is used to interact with the internal map. -
    seconds(Integer) - -Method in class biweekly.util.Duration.Builder -
    Sets the number of seconds. -
    semistructured(String) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Parses a list of values that are delimited by semicolons. -
    semistructured(String, int) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Parses a list of values that are delimited by semicolons. -
    SENT_BY - -Static variable in class biweekly.parameter.ICalParameters -
      -
    Sequence - Class in biweekly.property
    - Defines a revision number for an event, to-do task, or journal entry.
    Sequence(Integer) - -Constructor for class biweekly.property.Sequence -
    Creates a sequence property. -
    SequenceMarshaller - Class in biweekly.property.marshaller
    Marshals Sequence properties.
    SequenceMarshaller() - -Constructor for class biweekly.property.marshaller.SequenceMarshaller -
      -
    setAction(Action) - -Method in class biweekly.component.VAlarm -
    Sets the type of action to invoke when the alarm is triggered. -
    setAltRepresentation(String) - -Method in class biweekly.parameter.ICalParameters -
    Sets a URI pointing to additional information about the entity - represented by the property. -
    setAltRepresentation(String) - -Method in class biweekly.property.Comment -
      -
    setAltRepresentation(String) - -Method in class biweekly.property.Contact -
      -
    setAltRepresentation(String) - -Method in class biweekly.property.Description -
      -
    setAltRepresentation(String) - -Method in class biweekly.property.Location -
      -
    setAltRepresentation(String) - -Method in class biweekly.property.Resources -
      -
    setAltRepresentation(String) - -Method in class biweekly.property.Summary -
      -
    setCalendarScale(CalendarScale) - -Method in class biweekly.ICalendar -
    Sets the calendar system that this iCalendar object uses. -
    setCalendarUserType(CalendarUserType) - -Method in class biweekly.parameter.ICalParameters -
    Sets the type of user an attendee is (for example, an "individual" or a - "room"). -
    setCalendarUserType(CalendarUserType) - -Method in class biweekly.property.Attendee -
    Sets the type of user the attendee is (for example, an "individual" or a - "room"). -
    setCaretDecodingEnabled(boolean) - -Method in class biweekly.io.text.ICalRawReader -
    - Sets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default). -
    setCaretDecodingEnabled(boolean) - -Method in class biweekly.io.text.ICalReader -
    Sets whether the reader will decode parameter values that use circumflex - accent encoding (enabled by default). -
    setCaretEncodingEnabled(boolean) - -Method in class biweekly.io.text.ICalRawWriter -
    - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). -
    setCaretEncodingEnabled(boolean) - -Method in class biweekly.io.text.ICalWriter -
    - Sets whether the writer will apply circumflex accent encoding on - parameter values (disabled by default). -
    setClassification(Classification) - -Method in class biweekly.component.VEvent -
    Sets the level of sensitivity of the event data. -
    setClassification(String) - -Method in class biweekly.component.VEvent -
    Sets the level of sensitivity of the event data. -
    setClassification(Classification) - -Method in class biweekly.component.VJournal -
    Sets the level of sensitivity of the journal entry. -
    setClassification(String) - -Method in class biweekly.component.VJournal -
    Sets the level of sensitivity of the journal entry. -
    setClassification(Classification) - -Method in class biweekly.component.VTodo -
    Sets the level of sensitivity of the to-do data. -
    setClassification(String) - -Method in class biweekly.component.VTodo -
    Sets the level of sensitivity of the to-do data. -
    setCommonName(String) - -Method in class biweekly.parameter.ICalParameters -
    Sets the display name of a person. -
    setCommonName(String) - -Method in class biweekly.property.Attendee -
      -
    setCommonName(String) - -Method in class biweekly.property.Organizer -
      -
    setCompleted(Completed) - -Method in class biweekly.component.VTodo -
    Sets the date and time that the to-do was completed. -
    setCompleted(Date) - -Method in class biweekly.component.VTodo -
    Sets the date and time that the to-do was completed. -
    setComponent(ICalComponent) - -Method in class biweekly.component.ICalComponent -
    Replaces all components of a given class with the given component. -
    setComponent(Class<T>, T) - -Method in class biweekly.component.ICalComponent -
    Replaces all components of a given class with the given component. -
    setContact(Contact) - -Method in class biweekly.component.VFreeBusy -
    Sets the contact for the free/busy entry. -
    setCreated(Created) - -Method in class biweekly.component.VEvent -
    Sets the date-time that the event was initially created. -
    setCreated(Date) - -Method in class biweekly.component.VEvent -
    Sets the date-time that the event was initially created. -
    setCreated(Created) - -Method in class biweekly.component.VJournal -
    Sets the date-time that the journal entry was initially created. -
    setCreated(Date) - -Method in class biweekly.component.VJournal -
    Sets the date-time that the journal entry was initially created. -
    setCreated(Created) - -Method in class biweekly.component.VTodo -
    Sets the date-time that the to-do was initially created. -
    setCreated(Date) - -Method in class biweekly.component.VTodo -
    Sets the date-time that the to-do was initially created. -
    setData(byte[]) - -Method in class biweekly.property.Attachment -
    Sets the attachment's binary data. -
    setDate(Date) - -Method in class biweekly.property.Trigger -
    Sets the date-time that the alarm will trigger. -
    setDateDue(DateDue) - -Method in class biweekly.component.VTodo -
    Sets the date that a to-do is due by. -
    setDateDue(Date) - -Method in class biweekly.component.VTodo -
    Sets the date that a to-do is due by. -
    setDateEnd(DateEnd) - -Method in class biweekly.component.VEvent -
    Sets the date that the event ends. -
    setDateEnd(Date) - -Method in class biweekly.component.VEvent -
    Sets the date that the event ends. -
    setDateEnd(DateEnd) - -Method in class biweekly.component.VFreeBusy -
    Sets the date that the free/busy entry ends. -
    setDateEnd(Date) - -Method in class biweekly.component.VFreeBusy -
    Sets the date that the free/busy entry ends. -
    setDateStart(DateStart) - -Method in class biweekly.component.Observance -
    Sets the date that the timezone observance starts. -
    setDateStart(DateTimeComponents) - -Method in class biweekly.component.Observance -
    Sets the date that the timezone observance starts. -
    setDateStart(DateStart) - -Method in class biweekly.component.VEvent -
    Sets the date that the event starts (required if no Method - property is defined). -
    setDateStart(Date) - -Method in class biweekly.component.VEvent -
    Sets the date that the event starts (required if no Method - property is defined). -
    setDateStart(DateStart) - -Method in class biweekly.component.VFreeBusy -
    Sets the date that the free/busy entry starts. -
    setDateStart(Date) - -Method in class biweekly.component.VFreeBusy -
    Sets the date that the free/busy entry starts. -
    setDateStart(DateStart) - -Method in class biweekly.component.VJournal -
    Sets the date that the journal entry starts. -
    setDateStart(Date) - -Method in class biweekly.component.VJournal -
    Sets the date that the journal entry starts. -
    setDateStart(DateStart) - -Method in class biweekly.component.VTodo -
    Sets the date that the to-do starts. -
    setDateStart(Date) - -Method in class biweekly.component.VTodo -
    Sets the date that the to-do starts. -
    setDateTimeStamp(DateTimeStamp) - -Method in class biweekly.component.VEvent -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information). -
    setDateTimeStamp(Date) - -Method in class biweekly.component.VEvent -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the event was - last modified (the LastModified property also holds this - information). -
    setDateTimeStamp(DateTimeStamp) - -Method in class biweekly.component.VFreeBusy -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information). -
    setDateTimeStamp(Date) - -Method in class biweekly.component.VFreeBusy -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the free/busy - entry was last modified (the LastModified property also holds - this information). -
    setDateTimeStamp(DateTimeStamp) - -Method in class biweekly.component.VJournal -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information). -
    setDateTimeStamp(Date) - -Method in class biweekly.component.VJournal -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the journal - entry was last modified (the LastModified property also holds - this information). -
    setDateTimeStamp(DateTimeStamp) - -Method in class biweekly.component.VTodo -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information). -
    setDateTimeStamp(Date) - -Method in class biweekly.component.VTodo -
    Sets either (a) the creation date of the iCalendar object (if the - Method property is defined) or (b) the date that the to-do was - last modified (the LastModified property also holds this - information). -
    setDescription(Description) - -Method in class biweekly.component.VAlarm -
    - Sets a detailed description of the alarm. -
    setDescription(String) - -Method in class biweekly.component.VAlarm -
    - Sets a detailed description of the alarm. -
    setDescription(Description) - -Method in class biweekly.component.VEvent -
    Sets a detailed description of the event. -
    setDescription(String) - -Method in class biweekly.component.VEvent -
    Sets a detailed description of the event. -
    setDescription(Description) - -Method in class biweekly.component.VTodo -
    Sets a detailed description of the to-do. -
    setDescription(String) - -Method in class biweekly.component.VTodo -
    Sets a detailed description of the to-do. -
    setDescription(String) - -Method in class biweekly.property.RequestStatus -
    Sets a human-readable description of the status. -
    setDirectoryEntry(String) - -Method in class biweekly.parameter.ICalParameters -
    Sets a URI that contains additional information about the person. -
    setDirectoryEntry(String) - -Method in class biweekly.property.Attendee -
      -
    setDirectoryEntry(String) - -Method in class biweekly.property.Organizer -
      -
    setDuration(DurationProperty) - -Method in class biweekly.component.VAlarm -
    Sets the length of the pause between alarm repetitions. -
    setDuration(Duration) - -Method in class biweekly.component.VAlarm -
    Sets the length of the pause between alarm repetitions. -
    setDuration(DurationProperty) - -Method in class biweekly.component.VEvent -
    Sets the duration of the event. -
    setDuration(Duration) - -Method in class biweekly.component.VEvent -
    Sets the duration of the event. -
    setDuration(DurationProperty) - -Method in class biweekly.component.VTodo -
    Sets the duration of the to-do. -
    setDuration(Duration) - -Method in class biweekly.component.VTodo -
    Sets the duration of the to-do. -
    setDuration(Duration, Related) - -Method in class biweekly.property.Trigger -
    Sets a relative time at which the alarm will trigger. -
    setEncoding(Encoding) - -Method in class biweekly.parameter.ICalParameters -
    Sets the encoding of the property value (for example, "base64"). -
    setExceptionText(String) - -Method in class biweekly.property.RequestStatus -
    Sets any additional data related to the response. -
    setExperimentalComponents(String) - -Method in class biweekly.component.ICalComponent -
    Adds an experimental sub-component to this component, removing all - existing components that have the same name. -
    setExperimentalProperty(String, String) - -Method in class biweekly.component.ICalComponent -
    Adds an experimental property to this component, removing all existing - properties that have the same name. -
    setExperimentalProperty(String, ICalDataType, String) - -Method in class biweekly.component.ICalComponent -
    Adds an experimental property to this component, removing all existing - properties that have the same name. -
    setFormatType(String) - -Method in class biweekly.parameter.ICalParameters -
    Sets the content-type of the property's value. -
    setFormatType(String) - -Method in class biweekly.property.Attachment -
      -
    setFreeBusyType(FreeBusyType) - -Method in class biweekly.parameter.ICalParameters -
    Sets the person's status over the time periods that are specified in a - FreeBusy property (for example, "free" or "busy"). -
    setGeo(Geo) - -Method in class biweekly.component.VEvent -
    Sets a set of geographical coordinates. -
    setGeo(Geo) - -Method in class biweekly.component.VTodo -
    Sets a set of geographical coordinates. -
    setHasTime(boolean) - -Method in class biweekly.property.ExceptionDates -
    Sets whether the dates have time components. -
    setIndent(boolean) - -Method in class biweekly.io.json.JCalRawWriter -
    Sets whether or not to pretty-print the JSON. -
    setIndent(boolean) - -Method in class biweekly.io.json.JCalWriter -
    Sets whether or not to pretty-print the JSON. -
    setIndent(String) - -Method in class biweekly.io.text.FoldedLineWriter -
    Sets the string that is prepended to each folded line. -
    setLanguage(String) - -Method in class biweekly.parameter.ICalParameters -
    Sets the language that the property value is written in. -
    setLanguage(String) - -Method in class biweekly.property.Attendee -
    Sets the language that the common name parameter is written in. -
    setLanguage(String) - -Method in class biweekly.property.Categories -
      -
    setLanguage(String) - -Method in class biweekly.property.Comment -
      -
    setLanguage(String) - -Method in class biweekly.property.Contact -
      -
    setLanguage(String) - -Method in class biweekly.property.Description -
      -
    setLanguage(String) - -Method in class biweekly.property.Location -
      -
    setLanguage(String) - -Method in class biweekly.property.Organizer -
    Sets the language that the common name parameter is written in. -
    setLanguage(String) - -Method in class biweekly.property.RequestStatus -
      -
    setLanguage(String) - -Method in class biweekly.property.Resources -
      -
    setLanguage(String) - -Method in class biweekly.property.Summary -
      -
    setLanguage(String) - -Method in class biweekly.property.TimezoneName -
      -
    setLastModified(LastModified) - -Method in class biweekly.component.VEvent -
    Sets the date-time that event was last changed. -
    setLastModified(Date) - -Method in class biweekly.component.VEvent -
    Sets the date-time that the event was last changed. -
    setLastModified(LastModified) - -Method in class biweekly.component.VJournal -
    Sets the date-time that the journal entry was last changed. -
    setLastModified(Date) - -Method in class biweekly.component.VJournal -
    Sets the date-time that the journal entry was last changed. -
    setLastModified(LastModified) - -Method in class biweekly.component.VTimezone -
    Sets the date-time that the timezone data was last changed. -
    setLastModified(Date) - -Method in class biweekly.component.VTimezone -
    Sets the date-time that the timezone data was last changed. -
    setLastModified(LastModified) - -Method in class biweekly.component.VTodo -
    Sets the date-time that the to-do was last changed. -
    setLastModified(Date) - -Method in class biweekly.component.VTodo -
    Sets the date-time that the to-do was last changed. -
    setLatitude(Double) - -Method in class biweekly.property.Geo -
    Sets the latitude. -
    setLineLength(int) - -Method in class biweekly.io.text.FoldedLineWriter -
    Sets the maximum length a line can be before it is folded (excluding the - newline). -
    setLocalTime(boolean) - -Method in class biweekly.property.DateOrDateTimeProperty -
    Sets whether the date should be outputted in local time (without a - timezone). -
    setLocation(Location) - -Method in class biweekly.component.VEvent -
    Sets the physical location of the event. -
    setLocation(String) - -Method in class biweekly.component.VEvent -
    Sets the physical location of the event. -
    setLocation(Location) - -Method in class biweekly.component.VTodo -
    Sets the physical location of the to-do. -
    setLocation(String) - -Method in class biweekly.component.VTodo -
    Sets the physical location of the to-do. -
    setLongitude(Double) - -Method in class biweekly.property.Geo -
    Sets the longitude. -
    setMaxVersion(String) - -Method in class biweekly.property.Version -
    Sets the maximum version that a consumer must support in order to - successfully parse the iCalendar object. -
    setMethod(Method) - -Method in class biweekly.ICalendar -
    Sets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity. -
    setMethod(String) - -Method in class biweekly.ICalendar -
    Sets the value of the Content-Type "method" parameter if the iCalendar - object is defined as a MIME message entity. -
    setMinVersion(String) - -Method in class biweekly.property.Version -
    Sets the minimum version that a consumer must support in order to - successfully parse the iCalendar object. -
    setNewline(String) - -Method in class biweekly.io.text.FoldedLineWriter -
    Sets the newline sequence that is used to separate lines -
    setOffset(int, int) - -Method in class biweekly.property.UtcOffsetProperty -
      -
    setOffset(UtcOffset) - -Method in class biweekly.property.UtcOffsetProperty -
      -
    setOrganizer(Organizer) - -Method in class biweekly.component.VEvent -
    Sets the organizer of the event. -
    setOrganizer(String) - -Method in class biweekly.component.VEvent -
    Sets the organizer of the event. -
    setOrganizer(Organizer) - -Method in class biweekly.component.VFreeBusy -
    Sets the person requesting the free/busy time. -
    setOrganizer(String) - -Method in class biweekly.component.VFreeBusy -
    Sets the person requesting the free/busy time. -
    setOrganizer(Organizer) - -Method in class biweekly.component.VJournal -
    Sets the organizer of the journal entry. -
    setOrganizer(String) - -Method in class biweekly.component.VJournal -
    Sets the organizer of the journal entry. -
    setOrganizer(Organizer) - -Method in class biweekly.component.VTodo -
    Sets the organizer of the to-do. -
    setOrganizer(String) - -Method in class biweekly.component.VTodo -
    Sets the organizer of the to-do. -
    setParameter(String, String) - -Method in class biweekly.property.ICalProperty -
    Replaces all existing values of a parameter with the given value. -
    setParameter(String, Collection<String>) - -Method in class biweekly.property.ICalProperty -
    Replaces all existing values of a parameter with the given values. -
    setParameters(ICalParameters) - -Method in class biweekly.property.ICalProperty -
    Sets the property's parameters -
    setParameterValueChangedListener(ICalRawWriter.ParameterValueChangedListener) - -Method in class biweekly.io.text.ICalRawWriter -
    Sets the listener which will be invoked when a parameter's value is - changed due to containing invalid characters. -
    setParticipationStatus(ParticipationStatus) - -Method in class biweekly.parameter.ICalParameters -
    Sets an attendee's level of participation. -
    setParticipationStatus(ParticipationStatus) - -Method in class biweekly.property.Attendee -
    Sets the attendee's level of participation. -
    setPercentComplete(PercentComplete) - -Method in class biweekly.component.VTodo -
    Sets the amount that the to-do task has been completed. -
    setPercentComplete(Integer) - -Method in class biweekly.component.VTodo -
    Sets the amount that the to-do task has been completed. -
    setPriority(Priority) - -Method in class biweekly.component.VEvent -
    Sets the priority of the event. -
    setPriority(Integer) - -Method in class biweekly.component.VEvent -
    Sets the priority of the event. -
    setPriority(Priority) - -Method in class biweekly.component.VTodo -
    Sets the priority of the to-do. -
    setPriority(Integer) - -Method in class biweekly.component.VTodo -
    Sets the priority of the to-do. -
    setProductId(ProductId) - -Method in class biweekly.ICalendar -
    Sets the name of the application that created the iCalendar object. -
    setProductId(String) - -Method in class biweekly.ICalendar -
    Sets the application that created the iCalendar object. -
    setProperty(ICalProperty) - -Method in class biweekly.component.ICalComponent -
    Replaces all existing properties of the given class with a single - property instance. -
    setProperty(Class<T>, T) - -Method in class biweekly.component.ICalComponent -
    Replaces all existing properties of the given class with a single - property instance. -
    setRange(Range) - -Method in class biweekly.parameter.ICalParameters -
    Sets the effective range of recurrence instances from the instance - specified by a RecurrenceId property. -
    setRange(Range) - -Method in class biweekly.property.RecurrenceId -
    Sets the effective range of recurrence instances from the instance - specified by this property. -
    setRawComponents(DateTimeComponents) - -Method in class biweekly.property.DateOrDateTimeProperty -
    Sets the raw components of the date-time value. -
    setRecurrenceId(RecurrenceId) - -Method in class biweekly.component.VEvent -
    Sets the original value of the DateStart property if the event is - recurring and has been modified. -
    setRecurrenceId(Date) - -Method in class biweekly.component.VEvent -
    Sets the original value of the DateStart property if the event is - recurring and has been modified. -
    setRecurrenceId(RecurrenceId) - -Method in class biweekly.component.VJournal -
    Sets the original value of the DateStart property if the event is - recurring and has been modified. -
    setRecurrenceId(Date) - -Method in class biweekly.component.VJournal -
    Sets the original value of the DateStart property if the journal - entry is recurring and has been modified. -
    setRecurrenceId(RecurrenceId) - -Method in class biweekly.component.VTodo -
    Sets the original value of the DateStart property if the to-do is - recurring and has been modified. -
    setRecurrenceId(Date) - -Method in class biweekly.component.VTodo -
    Sets the original value of the DateStart property if the to-do is - recurring and has been modified. -
    setRecurrenceRule(Recurrence) - -Method in class biweekly.component.Observance -
    Sets how often the timezone observance repeats. -
    setRecurrenceRule(RecurrenceRule) - -Method in class biweekly.component.Observance -
    Sets how often the timezone observance repeats. -
    setRecurrenceRule(Recurrence) - -Method in class biweekly.component.VEvent -
    Sets how often the event repeats. -
    setRecurrenceRule(RecurrenceRule) - -Method in class biweekly.component.VEvent -
    Sets how often the event repeats. -
    setRecurrenceRule(Recurrence) - -Method in class biweekly.component.VJournal -
    Sets how often the journal entry repeats. -
    setRecurrenceRule(RecurrenceRule) - -Method in class biweekly.component.VJournal -
    Sets how often the journal entry repeats. -
    setRecurrenceRule(Recurrence) - -Method in class biweekly.component.VTodo -
    Sets how often the to-do repeats. -
    setRecurrenceRule(RecurrenceRule) - -Method in class biweekly.component.VTodo -
    Sets how often the to-do repeats. -
    setRegistrar(ICalMarshallerRegistrar) - -Method in class biweekly.io.json.JCalReader -
    Sets the object that manages the component/property marshaller objects. -
    setRegistrar(ICalMarshallerRegistrar) - -Method in class biweekly.io.json.JCalWriter -
    Sets the object that manages the component/property marshaller objects. -
    setRegistrar(ICalMarshallerRegistrar) - -Method in class biweekly.io.text.ICalReader -
    Sets the object that manages the component/property marshaller objects. -
    setRegistrar(ICalMarshallerRegistrar) - -Method in class biweekly.io.text.ICalWriter -
    Sets the object that manages the component/property marshaller objects. -
    setRegistrar(ICalMarshallerRegistrar) - -Method in class biweekly.io.xml.XCalDocument -
    Sets the object that manages the component/property marshaller objects. -
    setRelated(Related) - -Method in class biweekly.parameter.ICalParameters -
    Sets the date-time field that the duration in a Trigger property - is relative to. -
    setRelated(Related) - -Method in class biweekly.property.Trigger -
    Sets the date-time field that the duration is relative to. -
    setRelationshipType(RelationshipType) - -Method in class biweekly.parameter.ICalParameters -
    Sets the relationship type of a RelatedTo property. -
    setRelationshipType(RelationshipType) - -Method in class biweekly.property.RelatedTo -
    Sets the relationship type. -
    setRepeat(Repeat) - -Method in class biweekly.component.VAlarm -
    Sets the number of times an alarm should be repeated after its initial - trigger. -
    setRepeat(Integer) - -Method in class biweekly.component.VAlarm -
    Sets the number of times an alarm should be repeated after its initial - trigger. -
    setRepeat(int, Duration) - -Method in class biweekly.component.VAlarm -
    Sets the repetition information for the alarm. -
    setRequestStatus(RequestStatus) - -Method in class biweekly.component.VEvent -
    Sets the response to a scheduling request. -
    setRequestStatus(RequestStatus) - -Method in class biweekly.component.VFreeBusy -
    Sets the response to a scheduling request. -
    setRequestStatus(RequestStatus) - -Method in class biweekly.component.VJournal -
    Sets the response to a scheduling request. -
    setRequestStatus(RequestStatus) - -Method in class biweekly.component.VTodo -
    Sets the response to a scheduling request. -
    setRole(Role) - -Method in class biweekly.parameter.ICalParameters -
    Sets an attendee's role (for example, "chair" or "required participant"). -
    setRole(Role) - -Method in class biweekly.property.Attendee -
    Sets the attendee's role (for example, "chair" or - "required participant"). -
    setRsvp(Boolean) - -Method in class biweekly.parameter.ICalParameters -
    Sets whether the organizer requests a response from an attendee. -
    setRsvp(Boolean) - -Method in class biweekly.property.Attendee -
    Sets whether the organizer requests a response from the attendee. -
    setSentBy(String) - -Method in class biweekly.parameter.ICalParameters -
    Sets a person that is acting on behalf of the person defined in the - property. -
    setSentBy(String) - -Method in class biweekly.property.Attendee -
      -
    setSentBy(String) - -Method in class biweekly.property.Organizer -
      -
    setSequence(Sequence) - -Method in class biweekly.component.VEvent -
    Sets the revision number of the event. -
    setSequence(Integer) - -Method in class biweekly.component.VEvent -
    Sets the revision number of the event. -
    setSequence(Sequence) - -Method in class biweekly.component.VJournal -
    Sets the revision number of the journal entry. -
    setSequence(Integer) - -Method in class biweekly.component.VJournal -
    Sets the revision number of the journal entry. -
    setSequence(Sequence) - -Method in class biweekly.component.VTodo -
    Sets the revision number of the to-do. -
    setSequence(Integer) - -Method in class biweekly.component.VTodo -
    Sets the revision number of the to-do. -
    setSingleSpaceFoldingEnabled(boolean) - -Method in class biweekly.io.text.FoldedLineReader -
    Sets whether the reader will only ignore the first whitespace character - it encounters at the beginning of a folded line. -
    setStatus(Status) - -Method in class biweekly.component.VEvent -
    Sets the status of the event. -
    setStatus(Status) - -Method in class biweekly.component.VJournal -
    Sets the status of the journal entry. -
    setStatus(Status) - -Method in class biweekly.component.VTodo -
    Sets the status of the to-do. -
    setStatusCode(String) - -Method in class biweekly.property.RequestStatus -
    Sets a status code. -
    setSummary(Summary) - -Method in class biweekly.component.VAlarm -
    - Sets the summary of the alarm. -
    setSummary(String) - -Method in class biweekly.component.VAlarm -
    - Sets the summary of the alarm. -
    setSummary(Summary) - -Method in class biweekly.component.VEvent -
    Sets the summary of the event. -
    setSummary(String) - -Method in class biweekly.component.VEvent -
    Sets the summary of the event. -
    setSummary(Summary) - -Method in class biweekly.component.VJournal -
    Sets the summary of the journal entry. -
    setSummary(String) - -Method in class biweekly.component.VJournal -
    Sets the summary of the journal entry. -
    setSummary(Summary) - -Method in class biweekly.component.VTodo -
    Sets the summary of the to-do. -
    setSummary(String) - -Method in class biweekly.component.VTodo -
    Sets the summary of the to-do. -
    setTimezone(VTimezone) - -Method in class biweekly.property.DateOrDateTimeProperty -
      -
    setTimezone(VTimezone) - -Method in class biweekly.property.ExceptionDates -
      -
    setTimezone(VTimezone) - -Method in class biweekly.property.RecurrenceDates -
      -
    setTimezoneId(TimezoneId) - -Method in class biweekly.component.VTimezone -
    Sets an ID for this timezone. -
    setTimezoneId(String) - -Method in class biweekly.component.VTimezone -
    Sets an ID for this timezone. -
    setTimezoneId(String) - -Method in class biweekly.parameter.ICalParameters -
    Sets the timezone identifier. -
    setTimezoneId(String) - -Method in class biweekly.property.DateOrDateTimeProperty -
      -
    setTimezoneId(String) - -Method in class biweekly.property.ExceptionDates -
      -
    setTimezoneId(String) - -Method in class biweekly.property.RecurrenceDates -
      -
    setTimezoneOffsetFrom(TimezoneOffsetFrom) - -Method in class biweekly.component.Observance -
    Sets the UTC offset that the timezone observance transitions from. -
    setTimezoneOffsetFrom(Integer, Integer) - -Method in class biweekly.component.Observance -
    Sets the UTC offset that the timezone observance transitions from. -
    setTimezoneOffsetTo(TimezoneOffsetTo) - -Method in class biweekly.component.Observance -
    Sets the UTC offset that the timezone observance transitions to. -
    setTimezoneOffsetTo(Integer, Integer) - -Method in class biweekly.component.Observance -
    Sets the UTC offset that the timezone observance transitions to. -
    setTimezoneUrl(TimezoneUrl) - -Method in class biweekly.component.VTimezone -
    Sets the timezone URL, which points to an iCalendar object that contains - further information on the timezone. -
    setTimezoneUrl(String) - -Method in class biweekly.component.VTimezone -
    Sets the timezone URL, which points to an iCalendar object that contains - further information on the timezone. -
    setTransparency(Transparency) - -Method in class biweekly.component.VEvent -
    Sets whether an event is visible to free/busy time searches. -
    setTransparency(Boolean) - -Method in class biweekly.component.VEvent -
    Sets whether an event is visible to free/busy time searches. -
    setTrigger(Trigger) - -Method in class biweekly.component.VAlarm -
    Sets when the alarm will be triggered. -
    setType(FreeBusyType) - -Method in class biweekly.property.FreeBusy -
    Sets the person's status over the time periods that are specified in this - property (for example, "free" or "busy"). -
    setUid(Uid) - -Method in class biweekly.component.VEvent -
    Sets the unique identifier for this event. -
    setUid(String) - -Method in class biweekly.component.VEvent -
    Sets the unique identifier for this event. -
    setUid(Uid) - -Method in class biweekly.component.VFreeBusy -
    Sets the unique identifier for this free/busy entry. -
    setUid(String) - -Method in class biweekly.component.VFreeBusy -
    Sets the unique identifier for this free/busy entry. -
    setUid(Uid) - -Method in class biweekly.component.VJournal -
    Sets the unique identifier for this journal entry. -
    setUid(String) - -Method in class biweekly.component.VJournal -
    Sets the unique identifier for this journal entry. -
    setUid(Uid) - -Method in class biweekly.component.VTodo -
    Sets the unique identifier for this to-do. -
    setUid(String) - -Method in class biweekly.component.VTodo -
    Sets the unique identifier for this to-do. -
    setUri(String) - -Method in class biweekly.property.Attachment -
    Sets the attachment's URI. -
    setUrl(Url) - -Method in class biweekly.component.VEvent -
    Sets a URL to a resource that contains additional information about the - event. -
    setUrl(String) - -Method in class biweekly.component.VEvent -
    Sets a URL to a resource that contains additional information about the - event. -
    setUrl(Url) - -Method in class biweekly.component.VFreeBusy -
    Sets a URL to a resource that contains additional information about the - free/busy entry. -
    setUrl(String) - -Method in class biweekly.component.VFreeBusy -
    Sets a URL to a resource that contains additional information about the - free/busy entry. -
    setUrl(Url) - -Method in class biweekly.component.VJournal -
    Sets a URL to a resource that contains additional information about the - journal entry. -
    setUrl(String) - -Method in class biweekly.component.VJournal -
    Sets a URL to a resource that contains additional information about the - journal entry. -
    setUrl(Url) - -Method in class biweekly.component.VTodo -
    Sets a URL to a resource that contains additional information about the - to-do. -
    setUrl(String) - -Method in class biweekly.component.VTodo -
    Sets a URL to a resource that contains additional information about the - to-do. -
    setValue(ICalDataType) - -Method in class biweekly.parameter.ICalParameters -
    Sets the data type of the property's value (for example, "text" or - "datetime"). -
    setValue(Date, boolean) - -Method in class biweekly.property.DateOrDateTimeProperty -
    Sets the date-time value. -
    setValue(T) - -Method in class biweekly.property.ValuedProperty -
    Sets the value of this property. -
    setVersion(Version) - -Method in class biweekly.ICalendar -
    Sets the min/max versions a consumer must support in order to - successfully parse the iCalendar object. -
    SIBLING - -Static variable in class biweekly.parameter.RelationshipType -
      -
    single(Object) - -Static method in class biweekly.io.json.JCalValue -
    Creates a single-valued value. -
    size() - -Method in class biweekly.util.ListMultimap -
    Returns the number of values in the map. -
    SkipMeException - Exception in biweekly.io
    Thrown during the reading or writing of an iCalendar property to show that - the property should not be written to the iCalendar data stream or not be - included in the parsed ICalendar object.
    SkipMeException() - -Constructor for exception biweekly.io.SkipMeException -
    Creates a new skip-me exception. -
    SkipMeException(String) - -Constructor for exception biweekly.io.SkipMeException -
    Creates a new skip-me exception. -
    split(String, String) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Splits a string by a delimiter, taking escaped characters into account. -
    split() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.Splitter -
    Performs the split operation. -
    StandardTime - Class in biweekly.component
    - Defines a standard time range within a VTimezone.
    StandardTime() - -Constructor for class biweekly.component.StandardTime -
      -
    StandardTimeMarshaller - Class in biweekly.component.marshaller
     
    StandardTimeMarshaller() - -Constructor for class biweekly.component.marshaller.StandardTimeMarshaller -
      -
    start(ICalRawReader.ICalDataStreamListener) - -Method in class biweekly.io.text.ICalRawReader -
    Starts or continues reading from the iCalendar data stream. -
    START - -Static variable in class biweekly.parameter.Related -
      -
    Status - Class in biweekly.property
    - Defines the status of the component that this property belongs to, such as a - to-do task being in a "completed" state.
    Status(String) - -Constructor for class biweekly.property.Status -
    Creates a status property. -
    StatusMarshaller - Class in biweekly.property.marshaller
    Marshals Status properties.
    StatusMarshaller() - -Constructor for class biweekly.property.marshaller.StatusMarshaller -
      -
    StringUtils - Class in biweekly.util
    Contains miscellaneous string utilities.
    StringUtils.JoinCallback<T> - Interface in biweekly.util
    Callback interface used with the - StringUtils.join(Collection, String, JoinCallback) method.
    StringUtils.JoinMapCallback<K,V> - Interface in biweekly.util
    Callback interface used with the - StringUtils.join(Map, String, JoinMapCallback) method.
    structured(Object...) - -Static method in class biweekly.io.json.JCalValue -
    - Creates a structured value. -
    structured(List<List<?>>) - -Static method in class biweekly.io.json.JCalValue -
    Creates a structured value. -
    structured(String) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Parses a structured value. -
    structured(JCalValue) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Provides an iterator for a jCard structured value. -
    structured(Object...) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    - Writes a structured value. -
    Summary - Class in biweekly.property
    - Defines a short, one line summary of the component that this property belongs - to.
    Summary(String) - -Constructor for class biweekly.property.Summary -
    Creates a new summary property. -
    SummaryMarshaller - Class in biweekly.property.marshaller
    Marshals Summary properties.
    SummaryMarshaller() - -Constructor for class biweekly.property.marshaller.SummaryMarshaller -
      -
    -
    -

    -T

    -
    -
    TENTATIVE - -Static variable in class biweekly.parameter.ParticipationStatus -
      -
    tentative() - -Static method in class biweekly.property.Status -
    Creates a "tentative" status property (only valid for event components). -
    TEXT - -Static variable in class biweekly.ICalDataType -
      -
    TextListPropertyMarshaller<T extends ListProperty<String>> - Class in biweekly.property.marshaller
    Marshals properties that have a list of text values.
    TextListPropertyMarshaller(Class<T>, String) - -Constructor for class biweekly.property.marshaller.TextListPropertyMarshaller -
      -
    TextProperty - Class in biweekly.property
    Represents a property whose value is a plain-text string.
    TextProperty(String) - -Constructor for class biweekly.property.TextProperty -
    Creates a new text property. -
    TextPropertyMarshaller<T extends TextProperty> - Class in biweekly.property.marshaller
    Marshals properties that have text values.
    TextPropertyMarshaller(Class<T>, String) - -Constructor for class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    TextPropertyMarshaller(Class<T>, String, ICalDataType) - -Constructor for class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    THIS_AND_FUTURE - -Static variable in class biweekly.parameter.Range -
      -
    THIS_AND_PRIOR - -Static variable in class biweekly.parameter.Range -
    Deprecated in the latest iCal specification. -
    TIME - -Static variable in class biweekly.ICalDataType -
      -
    time(boolean) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter -
    Sets whether to output the date's time component. -
    TimezoneId - Class in biweekly.property
    - Defines a unique identifier for a VTimezone component.
    TimezoneId(String) - -Constructor for class biweekly.property.TimezoneId -
    Creates a timezone identifier property. -
    TimezoneIdMarshaller - Class in biweekly.property.marshaller
    Marshals TimezoneId properties.
    TimezoneIdMarshaller() - -Constructor for class biweekly.property.marshaller.TimezoneIdMarshaller -
      -
    TimezoneName - Class in biweekly.property
    - Defines a traditional, non-standard name for a timezone observance (for - example, "Eastern Standard Time" for standard time on the US east coast).
    TimezoneName(String) - -Constructor for class biweekly.property.TimezoneName -
    Creates a timezone name property. -
    TimezoneNameMarshaller - Class in biweekly.property.marshaller
    Marshals TimezoneName properties.
    TimezoneNameMarshaller() - -Constructor for class biweekly.property.marshaller.TimezoneNameMarshaller -
      -
    TimezoneOffsetFrom - Class in biweekly.property
    - Defines the timezone offset that was in use before a timezone observance.
    TimezoneOffsetFrom(Integer, Integer) - -Constructor for class biweekly.property.TimezoneOffsetFrom -
    Creates a new timezone offset from property. -
    TimezoneOffsetFrom(UtcOffset) - -Constructor for class biweekly.property.TimezoneOffsetFrom -
    Creates a new timezone offset from property. -
    TimezoneOffsetFromMarshaller - Class in biweekly.property.marshaller
    Marshals TimezoneOffsetFrom properties.
    TimezoneOffsetFromMarshaller() - -Constructor for class biweekly.property.marshaller.TimezoneOffsetFromMarshaller -
      -
    TimezoneOffsetTo - Class in biweekly.property
    - Defines the timezone offset that is currently in use in a timezone - observance.
    TimezoneOffsetTo(int, int) - -Constructor for class biweekly.property.TimezoneOffsetTo -
    Creates a new timezone offset to property. -
    TimezoneOffsetTo(UtcOffset) - -Constructor for class biweekly.property.TimezoneOffsetTo -
    Creates a new timezone offset to property. -
    TimezoneOffsetToMarshaller - Class in biweekly.property.marshaller
    Marshals TimezoneOffsetTo properties.
    TimezoneOffsetToMarshaller() - -Constructor for class biweekly.property.marshaller.TimezoneOffsetToMarshaller -
      -
    TimezoneUrl - Class in biweekly.property
    - Defines a URL that points to an iCalendar object that contains further - information on a timezone.
    TimezoneUrl(String) - -Constructor for class biweekly.property.TimezoneUrl -
    Creates a timezone URL property. -
    TimezoneUrlMarshaller - Class in biweekly.property.marshaller
    Marshals TimezoneUrl properties.
    TimezoneUrlMarshaller() - -Constructor for class biweekly.property.marshaller.TimezoneUrlMarshaller -
      -
    toByteArray(InputStream) - -Static method in class biweekly.util.IOUtils -
    Reads all the bytes from an input stream. -
    toByteArray(InputStream, boolean) - -Static method in class biweekly.util.IOUtils -
    Reads all the bytes from an input stream. -
    toCuaPriority() - -Method in class biweekly.property.Priority -
    Converts this priority to its two-character CUA code. -
    toDate() - -Method in class biweekly.util.DateTimeComponents -
    Converts the date-time components to a Date object. -
    toDecimal(int, int, int) - -Static method in class biweekly.property.Geo -
    Converts a coordinate in the degrees-minutes-seconds format into its - decimal equivalent. -
    toDocument(String) - -Static method in class biweekly.util.XmlUtils -
    Parses an XML string into a DOM. -
    toDocument(InputStream) - -Static method in class biweekly.util.XmlUtils -
    Parses an XML document from an input stream. -
    toDocument(Reader) - -Static method in class biweekly.util.XmlUtils -
    - Parses an XML document from a reader. -
    toElementList(NodeList) - -Static method in class biweekly.util.XmlUtils -
    Gets all the elements out of a NodeList. -
    toMillis() - -Method in class biweekly.util.Duration -
    Converts the duration value to milliseconds. -
    toString() - -Method in class biweekly.ICalDataType -
      -
    toString() - -Method in class biweekly.io.json.JsonValue -
      -
    toString() - -Method in class biweekly.io.xml.XCalDocument -
      -
    toString() - -Method in class biweekly.parameter.EnumParameterValue -
      -
    toString() - -Method in class biweekly.util.DateTimeComponents -
    Converts the date-time components to a string using "basic" format. -
    toString(boolean) - -Method in class biweekly.util.DateTimeComponents -
    Converts the date-time components to a string. -
    toString() - -Method in class biweekly.util.Duration -
    Converts the duration to its string representation. -
    toString() - -Method in class biweekly.util.ListMultimap -
      -
    toString() - -Method in class biweekly.util.UtcOffset -
    Converts this offset to its ISO string representation using "basic" - format. -
    toString(boolean) - -Method in class biweekly.util.UtcOffset -
    Converts this offset to its ISO string representation. -
    toString(Node) - -Static method in class biweekly.util.XmlUtils -
    Converts an XML node to a string. -
    toString(Node, Map<String, String>) - -Static method in class biweekly.util.XmlUtils -
    Converts an XML node to a string. -
    toString() - -Method in class biweekly.ValidationWarnings -
    - Outputs all validation warnings as a newline-delimited string. -
    toString() - -Method in class biweekly.ValidationWarnings.WarningsGroup -
    - Outputs each message in this warnings group as a newline-delimited - string. -
    toWriter(Node, Writer) - -Static method in class biweekly.util.XmlUtils -
    Writes an XML node to a writer. -
    toWriter(Node, Writer, Map<String, String>) - -Static method in class biweekly.util.XmlUtils -
    Writes an XML node to a writer. -
    Transparency - Class in biweekly.property
    - Defines whether an event is visible to free/busy time searches.
    Transparency(String) - -Constructor for class biweekly.property.Transparency -
    Creates a new transparency property. -
    TransparencyMarshaller - Class in biweekly.property.marshaller
    Marshals Transparency properties.
    TransparencyMarshaller() - -Constructor for class biweekly.property.marshaller.TransparencyMarshaller -
      -
    transparent() - -Static method in class biweekly.property.Transparency -
    Creates a property that marks the event as being hidden from free/busy - time searches. -
    Trigger - Class in biweekly.property
    - Defines when an alarm will be triggered.
    Trigger(Duration, Related) - -Constructor for class biweekly.property.Trigger -
    Creates a trigger property. -
    Trigger(Date) - -Constructor for class biweekly.property.Trigger -
    Creates a trigger property. -
    TriggerMarshaller - Class in biweekly.property.marshaller
    Marshals Trigger properties.
    TriggerMarshaller() - -Constructor for class biweekly.property.marshaller.TriggerMarshaller -
      -
    tz(TimeZone) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateParser -
    Sets the timezone to parse the date as. -
    tz(boolean, String) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter -
    Convenience method that combines ICalPropertyMarshaller.DateWriter.localTz(boolean) and - ICalPropertyMarshaller.DateWriter.tzid(String) into one method. -
    tz(TimeZone) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter -
    Sets the timezone to format the date as. -
    TZID - -Static variable in class biweekly.parameter.ICalParameters -
      -
    tzid(String) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateParser -
    Sets the ID of the timezone to parse the date as (TZID parameter - value). -
    tzid(String, List<String>) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateParser -
    Sets the ID of the timezone to parse the date as (TZID parameter - value). -
    tzid(String) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter -
    Sets the ID of the timezone to format the date as (TZID parameter - value). -
    -
    -

    -U

    -
    -
    Uid - Class in biweekly.property
    - Defines a unique identifier for a component.
    Uid(String) - -Constructor for class biweekly.property.Uid -
    Creates a UID property. -
    UidMarshaller - Class in biweekly.property.marshaller
    Marshals Uid properties.
    UidMarshaller() - -Constructor for class biweekly.property.marshaller.UidMarshaller -
      -
    unescape(boolean) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.Splitter -
    Sets whether to unescape each split string. -
    unescape(String) - -Static method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Unescapes all special characters that are escaped with a backslash, as - well as escaped newlines. -
    UNKNOWN - -Static variable in class biweekly.parameter.CalendarUserType -
      -
    unregister(ICalComponentMarshaller<? extends ICalComponent>) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Unregisters a component marshaller. -
    unregister(ICalPropertyMarshaller<? extends ICalProperty>) - -Method in class biweekly.io.ICalMarshallerRegistrar -
    Unregisters a property marshaller -
    until(Date) - -Method in class biweekly.util.Recurrence.Builder -
    Sets the date that the recurrence stops. -
    until(Date, boolean) - -Method in class biweekly.util.Recurrence.Builder -
    Sets the date that the recurrence stops. -
    URI - -Static variable in class biweekly.ICalDataType -
      -
    URL - -Static variable in class biweekly.Biweekly -
    The project webpage. -
    Url - Class in biweekly.property
    - Points to a resource that contains additional information about a component.
    Url(String) - -Constructor for class biweekly.property.Url -
    Creates a URL property. -
    UrlMarshaller - Class in biweekly.property.marshaller
    Marshals Url properties.
    UrlMarshaller() - -Constructor for class biweekly.property.marshaller.UrlMarshaller -
      -
    UTC_OFFSET - -Static variable in class biweekly.ICalDataType -
      -
    UtcOffset - Class in biweekly.util
    Represents a UTC offset.
    UtcOffset(int, int) - -Constructor for class biweekly.util.UtcOffset -
    Creates a new UTC offset. -
    UtcOffsetProperty - Class in biweekly.property
    Represents a property whose value is a timezone offset.
    UtcOffsetProperty(int, int) - -Constructor for class biweekly.property.UtcOffsetProperty -
      -
    UtcOffsetProperty(UtcOffset) - -Constructor for class biweekly.property.UtcOffsetProperty -
      -
    UtcOffsetPropertyMarshaller<T extends UtcOffsetProperty> - Class in biweekly.property.marshaller
    Marshals properties that have UTC offset values.
    UtcOffsetPropertyMarshaller(Class<T>, String) - -Constructor for class biweekly.property.marshaller.UtcOffsetPropertyMarshaller -
      -
    utf8Reader(InputStream) - -Static method in class biweekly.util.IOUtils -
    Creates a reader whose character encoding is set to "UTF-8". -
    utf8Reader(File) - -Static method in class biweekly.util.IOUtils -
    Creates a reader whose character encoding is set to "UTF-8". -
    utf8Writer(OutputStream) - -Static method in class biweekly.util.IOUtils -
    Creates a writer whose character encoding is set to "UTF-8". -
    utf8Writer(File) - -Static method in class biweekly.util.IOUtils -
    Creates a writer whose character encoding is set to "UTF-8". -
    utf8Writer(File, boolean) - -Static method in class biweekly.util.IOUtils -
    Creates a writer whose character encoding is set to "UTF-8". -
    -
    -

    -V

    -
    -
    v2_0() - -Static method in class biweekly.property.Version -
    Creates a version property that is set to the default iCalendar version - (2.0). -
    VAlarm - Class in biweekly.component
    - Defines a reminder for an event or to-do task.
    VAlarm(Action, Trigger) - -Constructor for class biweekly.component.VAlarm -
    Creates a new alarm. -
    VAlarmMarshaller - Class in biweekly.component.marshaller
     
    VAlarmMarshaller() - -Constructor for class biweekly.component.marshaller.VAlarmMarshaller -
      -
    validate(List<ICalComponent>) - -Method in class biweekly.component.ICalComponent -
    Checks the component for data consistency problems or deviations from the - spec. -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.component.ICalComponent -
    Checks the component for data consistency problems or deviations from the - spec. -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.component.Observance -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.component.VAlarm -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.component.VEvent -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.component.VFreeBusy -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.component.VJournal -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.component.VTimezone -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.component.VTodo -
      -
    validate() - -Method in class biweekly.ICalendar -
    Checks this iCalendar object for data consistency problems or deviations - from the spec. -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.ICalendar -
      -
    validate() - -Method in class biweekly.parameter.ICalParameters -
    Checks this parameters list for data consistency problems or deviations - from the spec. -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.Attachment -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.DateOrDateTimeProperty -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.EnumProperty -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.ExceptionDates -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.ExceptionRule -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.FreeBusy -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.Geo -
      -
    validate(List<ICalComponent>) - -Method in class biweekly.property.ICalProperty -
    Checks the property for data consistency problems or deviations from the - spec. -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.ICalProperty -
    Checks the property for data consistency problems or deviations from the - spec. -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.ListProperty -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.PercentComplete -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.RecurrenceDates -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.RecurrenceProperty -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.RecurrenceRule -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.RequestStatus -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.Trigger -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.UtcOffsetProperty -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.ValuedProperty -
      -
    validate(List<ICalComponent>, List<String>) - -Method in class biweekly.property.Version -
      -
    ValidationWarnings - Class in biweekly
    - Holds the validation warnings of an iCalendar object.
    ValidationWarnings(List<ValidationWarnings.WarningsGroup>) - -Constructor for class biweekly.ValidationWarnings -
    Creates a new validation warnings list. -
    ValidationWarnings.WarningsGroup - Class in biweekly
    Holds the validation warnings of a property or component.
    ValidationWarnings.WarningsGroup(ICalProperty, List<ICalComponent>, List<String>) - -Constructor for class biweekly.ValidationWarnings.WarningsGroup -
    Creates a new set of validation warnings for a property. -
    ValidationWarnings.WarningsGroup(ICalComponent, List<ICalComponent>, List<String>) - -Constructor for class biweekly.ValidationWarnings.WarningsGroup -
    Creates a new set of validation warnings for a component. -
    value - -Variable in class biweekly.parameter.EnumParameterValue -
    The value (for example, "text"). -
    VALUE - -Static variable in class biweekly.parameter.ICalParameters -
      -
    value - -Variable in class biweekly.property.DateOrDateTimeProperty -
      -
    value - -Variable in class biweekly.property.ValuedProperty -
      -
    ValuedProperty<T> - Class in biweekly.property
    Represents a property whose data model consists of a single object (such as a - String).
    ValuedProperty(T) - -Constructor for class biweekly.property.ValuedProperty -
    Creates a new valued property. -
    valuelessParameter(String, String) - -Method in interface biweekly.io.text.ICalRawReader.ICalDataStreamListener -
    Called when a value-less parameter is read. -
    valueOf(String) - -Static method in enum biweekly.util.ISOFormat -
    Returns the enum constant of this type with the specified name. -
    valueOf(String) - -Static method in enum biweekly.util.Recurrence.DayOfWeek -
    Returns the enum constant of this type with the specified name. -
    valueOf(String) - -Static method in enum biweekly.util.Recurrence.Frequency -
    Returns the enum constant of this type with the specified name. -
    valueOfAbbr(String) - -Static method in enum biweekly.util.Recurrence.DayOfWeek -
    Gets a day by its abbreviation. -
    values() - -Static method in enum biweekly.util.ISOFormat -
    Returns an array containing the constants of this enum type, in -the order they are declared. -
    values() - -Method in class biweekly.util.ListMultimap -
    Returns all the values. -
    values() - -Static method in enum biweekly.util.Recurrence.DayOfWeek -
    Returns an array containing the constants of this enum type, in -the order they are declared. -
    values() - -Static method in enum biweekly.util.Recurrence.Frequency -
    Returns an array containing the constants of this enum type, in -the order they are declared. -
    VERSION - -Static variable in class biweekly.Biweekly -
    The version of the library. -
    Version - Class in biweekly.property
    - Specifies the min/max versions a consumer must support in order to - successfully parse the iCalendar object.
    Version(String) - -Constructor for class biweekly.property.Version -
    Creates a new version property. -
    Version(String, String) - -Constructor for class biweekly.property.Version -
    Creates a new version property. -
    VersionMarshaller - Class in biweekly.property.marshaller
    Marshals Version properties.
    VersionMarshaller() - -Constructor for class biweekly.property.marshaller.VersionMarshaller -
      -
    VEvent - Class in biweekly.component
    - Defines a scheduled activity, such as a meeting that's two hours long.
    VEvent() - -Constructor for class biweekly.component.VEvent -
    - Creates a new event. -
    VEventMarshaller - Class in biweekly.component.marshaller
     
    VEventMarshaller() - -Constructor for class biweekly.component.marshaller.VEventMarshaller -
      -
    VFreeBusy - Class in biweekly.component
    - Defines a collection of time ranges that describe when the person is - available or unavailable.
    VFreeBusy() - -Constructor for class biweekly.component.VFreeBusy -
    - Creates a new free/busy component. -
    VFreeBusyMarshaller - Class in biweekly.component.marshaller
     
    VFreeBusyMarshaller() - -Constructor for class biweekly.component.marshaller.VFreeBusyMarshaller -
      -
    VJournal - Class in biweekly.component
    - Defines descriptive text associated with the calendar data.
    VJournal() - -Constructor for class biweekly.component.VJournal -
    - Creates a new journal entry. -
    VJournalMarshaller - Class in biweekly.component.marshaller
     
    VJournalMarshaller() - -Constructor for class biweekly.component.marshaller.VJournalMarshaller -
      -
    VTimezone - Class in biweekly.component
    - Defines a timezone's UTC offsets throughout the year.
    VTimezone(String) - -Constructor for class biweekly.component.VTimezone -
    Creates a new timezone component. -
    VTimezoneMarshaller - Class in biweekly.component.marshaller
     
    VTimezoneMarshaller() - -Constructor for class biweekly.component.marshaller.VTimezoneMarshaller -
      -
    VTodo - Class in biweekly.component
    - Defines a task or assignment.
    VTodo() - -Constructor for class biweekly.component.VTodo -
    - Creates a new to-do entry. -
    VTodoMarshaller - Class in biweekly.component.marshaller
     
    VTodoMarshaller() - -Constructor for class biweekly.component.marshaller.VTodoMarshaller -
      -
    -
    -

    -W

    -
    -
    warnings(List<List<String>>) - -Method in class biweekly.Biweekly.ParserChainJsonReader -
      -
    warnings(List<List<String>>) - -Method in class biweekly.Biweekly.ParserChainJsonString -
      -
    warnings(List<List<String>>) - -Method in class biweekly.Biweekly.ParserChainTextReader -
      -
    warnings(List<List<String>>) - -Method in class biweekly.Biweekly.ParserChainTextString -
      -
    warnings(List<List<String>>) - -Method in class biweekly.Biweekly.ParserChainXmlDocument -
      -
    warnings(List<List<String>>) - -Method in class biweekly.Biweekly.ParserChainXmlReader -
      -
    warnings(List<List<String>>) - -Method in class biweekly.Biweekly.ParserChainXmlString -
      -
    weeks(Integer) - -Method in class biweekly.util.Duration.Builder -
    Sets the number of weeks. -
    workweekStarts(Recurrence.DayOfWeek) - -Method in class biweekly.util.Recurrence.Builder -
    Sets the day that the work week starts. -
    write(ICalendar...) - -Static method in class biweekly.Biweekly -
    Writes multiple iCalendar objects to a data stream. -
    write(Collection<ICalendar>) - -Static method in class biweekly.Biweekly -
    Writes multiple iCalendar objects to a data stream. -
    write() - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its plain text representation. -
    write(File) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its plain text representation. -
    write(OutputStream) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its plain text representation. -
    write(Writer) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its plain text representation. -
    write(ICalendar) - -Method in class biweekly.io.json.JCalWriter -
    Writes an iCalendar object to the data stream. -
    write(char[], int, int) - -Method in class biweekly.io.text.FoldedLineWriter -
      -
    write(char[], int, int, int, String) - -Method in class biweekly.io.text.FoldedLineWriter -
    Writes a portion of an array of characters. -
    write(ICalendar) - -Method in class biweekly.io.text.ICalWriter -
    Writes an iCalendar object to the data stream. -
    write() - -Method in class biweekly.io.xml.XCalDocument -
    Writes the xCal document to a string without pretty-printing it. -
    write(int) - -Method in class biweekly.io.xml.XCalDocument -
    Writes the xCal document to a string and pretty-prints it. -
    write(OutputStream) - -Method in class biweekly.io.xml.XCalDocument -
    Writes the xCal document to an output stream without pretty-printing it. -
    write(OutputStream, int) - -Method in class biweekly.io.xml.XCalDocument -
    Writes the xCal document to an output stream and pretty-prints it. -
    write(File) - -Method in class biweekly.io.xml.XCalDocument -
    Writes the xCal document to a file without pretty-printing it. -
    write(File, int) - -Method in class biweekly.io.xml.XCalDocument -
    Writes the xCal document to a file and pretty-prints it. -
    write(Writer) - -Method in class biweekly.io.xml.XCalDocument -
    Writes the xCal document to a writer without pretty-printing it. -
    write(Writer, int) - -Method in class biweekly.io.xml.XCalDocument -
    Writes the xCal document to a writer and pretty-prints it. -
    write() - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller.DateWriter -
    Creates the date string. -
    writeBeginComponent(String) - -Method in class biweekly.io.text.ICalRawWriter -
    Writes a property marking the beginning of a component (in other words, - writes a "BEGIN:NAME" property). -
    writeEndComponent() - -Method in class biweekly.io.json.JCalRawWriter -
    Closes the current component array. -
    writeEndComponent(String) - -Method in class biweekly.io.text.ICalRawWriter -
    Writes a property marking the end of a component (in other words, writes - a "END:NAME" property). -
    writeJson(ICalendar...) - -Static method in class biweekly.Biweekly -
    Writes an xCal document (XML-encoded iCalendar objects). -
    writeJson(Collection<ICalendar>) - -Static method in class biweekly.Biweekly -
    Writes an xCal document (XML-encoded iCalendar objects). -
    writeJson() - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its JSON representation (jCal). -
    writeJson(File) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its JSON representation (jCal). -
    writeJson(OutputStream) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its JSON representation (jCal). -
    writeJson(Writer) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its JSON representation (jCal). -
    writeJson(T) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Marshals a property's value to a JSON data stream (jCal). -
    writeln(String) - -Method in class biweekly.io.text.FoldedLineWriter -
    Writes a string of text, followed by a newline. -
    writeProperty(String, ICalDataType, JCalValue) - -Method in class biweekly.io.json.JCalRawWriter -
    Writes a property to the current component. -
    writeProperty(String, ICalParameters, ICalDataType, JCalValue) - -Method in class biweekly.io.json.JCalRawWriter -
    Writes a property to the current component. -
    writeProperty(String, String) - -Method in class biweekly.io.text.ICalRawWriter -
    Writes a property to the iCalendar data stream. -
    writeProperty(String, ICalParameters, String) - -Method in class biweekly.io.text.ICalRawWriter -
    Writes a property to the iCalendar data stream. -
    writeStartComponent(String) - -Method in class biweekly.io.json.JCalRawWriter -
    Writes the beginning of a new component array. -
    writeText(T) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Marshals a property's value to a string. -
    writeValue(ExceptionDates, Date) - -Method in class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    writeValue(T, V) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    writeValue(T, String) - -Method in class biweekly.property.marshaller.TextListPropertyMarshaller -
      -
    writeXml(ICalendar...) - -Static method in class biweekly.Biweekly -
    Writes an xCal document (XML-encoded iCalendar objects). -
    writeXml(Collection<ICalendar>) - -Static method in class biweekly.Biweekly -
    Writes an xCal document (XML-encoded iCalendar objects). -
    writeXml() - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its XML representation (xCal). -
    writeXml(File) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its XML representation (xCal). -
    writeXml(OutputStream) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its XML representation (xCal). -
    writeXml(Writer) - -Method in class biweekly.ICalendar -
    Marshals this iCalendar object to its XML representation (xCal). -
    writeXml(T, Element) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Marshals a property's value to an XML element (xCal). -
    -
    -

    -X

    -
    -
    XCAL_NS - -Static variable in class biweekly.io.xml.XCalNamespaceContext -
    The XML namespace for xCal documents. -
    XCalDocument - Class in biweekly.io.xml
    - Represents an XML document that contains iCalendar objects ("xCal" standard).
    XCalDocument(String) - -Constructor for class biweekly.io.xml.XCalDocument -
    Parses an xCal document from a string. -
    XCalDocument(InputStream) - -Constructor for class biweekly.io.xml.XCalDocument -
    Parses an xCal document from an input stream. -
    XCalDocument(File) - -Constructor for class biweekly.io.xml.XCalDocument -
    Parses an xCal document from a file. -
    XCalDocument(Reader) - -Constructor for class biweekly.io.xml.XCalDocument -
    - Parses an xCal document from a reader. -
    XCalDocument(Document) - -Constructor for class biweekly.io.xml.XCalDocument -
    Wraps an existing XML DOM object. -
    XCalDocument() - -Constructor for class biweekly.io.xml.XCalDocument -
    Creates an empty xCal document. -
    XCalElement - Class in biweekly.io.xml
    Wraps xCal functionality around an XML Element object.
    XCalElement(Element) - -Constructor for class biweekly.io.xml.XCalElement -
    Creates a new xCal element. -
    XCalNamespaceContext - Class in biweekly.io.xml
    Used for xCal xpath expressions.
    XCalNamespaceContext(String) - -Constructor for class biweekly.io.xml.XCalNamespaceContext -
    Creates a new namespace context. -
    Xml - Class in biweekly.property
    - Used for storing properties parsed from xCal documents whose XML namespaces - are not part of the xCal XML namespace.
    Xml(String) - -Constructor for class biweekly.property.Xml -
    Creates an XML property. -
    Xml(Element) - -Constructor for class biweekly.property.Xml -
    Creates an XML property. -
    Xml(Document) - -Constructor for class biweekly.property.Xml -
    Creates an XML property. -
    XmlMarshaller - Class in biweekly.property.marshaller
    Marshals Xml properties.
    XmlMarshaller() - -Constructor for class biweekly.property.marshaller.XmlMarshaller -
      -
    XmlUtils - Class in biweekly.util
    Generic XML utility methods.
    xrule(String, String) - -Method in class biweekly.util.Recurrence.Builder -
    Adds a non-standard rule part. -
    -
    -

    -_

    -
    -
    _8BIT - -Static variable in class biweekly.parameter.Encoding -
      -
    _dataType(Attachment) - -Method in class biweekly.property.marshaller.AttachmentMarshaller -
      -
    _dataType(T) - -Method in class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    _dataType(ExceptionDates) - -Method in class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    _dataType(T) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    - Determines the data type of a property instance. -
    _dataType(RawProperty) - -Method in class biweekly.property.marshaller.RawPropertyMarshaller -
      -
    _dataType(RecurrenceDates) - -Method in class biweekly.property.marshaller.RecurrenceDatesMarshaller -
      -
    _dataType(Trigger) - -Method in class biweekly.property.marshaller.TriggerMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.DaylightSavingsTimeMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.ICalComponentMarshaller -
    Creates a new instance of the component class. -
    _newInstance() - -Method in class biweekly.component.marshaller.ICalendarMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.RawComponentMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.StandardTimeMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.VAlarmMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.VEventMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.VFreeBusyMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.VJournalMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.VTimezoneMarshaller -
      -
    _newInstance() - -Method in class biweekly.component.marshaller.VTodoMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.AttachmentMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DateTimePropertyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DurationPropertyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.FreeBusyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.GeoMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    /** -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.IntegerPropertyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RecurrenceDatesMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RecurrencePropertyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RequestStatusMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.TriggerMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.UtcOffsetPropertyMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.VersionMarshaller -
      -
    _parseJson(JCalValue, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.XmlMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.AttachmentMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DateTimePropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DurationPropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.FreeBusyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.GeoMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Unmarshals a property from a plain-text iCalendar data stream. -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.IntegerPropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RawPropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RecurrenceDatesMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RecurrencePropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RequestStatusMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.TriggerMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.UtcOffsetPropertyMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.VersionMarshaller -
      -
    _parseText(String, ICalDataType, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.XmlMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.AttachmentMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DateTimePropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.DurationPropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.FreeBusyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.GeoMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    - Unmarshals a property from an XML document (xCal). -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.IntegerPropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RawPropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RecurrenceDatesMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RecurrencePropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.RequestStatusMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.TriggerMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.UtcOffsetPropertyMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.VersionMarshaller -
      -
    _parseXml(XCalElement, ICalParameters, List<String>) - -Method in class biweekly.property.marshaller.XmlMarshaller -
      -
    _prepareParameters(Attachment, ICalParameters) - -Method in class biweekly.property.marshaller.AttachmentMarshaller -
      -
    _prepareParameters(T, ICalParameters) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    - Sanitizes a property's parameters before the property is written. -
    _writeJson(Attachment) - -Method in class biweekly.property.marshaller.AttachmentMarshaller -
      -
    _writeJson(T) - -Method in class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    _writeJson(T) - -Method in class biweekly.property.marshaller.DateTimePropertyMarshaller -
      -
    _writeJson(DurationProperty) - -Method in class biweekly.property.marshaller.DurationPropertyMarshaller -
      -
    _writeJson(ExceptionDates) - -Method in class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    _writeJson(FreeBusy) - -Method in class biweekly.property.marshaller.FreeBusyMarshaller -
      -
    _writeJson(Geo) - -Method in class biweekly.property.marshaller.GeoMarshaller -
      -
    _writeJson(T) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    - Marshals a property's value to a JSON data stream (jCal). -
    _writeJson(T) - -Method in class biweekly.property.marshaller.IntegerPropertyMarshaller -
      -
    _writeJson(T) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    _writeJson(RecurrenceDates) - -Method in class biweekly.property.marshaller.RecurrenceDatesMarshaller -
      -
    _writeJson(T) - -Method in class biweekly.property.marshaller.RecurrencePropertyMarshaller -
      -
    _writeJson(RequestStatus) - -Method in class biweekly.property.marshaller.RequestStatusMarshaller -
      -
    _writeJson(T) - -Method in class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    _writeJson(Trigger) - -Method in class biweekly.property.marshaller.TriggerMarshaller -
      -
    _writeJson(T) - -Method in class biweekly.property.marshaller.UtcOffsetPropertyMarshaller -
      -
    _writeJson(Version) - -Method in class biweekly.property.marshaller.VersionMarshaller -
      -
    _writeJson(Xml) - -Method in class biweekly.property.marshaller.XmlMarshaller -
      -
    _writeText(Attachment) - -Method in class biweekly.property.marshaller.AttachmentMarshaller -
      -
    _writeText(T) - -Method in class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    _writeText(T) - -Method in class biweekly.property.marshaller.DateTimePropertyMarshaller -
      -
    _writeText(DurationProperty) - -Method in class biweekly.property.marshaller.DurationPropertyMarshaller -
      -
    _writeText(FreeBusy) - -Method in class biweekly.property.marshaller.FreeBusyMarshaller -
      -
    _writeText(Geo) - -Method in class biweekly.property.marshaller.GeoMarshaller -
      -
    _writeText(T) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    Marshals a property's value to a string. -
    _writeText(T) - -Method in class biweekly.property.marshaller.IntegerPropertyMarshaller -
      -
    _writeText(T) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    _writeText(RawProperty) - -Method in class biweekly.property.marshaller.RawPropertyMarshaller -
      -
    _writeText(RecurrenceDates) - -Method in class biweekly.property.marshaller.RecurrenceDatesMarshaller -
      -
    _writeText(T) - -Method in class biweekly.property.marshaller.RecurrencePropertyMarshaller -
      -
    _writeText(RequestStatus) - -Method in class biweekly.property.marshaller.RequestStatusMarshaller -
      -
    _writeText(T) - -Method in class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    _writeText(Trigger) - -Method in class biweekly.property.marshaller.TriggerMarshaller -
      -
    _writeText(T) - -Method in class biweekly.property.marshaller.UtcOffsetPropertyMarshaller -
      -
    _writeText(Version) - -Method in class biweekly.property.marshaller.VersionMarshaller -
      -
    _writeText(Xml) - -Method in class biweekly.property.marshaller.XmlMarshaller -
      -
    _writeXml(Attachment, XCalElement) - -Method in class biweekly.property.marshaller.AttachmentMarshaller -
      -
    _writeXml(T, XCalElement) - -Method in class biweekly.property.marshaller.DateOrDateTimePropertyMarshaller -
      -
    _writeXml(T, XCalElement) - -Method in class biweekly.property.marshaller.DateTimePropertyMarshaller -
      -
    _writeXml(DurationProperty, XCalElement) - -Method in class biweekly.property.marshaller.DurationPropertyMarshaller -
      -
    _writeXml(ExceptionDates, XCalElement) - -Method in class biweekly.property.marshaller.ExceptionDatesMarshaller -
      -
    _writeXml(FreeBusy, XCalElement) - -Method in class biweekly.property.marshaller.FreeBusyMarshaller -
      -
    _writeXml(Geo, XCalElement) - -Method in class biweekly.property.marshaller.GeoMarshaller -
      -
    _writeXml(T, XCalElement) - -Method in class biweekly.property.marshaller.ICalPropertyMarshaller -
    - Marshals a property's value to an XML element (xCal). -
    _writeXml(T, XCalElement) - -Method in class biweekly.property.marshaller.IntegerPropertyMarshaller -
      -
    _writeXml(T, XCalElement) - -Method in class biweekly.property.marshaller.ListPropertyMarshaller -
      -
    _writeXml(RecurrenceDates, XCalElement) - -Method in class biweekly.property.marshaller.RecurrenceDatesMarshaller -
      -
    _writeXml(T, XCalElement) - -Method in class biweekly.property.marshaller.RecurrencePropertyMarshaller -
      -
    _writeXml(RequestStatus, XCalElement) - -Method in class biweekly.property.marshaller.RequestStatusMarshaller -
      -
    _writeXml(T, XCalElement) - -Method in class biweekly.property.marshaller.TextPropertyMarshaller -
      -
    _writeXml(Trigger, XCalElement) - -Method in class biweekly.property.marshaller.TriggerMarshaller -
      -
    _writeXml(T, XCalElement) - -Method in class biweekly.property.marshaller.UtcOffsetPropertyMarshaller -
      -
    _writeXml(Version, XCalElement) - -Method in class biweekly.property.marshaller.VersionMarshaller -
      -
    _writeXml(Xml, XCalElement) - -Method in class biweekly.property.marshaller.XmlMarshaller -
      -
    -
    -A B C D E F G H I J K L M N O P Q R S T U V W X _ - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/overview-frame.html b/libs/biweekly-0.3.1-javadoc/overview-frame.html deleted file mode 100644 index 738521ca..00000000 --- a/libs/biweekly-0.3.1-javadoc/overview-frame.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - -Overview List (biweekly 0.3.1 API) - - - - - - - - - - - - - - - -
    -
    - - - - - -
    All Classes -

    - -Packages -
    -biweekly -
    -biweekly.component -
    -biweekly.component.marshaller -
    -biweekly.io -
    -biweekly.io.json -
    -biweekly.io.text -
    -biweekly.io.xml -
    -biweekly.parameter -
    -biweekly.property -
    -biweekly.property.marshaller -
    -biweekly.util -
    -

    - -

    -  - - diff --git a/libs/biweekly-0.3.1-javadoc/overview-summary.html b/libs/biweekly-0.3.1-javadoc/overview-summary.html deleted file mode 100644 index 279fe647..00000000 --- a/libs/biweekly-0.3.1-javadoc/overview-summary.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Overview (biweekly 0.3.1 API) - - - - - - - - - - - - -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -biweekly 0.3.1 API -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages
    biweekly 
    biweekly.component 
    biweekly.component.marshaller 
    biweekly.io 
    biweekly.io.json 
    biweekly.io.text 
    biweekly.io.xml 
    biweekly.parameter 
    biweekly.property 
    biweekly.property.marshaller 
    biweekly.util 
    - -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/overview-tree.html b/libs/biweekly-0.3.1-javadoc/overview-tree.html deleted file mode 100644 index ad2db739..00000000 --- a/libs/biweekly-0.3.1-javadoc/overview-tree.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - -Class Hierarchy (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For All Packages

    -
    -
    -
    Package Hierarchies:
    biweekly, biweekly.component, biweekly.component.marshaller, biweekly.io, biweekly.io.json, biweekly.io.text, biweekly.io.xml, biweekly.parameter, biweekly.property, biweekly.property.marshaller, biweekly.util
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -

    -Enum Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/package-list b/libs/biweekly-0.3.1-javadoc/package-list deleted file mode 100644 index 6b49b8a5..00000000 --- a/libs/biweekly-0.3.1-javadoc/package-list +++ /dev/null @@ -1,11 +0,0 @@ -biweekly -biweekly.component -biweekly.component.marshaller -biweekly.io -biweekly.io.json -biweekly.io.text -biweekly.io.xml -biweekly.parameter -biweekly.property -biweekly.property.marshaller -biweekly.util diff --git a/libs/biweekly-0.3.1-javadoc/serialized-form.html b/libs/biweekly-0.3.1-javadoc/serialized-form.html deleted file mode 100644 index 3d82159b..00000000 --- a/libs/biweekly-0.3.1-javadoc/serialized-form.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - -Serialized Form (biweekly 0.3.1 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Serialized Form

    -
    -
    - - - - - -
    -Package biweekly
    - -

    - - - - - -
    -Class biweekly.ICalException extends RuntimeException implements Serializable
    - -

    -


    - - - - - -
    -Package biweekly.io
    - -

    - - - - - -
    -Class biweekly.io.CannotParseException extends ICalException implements Serializable
    - -

    - -

    - - - - - -
    -Class biweekly.io.SkipMeException extends ICalException implements Serializable
    - -

    -


    - - - - - -
    -Package biweekly.io.json
    - -

    - - - - - -
    -Class biweekly.io.json.JCalParseException extends ICalException implements Serializable
    - -

    - - - - - -
    -Serialized Fields
    - -

    -expected

    -
    -JsonToken expected
    -
    -
    -
    -
    -
    -

    -actual

    -
    -JsonToken actual
    -
    -
    -
    -
    -
    - - - - - -
    -Package biweekly.io.text
    - -

    - - - - - -
    -Class biweekly.io.text.ICalRawReader.StopReadingException extends ICalException implements Serializable
    - -

    -


    - - - - - -
    -Package biweekly.util
    - -

    - - - - - -
    -Class biweekly.util.ICalFloatFormatter extends DecimalFormat implements Serializable
    - -

    - -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2013 Michael Angstadt. All Rights Reserved. - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainJsonReader.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainJsonReader.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainJsonReader.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainJsonString.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainJsonString.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainJsonString.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainTextReader.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainTextReader.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainTextReader.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainTextString.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainTextString.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainTextString.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlDocument.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlDocument.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlDocument.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlReader.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlReader.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlReader.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlString.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlString.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.ParserChainXmlString.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainJson.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainJson.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainJson.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainText.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainText.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainText.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainXml.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainXml.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.WriterChainXml.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.html deleted file mode 100644 index 6e42f011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/Biweekly.html +++ /dev/null @@ -1,1542 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.InputStream;
    -006    import java.io.OutputStream;
    -007    import java.io.Reader;
    -008    import java.io.StringWriter;
    -009    import java.io.Writer;
    -010    import java.util.ArrayList;
    -011    import java.util.Arrays;
    -012    import java.util.Collection;
    -013    import java.util.HashMap;
    -014    import java.util.List;
    -015    import java.util.Map;
    -016    import java.util.Properties;
    -017    
    -018    import javax.xml.transform.TransformerException;
    -019    
    -020    import org.w3c.dom.Document;
    -021    import org.xml.sax.SAXException;
    -022    
    -023    import biweekly.component.ICalComponent;
    -024    import biweekly.component.marshaller.ICalComponentMarshaller;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.json.JCalParseException;
    -027    import biweekly.io.json.JCalReader;
    -028    import biweekly.io.json.JCalWriter;
    -029    import biweekly.io.text.ICalRawReader;
    -030    import biweekly.io.text.ICalRawWriter;
    -031    import biweekly.io.text.ICalReader;
    -032    import biweekly.io.text.ICalWriter;
    -033    import biweekly.io.xml.XCalDocument;
    -034    import biweekly.property.ICalProperty;
    -035    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -036    import biweekly.util.IOUtils;
    -037    
    -038    import com.fasterxml.jackson.core.JsonParseException;
    -039    
    -040    /*
    -041     Copyright (c) 2013, Michael Angstadt
    -042     All rights reserved.
    -043    
    -044     Redistribution and use in source and binary forms, with or without
    -045     modification, are permitted provided that the following conditions are met: 
    -046    
    -047     1. Redistributions of source code must retain the above copyright notice, this
    -048     list of conditions and the following disclaimer. 
    -049     2. Redistributions in binary form must reproduce the above copyright notice,
    -050     this list of conditions and the following disclaimer in the documentation
    -051     and/or other materials provided with the distribution. 
    -052    
    -053     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -054     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -055     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -056     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -057     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -058     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -059     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -060     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -061     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -062     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -063     */
    -064    
    -065    /**
    -066     * <p>
    -067     * Contains static chaining factory methods for reading/writing iCalendar
    -068     * objects.
    -069     * </p>
    -070     * 
    -071     * <p>
    -072     * <b>Writing an iCalendar object</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * ICalendar ical = new ICalendar();
    -076     * 
    -077     * //string
    -078     * String icalString = Biweekly.write(ical).go();
    -079     * 
    -080     * //file
    -081     * File file = new File("meeting.ics");
    -082     * Biweekly.write(ical).go(file);
    -083     * 
    -084     * //output stream
    -085     * OutputStream out = ...
    -086     * Biweekly.write(ical).go(out);
    -087     * out.close();
    -088     * 
    -089     * //writer (should be configured to use UTF-8 encoding)
    -090     * Writer writer = ...
    -091     * Biweekly.write(ical).go(writer);
    -092     * writer.close();
    -093     * </pre>
    -094     * 
    -095     * </p>
    -096     * 
    -097     * <p>
    -098     * <b>Writing multiple iCalendar objects</b>
    -099     * 
    -100     * <pre class="brush:java">
    -101     * ICalendar ical1 = new ICalendar();
    -102     * ICalendar ical2 = new ICalendar();
    -103     * 
    -104     * String icalString = Biweekly.write(ical1, ical2).go();
    -105     * </pre>
    -106     * 
    -107     * </p>
    -108     * 
    -109     * <p>
    -110     * <b>Writing an XML-encoded iCalendar object (xCal)</b><br>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //Call writeXml() instead of write()
    -114     * ICalendar ical = new ICalendar();
    -115     * String xml = Biweekly.writeXml(ical).indent(2).go();
    -116     * </pre>
    -117     * 
    -118     * </p>
    -119     * 
    -120     * <p>
    -121     * <b>Writing a JSON-encoded iCalendar object (jCal)</b><br>
    -122     * 
    -123     * <pre class="brush:java">
    -124     * //Call writeJson() instead of write()
    -125     * ICalendar ical = new ICalendar();
    -126     * String json = Biweekly.writeJson(ical).go();
    -127     * </pre>
    -128     * 
    -129     * </p>
    -130     * 
    -131     * <p>
    -132     * <b>Reading an iCalendar object</b>
    -133     * 
    -134     * <pre class="brush:java">
    -135     * ICalendar ical;
    -136     * 
    -137     * //string
    -138     * String icalStr = ...
    -139     * ical = Biweekly.parse(icalStr).first();
    -140     * 
    -141     * //file
    -142     * File file = new File("meeting.ics");
    -143     * ical = Biweekly.parse(file).first();
    -144     * 
    -145     * //input stream
    -146     * InputStream in = ...
    -147     * ical = Biweekly.parse(in).first();
    -148     * in.close();  
    -149     * 
    -150     * //reader (should be configured to read UTF-8)
    -151     * Reader reader = ...
    -152     * ical = Biweekly.parse(reader).first();
    -153     * reader.close();
    -154     * </pre>
    -155     * 
    -156     * </p>
    -157     * 
    -158     * <p>
    -159     * <b>Reading multiple iCalendar objects</b>
    -160     * 
    -161     * <pre class="brush:java">
    -162     * String icalStr = ...
    -163     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).all();
    -164     * </pre>
    -165     * 
    -166     * </p>
    -167     * 
    -168     * <p>
    -169     * <b>Reading an XML-encoded iCalendar object (xCal)</b><br>
    -170     * 
    -171     * <pre class="brush:java">
    -172     * //Call parseXml() instead of parse()
    -173     * String xml = ...
    -174     * ICalendar ical = Biweekly.parseXml(xml).first();
    -175     * </pre>
    -176     * 
    -177     * </p>
    -178     * 
    -179     * <p>
    -180     * <b>Reading a JSON-encoded iCalendar object (Cal)</b><br>
    -181     * 
    -182     * <pre class="brush:java">
    -183     * //Call parseJson() instead of parse()
    -184     * String json = ...
    -185     * ICalendar ical = Biweekly.parseJson(json).first();
    -186     * </pre>
    -187     * 
    -188     * </p>
    -189     * 
    -190     * <p>
    -191     * <b>Retrieving parser warnings</b>
    -192     * 
    -193     * <pre class="brush:java">
    -194     * String icalStr = ...
    -195     * List&lt;List&lt;String&gt;&gt; warnings = new ArrayList&lt;List&lt;String&gt;&gt;();
    -196     * List&lt;ICalendar&gt; icals = Biweekly.parse(icalStr).warnings(warnings).all();
    -197     * int i = 0;
    -198     * for (List&lt;String&gt; icalWarnings : warnings){
    -199     *   System.out.println("iCal #" + (i++) + " warnings:");
    -200     *   for (String warning : icalWarnings){
    -201     *     System.out.println(warning);
    -202     *   }
    -203     * }
    -204     * </pre>
    -205     * 
    -206     * </p>
    -207     * 
    -208     * <p>
    -209     * The methods in this class make use of the following classes. These classes
    -210     * can be used if greater control over the read/write operation is required:
    -211     * </p>
    -212     * 
    -213     * <style> table.t td, table.t th {border:1px solid #000;} </style>
    -214     * <table class="t" cellpadding="5" style="border-collapse:collapse;">
    -215     * <tr>
    -216     * <th></th>
    -217     * <th>Classes</th>
    -218     * <th>Supports<br>
    -219     * streaming?</th>
    -220     * </tr>
    -221     * <tr>
    -222     * <th>Text</th>
    -223     * <td>{@link ICalReader} / {@link ICalWriter}</td>
    -224     * <td>yes</td>
    -225     * </tr>
    -226     * <tr>
    -227     * <th>XML</th>
    -228     * <td>{@link XCalDocument}</td>
    -229     * <td>no</td>
    -230     * </tr>
    -231     * <tr>
    -232     * <th>JSON</th>
    -233     * <td>{@link JCalReader} / {@link JCalWriter}</td>
    -234     * <td>yes</td>
    -235     * </tr>
    -236     * </table>
    -237     * @author Michael Angstadt
    -238     */
    -239    public class Biweekly {
    -240            /**
    -241             * The version of the library.
    -242             */
    -243            public static final String VERSION;
    -244    
    -245            /**
    -246             * The project webpage.
    -247             */
    -248            public static final String URL;
    -249    
    -250            static {
    -251                    InputStream in = null;
    -252                    try {
    -253                            in = Biweekly.class.getResourceAsStream("/biweekly.properties");
    -254                            Properties props = new Properties();
    -255                            props.load(in);
    -256    
    -257                            VERSION = props.getProperty("version");
    -258                            URL = props.getProperty("url");
    -259                    } catch (IOException e) {
    -260                            throw new RuntimeException(e);
    -261                    } finally {
    -262                            IOUtils.closeQuietly(in);
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Parses an iCalendar object string.
    -268             * @param ical the iCalendar data
    -269             * @return chainer object for completing the parse operation
    -270             */
    -271            public static ParserChainTextString parse(String ical) {
    -272                    return new ParserChainTextString(ical);
    -273            }
    -274    
    -275            /**
    -276             * Parses an iCalendar file.
    -277             * @param file the iCalendar file
    -278             * @return chainer object for completing the parse operation
    -279             */
    -280            public static ParserChainTextReader parse(File file) {
    -281                    return new ParserChainTextReader(file);
    -282            }
    -283    
    -284            /**
    -285             * Parses an iCalendar data stream.
    -286             * @param in the input stream
    -287             * @return chainer object for completing the parse operation
    -288             */
    -289            public static ParserChainTextReader parse(InputStream in) {
    -290                    return new ParserChainTextReader(in);
    -291            }
    -292    
    -293            /**
    -294             * Parses an iCalendar data stream.
    -295             * @param reader the reader
    -296             * @return chainer object for completing the parse operation
    -297             */
    -298            public static ParserChainTextReader parse(Reader reader) {
    -299                    return new ParserChainTextReader(reader);
    -300            }
    -301    
    -302            /**
    -303             * Writes multiple iCalendar objects to a data stream.
    -304             * @param icals the iCalendar objects to write
    -305             * @return chainer object for completing the write operation
    -306             */
    -307            public static WriterChainText write(ICalendar... icals) {
    -308                    return write(Arrays.asList(icals));
    -309            }
    -310    
    -311            /**
    -312             * Writes multiple iCalendar objects to a data stream.
    -313             * @param icals the iCalendar objects to write
    -314             * @return chainer object for completing the write operation
    -315             */
    -316            public static WriterChainText write(Collection<ICalendar> icals) {
    -317                    return new WriterChainText(icals);
    -318            }
    -319    
    -320            /**
    -321             * Parses an xCal document (XML-encoded iCalendar objects) from a string.
    -322             * @param xml the XML string
    -323             * @return chainer object for completing the parse operation
    -324             */
    -325            public static ParserChainXmlString parseXml(String xml) {
    -326                    return new ParserChainXmlString(xml);
    -327            }
    -328    
    -329            /**
    -330             * Parses an xCal document (XML-encoded iCalendar objects) from a file.
    -331             * @param file the XML file
    -332             * @return chainer object for completing the parse operation
    -333             */
    -334            public static ParserChainXmlReader parseXml(File file) {
    -335                    return new ParserChainXmlReader(file);
    -336            }
    -337    
    -338            /**
    -339             * Parses an xCal document (XML-encoded iCalendar objects) from an input
    -340             * stream.
    -341             * @param in the input stream
    -342             * @return chainer object for completing the parse operation
    -343             */
    -344            public static ParserChainXmlReader parseXml(InputStream in) {
    -345                    return new ParserChainXmlReader(in);
    -346            }
    -347    
    -348            /**
    -349             * <p>
    -350             * Parses an xCal document (XML-encoded iCalendar objects) from a reader.
    -351             * </p>
    -352             * <p>
    -353             * Note that use of this method is discouraged. It ignores the character
    -354             * encoding that is defined within the XML document itself, and should only
    -355             * be used if the encoding is undefined or if the encoding needs to be
    -356             * ignored for whatever reason. The {@link #parseXml(InputStream)} method
    -357             * should be used instead, since it takes the XML document's character
    -358             * encoding into account when parsing.
    -359             * </p>
    -360             * @param reader the reader
    -361             * @return chainer object for completing the parse operation
    -362             */
    -363            public static ParserChainXmlReader parseXml(Reader reader) {
    -364                    return new ParserChainXmlReader(reader);
    -365            }
    -366    
    -367            /**
    -368             * Parses an xCal document (XML-encoded iCalendar objects).
    -369             * @param document the XML document
    -370             * @return chainer object for completing the parse operation
    -371             */
    -372            public static ParserChainXmlDocument parseXml(Document document) {
    -373                    return new ParserChainXmlDocument(document);
    -374            }
    -375    
    -376            /**
    -377             * Writes an xCal document (XML-encoded iCalendar objects).
    -378             * @param icals the iCalendar object(s) to write
    -379             * @return chainer object for completing the write operation
    -380             */
    -381            public static WriterChainXml writeXml(ICalendar... icals) {
    -382                    return writeXml(Arrays.asList(icals));
    -383            }
    -384    
    -385            /**
    -386             * Writes an xCal document (XML-encoded iCalendar objects).
    -387             * @param icals the iCalendar objects to write
    -388             * @return chainer object for completing the write operation
    -389             */
    -390            public static WriterChainXml writeXml(Collection<ICalendar> icals) {
    -391                    return new WriterChainXml(icals);
    -392            }
    -393    
    -394            /**
    -395             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -396             * @param json the JSON data
    -397             * @return chainer object for completing the parse operation
    -398             */
    -399            public static ParserChainJsonString parseJson(String json) {
    -400                    return new ParserChainJsonString(json);
    -401            }
    -402    
    -403            /**
    -404             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -405             * @param file the JSON file
    -406             * @return chainer object for completing the parse operation
    -407             */
    -408            public static ParserChainJsonReader parseJson(File file) {
    -409                    return new ParserChainJsonReader(file);
    -410            }
    -411    
    -412            /**
    -413             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -414             * @param in the input stream
    -415             * @return chainer object for completing the parse operation
    -416             */
    -417            public static ParserChainJsonReader parseJson(InputStream in) {
    -418                    return new ParserChainJsonReader(in);
    -419            }
    -420    
    -421            /**
    -422             * Parses a jCal data stream (JSON-encoded iCalendar objects).
    -423             * @param reader the reader
    -424             * @return chainer object for completing the parse operation
    -425             */
    -426            public static ParserChainJsonReader parseJson(Reader reader) {
    -427                    return new ParserChainJsonReader(reader);
    -428            }
    -429    
    -430            /**
    -431             * Writes an xCal document (XML-encoded iCalendar objects).
    -432             * @param icals the iCalendar object(s) to write
    -433             * @return chainer object for completing the write operation
    -434             */
    -435            public static WriterChainJson writeJson(ICalendar... icals) {
    -436                    return writeJson(Arrays.asList(icals));
    -437            }
    -438    
    -439            /**
    -440             * Writes an xCal document (XML-encoded iCalendar objects).
    -441             * @param icals the iCalendar objects to write
    -442             * @return chainer object for completing the write operation
    -443             */
    -444            public static WriterChainJson writeJson(Collection<ICalendar> icals) {
    -445                    return new WriterChainJson(icals);
    -446            }
    -447    
    -448            static abstract class ParserChain<T> {
    -449                    //Note: "package" level is used so various fields/methods don't show up in the Javadocs, but are still visible to child classes
    -450                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -451    
    -452                    @SuppressWarnings("unchecked")
    -453                    final T this_ = (T) this;
    -454    
    -455                    List<List<String>> warnings;
    -456    
    -457                    /**
    -458                     * Registers a property marshaller.
    -459                     * @param marshaller the marshaller
    -460                     * @return this
    -461                     */
    -462                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -463                            registrar.register(marshaller);
    -464                            return this_;
    -465                    }
    -466    
    -467                    /**
    -468                     * Registers a component marshaller.
    -469                     * @param marshaller the marshaller
    -470                     * @return this
    -471                     */
    -472                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -473                            registrar.register(marshaller);
    -474                            return this_;
    -475                    }
    -476    
    -477                    /**
    -478                     * Provides a list for putting the parser warnings into.
    -479                     * @param warnings the list object to populate (it is a
    -480                     * "list of lists"--each parsed {@link ICalendar} object has its own
    -481                     * warnings list)
    -482                     * @return this
    -483                     */
    -484                    public T warnings(List<List<String>> warnings) {
    -485                            this.warnings = warnings;
    -486                            return this_;
    -487                    }
    -488    
    -489                    /**
    -490                     * Reads the first iCalendar object from the data stream.
    -491                     * @return the first iCalendar object or null if there are none
    -492                     * @throws IOException if there a problem reading from the data stream
    -493                     * @throws SAXException if there's a problem parsing the XML
    -494                     */
    -495                    public abstract ICalendar first() throws IOException, SAXException;
    -496    
    -497                    /**
    -498                     * Reads all iCalendar objects from the data stream.
    -499                     * @return the parsed iCalendar objects
    -500                     * @throws IOException if there's a problem reading from the data stream
    -501                     * @throws SAXException if there's a problem parsing the XML
    -502                     */
    -503                    public abstract List<ICalendar> all() throws IOException, SAXException;
    -504            }
    -505    
    -506            ///////////////////////////////////////////////////////
    -507            // plain-text
    -508            ///////////////////////////////////////////////////////
    -509    
    -510            static abstract class ParserChainText<T> extends ParserChain<T> {
    -511                    boolean caretDecoding = true;
    -512                    final boolean closeWhenDone;
    -513    
    -514                    private ParserChainText(boolean closeWhenDone) {
    -515                            this.closeWhenDone = closeWhenDone;
    -516                    }
    -517    
    -518                    /**
    -519                     * Sets whether the reader will decode parameter values that use
    -520                     * circumflex accent encoding (enabled by default). This escaping
    -521                     * mechanism allows newlines and double quotes to be included in
    -522                     * parameter values.
    -523                     * @param enable true to use circumflex accent decoding, false not to
    -524                     * @return this
    -525                     * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -526                     */
    -527                    public T caretDecoding(boolean enable) {
    -528                            caretDecoding = enable;
    -529                            return this_;
    -530                    }
    -531    
    -532                    @Override
    -533                    public ICalendar first() throws IOException {
    -534                            ICalReader parser = constructReader();
    -535    
    -536                            try {
    -537                                    ICalendar ical = parser.readNext();
    -538                                    if (warnings != null) {
    -539                                            warnings.add(parser.getWarnings());
    -540                                    }
    -541                                    return ical;
    -542                            } finally {
    -543                                    if (closeWhenDone) {
    -544                                            IOUtils.closeQuietly(parser);
    -545                                    }
    -546                            }
    -547                    }
    -548    
    -549                    @Override
    -550                    public List<ICalendar> all() throws IOException {
    -551                            ICalReader parser = constructReader();
    -552    
    -553                            try {
    -554                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -555                                    ICalendar ical;
    -556                                    while ((ical = parser.readNext()) != null) {
    -557                                            if (warnings != null) {
    -558                                                    warnings.add(parser.getWarnings());
    -559                                            }
    -560                                            icals.add(ical);
    -561                                    }
    -562                                    return icals;
    -563                            } finally {
    -564                                    if (closeWhenDone) {
    -565                                            IOUtils.closeQuietly(parser);
    -566                                    }
    -567                            }
    -568                    }
    -569    
    -570                    private ICalReader constructReader() throws IOException {
    -571                            ICalReader parser = _constructReader();
    -572                            parser.setRegistrar(registrar);
    -573                            parser.setCaretDecodingEnabled(caretDecoding);
    -574                            return parser;
    -575                    }
    -576    
    -577                    abstract ICalReader _constructReader() throws IOException;
    -578            }
    -579    
    -580            /**
    -581             * Chainer class for parsing plain text iCalendar data streams.
    -582             * @see Biweekly#parse(InputStream)
    -583             * @see Biweekly#parse(File)
    -584             * @see Biweekly#parse(Reader)
    -585             */
    -586            public static class ParserChainTextReader extends ParserChainText<ParserChainTextReader> {
    -587                    private final InputStream in;
    -588                    private final File file;
    -589                    private final Reader reader;
    -590    
    -591                    private ParserChainTextReader(InputStream in) {
    -592                            super(false);
    -593                            this.in = in;
    -594                            this.reader = null;
    -595                            this.file = null;
    -596                    }
    -597    
    -598                    private ParserChainTextReader(File file) {
    -599                            super(true);
    -600                            this.in = null;
    -601                            this.reader = null;
    -602                            this.file = file;
    -603                    }
    -604    
    -605                    private ParserChainTextReader(Reader reader) {
    -606                            super(false);
    -607                            this.in = null;
    -608                            this.reader = reader;
    -609                            this.file = null;
    -610                    }
    -611    
    -612                    @Override
    -613                    public ParserChainTextReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -614                            return super.register(marshaller);
    -615                    }
    -616    
    -617                    @Override
    -618                    public ParserChainTextReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -619                            return super.register(marshaller);
    -620                    }
    -621    
    -622                    @Override
    -623                    public ParserChainTextReader warnings(List<List<String>> warnings) {
    -624                            return super.warnings(warnings);
    -625                    }
    -626    
    -627                    @Override
    -628                    public ParserChainTextReader caretDecoding(boolean enable) {
    -629                            return super.caretDecoding(enable);
    -630                    }
    -631    
    -632                    @Override
    -633                    ICalReader _constructReader() throws IOException {
    -634                            if (in != null) {
    -635                                    return new ICalReader(in);
    -636                            }
    -637                            if (file != null) {
    -638                                    return new ICalReader(file);
    -639                            }
    -640                            return new ICalReader(reader);
    -641                    }
    -642            }
    -643    
    -644            /**
    -645             * Chainer class for parsing plain text iCalendar strings.
    -646             * @see Biweekly#parse(String)
    -647             */
    -648            public static class ParserChainTextString extends ParserChainText<ParserChainTextString> {
    -649                    private final String text;
    -650    
    -651                    private ParserChainTextString(String text) {
    -652                            super(false);
    -653                            this.text = text;
    -654                    }
    -655    
    -656                    @Override
    -657                    public ParserChainTextString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -658                            return super.register(marshaller);
    -659                    }
    -660    
    -661                    @Override
    -662                    public ParserChainTextString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -663                            return super.register(marshaller);
    -664                    }
    -665    
    -666                    @Override
    -667                    public ParserChainTextString warnings(List<List<String>> warnings) {
    -668                            return super.warnings(warnings);
    -669                    }
    -670    
    -671                    @Override
    -672                    public ParserChainTextString caretDecoding(boolean enable) {
    -673                            return super.caretDecoding(enable);
    -674                    }
    -675    
    -676                    @Override
    -677                    ICalReader _constructReader() {
    -678                            return new ICalReader(text);
    -679                    }
    -680    
    -681                    @Override
    -682                    public ICalendar first() {
    -683                            try {
    -684                                    return super.first();
    -685                            } catch (IOException e) {
    -686                                    //should never been thrown because we're reading from a string
    -687                                    throw new RuntimeException(e);
    -688                            }
    -689                    }
    -690    
    -691                    @Override
    -692                    public List<ICalendar> all() {
    -693                            try {
    -694                                    return super.all();
    -695                            } catch (IOException e) {
    -696                                    //should never been thrown because we're reading from a string
    -697                                    throw new RuntimeException(e);
    -698                            }
    -699                    }
    -700            }
    -701    
    -702            ///////////////////////////////////////////////////////
    -703            // XML
    -704            ///////////////////////////////////////////////////////
    -705    
    -706            static abstract class ParserChainXml<T> extends ParserChain<T> {
    -707                    @Override
    -708                    public ICalendar first() throws IOException, SAXException {
    -709                            XCalDocument document = constructDocument();
    -710                            ICalendar ical = document.parseFirst();
    -711                            if (warnings != null) {
    -712                                    warnings.addAll(document.getParseWarnings());
    -713                            }
    -714                            return ical;
    -715                    }
    -716    
    -717                    @Override
    -718                    public List<ICalendar> all() throws IOException, SAXException {
    -719                            XCalDocument document = constructDocument();
    -720                            List<ICalendar> icals = document.parseAll();
    -721                            if (warnings != null) {
    -722                                    warnings.addAll(document.getParseWarnings());
    -723                            }
    -724                            return icals;
    -725                    }
    -726    
    -727                    private XCalDocument constructDocument() throws SAXException, IOException {
    -728                            XCalDocument parser = _constructDocument();
    -729                            parser.setRegistrar(registrar);
    -730                            return parser;
    -731                    }
    -732    
    -733                    abstract XCalDocument _constructDocument() throws IOException, SAXException;
    -734            }
    -735    
    -736            /**
    -737             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -738             * @see Biweekly#parseXml(String)
    -739             */
    -740            public static class ParserChainXmlString extends ParserChainXml<ParserChainXmlString> {
    -741                    private final String xml;
    -742    
    -743                    private ParserChainXmlString(String xml) {
    -744                            this.xml = xml;
    -745                    }
    -746    
    -747                    @Override
    -748                    public ParserChainXmlString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -749                            return super.register(marshaller);
    -750                    }
    -751    
    -752                    @Override
    -753                    public ParserChainXmlString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -754                            return super.register(marshaller);
    -755                    }
    -756    
    -757                    @Override
    -758                    public ParserChainXmlString warnings(List<List<String>> warnings) {
    -759                            return super.warnings(warnings);
    -760                    }
    -761    
    -762                    @Override
    -763                    XCalDocument _constructDocument() throws SAXException {
    -764                            return new XCalDocument(xml);
    -765                    }
    -766    
    -767                    @Override
    -768                    public ICalendar first() throws SAXException {
    -769                            try {
    -770                                    return super.first();
    -771                            } catch (IOException e) {
    -772                                    //should never been thrown because we're reading from a string
    -773                                    throw new RuntimeException(e);
    -774                            }
    -775                    }
    -776    
    -777                    @Override
    -778                    public List<ICalendar> all() throws SAXException {
    -779                            try {
    -780                                    return super.all();
    -781                            } catch (IOException e) {
    -782                                    //should never been thrown because we're reading from a string
    -783                                    throw new RuntimeException(e);
    -784                            }
    -785                    }
    -786            }
    -787    
    -788            /**
    -789             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -790             * @see Biweekly#parseXml(InputStream)
    -791             * @see Biweekly#parseXml(File)
    -792             * @see Biweekly#parseXml(Reader)
    -793             */
    -794            public static class ParserChainXmlReader extends ParserChainXml<ParserChainXmlReader> {
    -795                    private final InputStream in;
    -796                    private final File file;
    -797                    private final Reader reader;
    -798    
    -799                    private ParserChainXmlReader(InputStream in) {
    -800                            this.in = in;
    -801                            this.reader = null;
    -802                            this.file = null;
    -803                    }
    -804    
    -805                    private ParserChainXmlReader(File file) {
    -806                            this.in = null;
    -807                            this.reader = null;
    -808                            this.file = file;
    -809                    }
    -810    
    -811                    private ParserChainXmlReader(Reader reader) {
    -812                            this.in = null;
    -813                            this.reader = reader;
    -814                            this.file = null;
    -815                    }
    -816    
    -817                    @Override
    -818                    public ParserChainXmlReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -819                            return super.register(marshaller);
    -820                    }
    -821    
    -822                    @Override
    -823                    public ParserChainXmlReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -824                            return super.register(marshaller);
    -825                    }
    -826    
    -827                    @Override
    -828                    public ParserChainXmlReader warnings(List<List<String>> warnings) {
    -829                            return super.warnings(warnings);
    -830                    }
    -831    
    -832                    @Override
    -833                    XCalDocument _constructDocument() throws IOException, SAXException {
    -834                            if (in != null) {
    -835                                    return new XCalDocument(in);
    -836                            }
    -837                            if (file != null) {
    -838                                    return new XCalDocument(file);
    -839                            }
    -840                            return new XCalDocument(reader);
    -841                    }
    -842            }
    -843    
    -844            /**
    -845             * Chainer class for parsing XML-encoded iCalendar objects (xCal).
    -846             * @see Biweekly#parseXml(Document)
    -847             */
    -848            public static class ParserChainXmlDocument extends ParserChainXml<ParserChainXmlDocument> {
    -849                    private final Document document;
    -850    
    -851                    private ParserChainXmlDocument(Document document) {
    -852                            this.document = document;
    -853                    }
    -854    
    -855                    @Override
    -856                    public ParserChainXmlDocument register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -857                            return super.register(marshaller);
    -858                    }
    -859    
    -860                    @Override
    -861                    public ParserChainXmlDocument register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -862                            return super.register(marshaller);
    -863                    }
    -864    
    -865                    @Override
    -866                    public ParserChainXmlDocument warnings(List<List<String>> warnings) {
    -867                            return super.warnings(warnings);
    -868                    }
    -869    
    -870                    @Override
    -871                    XCalDocument _constructDocument() {
    -872                            return new XCalDocument(document);
    -873                    }
    -874    
    -875                    @Override
    -876                    public ICalendar first() {
    -877                            try {
    -878                                    return super.first();
    -879                            } catch (IOException e) {
    -880                                    //should never been thrown because we're reading from a DOM
    -881                                    throw new RuntimeException(e);
    -882                            } catch (SAXException e) {
    -883                                    //should never been thrown because we're reading from a DOM
    -884                                    throw new RuntimeException(e);
    -885                            }
    -886                    }
    -887    
    -888                    @Override
    -889                    public List<ICalendar> all() {
    -890                            try {
    -891                                    return super.all();
    -892                            } catch (IOException e) {
    -893                                    //should never been thrown because we're reading from a DOM
    -894                                    throw new RuntimeException(e);
    -895                            } catch (SAXException e) {
    -896                                    //should never been thrown because we're reading from a DOM
    -897                                    throw new RuntimeException(e);
    -898                            }
    -899                    }
    -900            }
    -901    
    -902            ///////////////////////////////////////////////////////
    -903            // JSON
    -904            ///////////////////////////////////////////////////////
    -905    
    -906            static abstract class ParserChainJson<T> extends ParserChain<T> {
    -907                    final boolean closeWhenDone;
    -908    
    -909                    private ParserChainJson(boolean closeWhenDone) {
    -910                            this.closeWhenDone = closeWhenDone;
    -911                    }
    -912    
    -913                    /**
    -914                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -915                     * syntax may be valid, but it is not in the correct jCal format).
    -916                     * @throws JsonParseException if the JSON syntax is incorrect
    -917                     */
    -918                    @Override
    -919                    public ICalendar first() throws IOException {
    -920                            JCalReader parser = constructReader();
    -921    
    -922                            try {
    -923                                    ICalendar ical = parser.readNext();
    -924                                    if (warnings != null) {
    -925                                            warnings.add(parser.getWarnings());
    -926                                    }
    -927                                    return ical;
    -928                            } finally {
    -929                                    if (closeWhenDone) {
    -930                                            IOUtils.closeQuietly(parser);
    -931                                    }
    -932                            }
    -933                    }
    -934    
    -935                    /**
    -936                     * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -937                     * syntax may be valid, but it is not in the correct jCal format).
    -938                     * @throws JsonParseException if the JSON syntax is incorrect
    -939                     */
    -940                    @Override
    -941                    public List<ICalendar> all() throws IOException {
    -942                            JCalReader parser = constructReader();
    -943    
    -944                            try {
    -945                                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -946                                    ICalendar ical;
    -947                                    while ((ical = parser.readNext()) != null) {
    -948                                            if (warnings != null) {
    -949                                                    warnings.add(parser.getWarnings());
    -950                                            }
    -951                                            icals.add(ical);
    -952                                    }
    -953                                    return icals;
    -954                            } finally {
    -955                                    if (closeWhenDone) {
    -956                                            IOUtils.closeQuietly(parser);
    -957                                    }
    -958                            }
    -959                    }
    -960    
    -961                    private JCalReader constructReader() throws IOException {
    -962                            JCalReader parser = _constructReader();
    -963                            parser.setRegistrar(registrar);
    -964                            return parser;
    -965                    }
    -966    
    -967                    abstract JCalReader _constructReader() throws IOException;
    -968            }
    -969    
    -970            /**
    -971             * Chainer class for parsing JSON-encoded iCalendar data streams (jCal).
    -972             * @see Biweekly#parseJson(InputStream)
    -973             * @see Biweekly#parseJson(File)
    -974             * @see Biweekly#parseJson(Reader)
    -975             */
    -976            public static class ParserChainJsonReader extends ParserChainJson<ParserChainJsonReader> {
    -977                    private final InputStream in;
    -978                    private final File file;
    -979                    private final Reader reader;
    -980    
    -981                    private ParserChainJsonReader(InputStream in) {
    -982                            super(false);
    -983                            this.in = in;
    -984                            this.reader = null;
    -985                            this.file = null;
    -986                    }
    -987    
    -988                    private ParserChainJsonReader(File file) {
    -989                            super(true);
    -990                            this.in = null;
    -991                            this.reader = null;
    -992                            this.file = file;
    -993                    }
    -994    
    -995                    private ParserChainJsonReader(Reader reader) {
    -996                            super(false);
    -997                            this.in = null;
    -998                            this.reader = reader;
    -999                            this.file = null;
    -1000                    }
    -1001    
    -1002                    @Override
    -1003                    public ParserChainJsonReader register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1004                            return super.register(marshaller);
    -1005                    }
    -1006    
    -1007                    @Override
    -1008                    public ParserChainJsonReader register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1009                            return super.register(marshaller);
    -1010                    }
    -1011    
    -1012                    @Override
    -1013                    public ParserChainJsonReader warnings(List<List<String>> warnings) {
    -1014                            return super.warnings(warnings);
    -1015                    }
    -1016    
    -1017                    @Override
    -1018                    JCalReader _constructReader() throws IOException {
    -1019                            if (in != null) {
    -1020                                    return new JCalReader(in);
    -1021                            }
    -1022                            if (file != null) {
    -1023                                    return new JCalReader(file);
    -1024                            }
    -1025                            return new JCalReader(reader);
    -1026                    }
    -1027            }
    -1028    
    -1029            /**
    -1030             * Chainer class for parsing JSON-encoded iCalendar strings (jCal).
    -1031             * @see Biweekly#parseJson(String)
    -1032             */
    -1033            public static class ParserChainJsonString extends ParserChainJson<ParserChainJsonString> {
    -1034                    private final String text;
    -1035    
    -1036                    private ParserChainJsonString(String text) {
    -1037                            super(false);
    -1038                            this.text = text;
    -1039                    }
    -1040    
    -1041                    @Override
    -1042                    public ParserChainJsonString register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1043                            return super.register(marshaller);
    -1044                    }
    -1045    
    -1046                    @Override
    -1047                    public ParserChainJsonString register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1048                            return super.register(marshaller);
    -1049                    }
    -1050    
    -1051                    @Override
    -1052                    public ParserChainJsonString warnings(List<List<String>> warnings) {
    -1053                            return super.warnings(warnings);
    -1054                    }
    -1055    
    -1056                    @Override
    -1057                    JCalReader _constructReader() {
    -1058                            return new JCalReader(text);
    -1059                    }
    -1060    
    -1061                    @Override
    -1062                    public ICalendar first() {
    -1063                            try {
    -1064                                    return super.first();
    -1065                            } catch (IOException e) {
    -1066                                    //should never been thrown because we're reading from a string
    -1067                                    throw new RuntimeException(e);
    -1068                            }
    -1069                    }
    -1070    
    -1071                    @Override
    -1072                    public List<ICalendar> all() {
    -1073                            try {
    -1074                                    return super.all();
    -1075                            } catch (IOException e) {
    -1076                                    //should never been thrown because we're reading from a string
    -1077                                    throw new RuntimeException(e);
    -1078                            }
    -1079                    }
    -1080            }
    -1081    
    -1082            static abstract class WriterChain<T> {
    -1083                    final Collection<ICalendar> icals;
    -1084                    final ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -1085    
    -1086                    @SuppressWarnings("unchecked")
    -1087                    final T this_ = (T) this;
    -1088    
    -1089                    WriterChain(Collection<ICalendar> icals) {
    -1090                            this.icals = icals;
    -1091                    }
    -1092    
    -1093                    /**
    -1094                     * Registers a property marshaller.
    -1095                     * @param marshaller the marshaller
    -1096                     * @return this
    -1097                     */
    -1098                    public T register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1099                            registrar.register(marshaller);
    -1100                            return this_;
    -1101                    }
    -1102    
    -1103                    /**
    -1104                     * Registers a component marshaller.
    -1105                     * @param marshaller the marshaller
    -1106                     * @return this
    -1107                     */
    -1108                    public T register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1109                            registrar.register(marshaller);
    -1110                            return this_;
    -1111                    }
    -1112            }
    -1113    
    -1114            ///////////////////////////////////////////////////////
    -1115            // plain-text
    -1116            ///////////////////////////////////////////////////////
    -1117    
    -1118            /**
    -1119             * Chainer class for writing to plain text iCalendar data streams.
    -1120             * @see Biweekly#write(Collection)
    -1121             * @see Biweekly#write(ICalendar...)
    -1122             */
    -1123            public static class WriterChainText extends WriterChain<WriterChainText> {
    -1124                    boolean caretEncoding = false;
    -1125    
    -1126                    private WriterChainText(Collection<ICalendar> icals) {
    -1127                            super(icals);
    -1128                    }
    -1129    
    -1130                    /**
    -1131                     * <p>
    -1132                     * Sets whether the writer will apply circumflex accent encoding on
    -1133                     * parameter values (disabled by default). This escaping mechanism
    -1134                     * allows for newlines and double quotes to be included in parameter
    -1135                     * values.
    -1136                     * </p>
    -1137                     * 
    -1138                     * <p>
    -1139                     * When disabled, the writer will replace newlines with spaces and
    -1140                     * double quotes with single quotes.
    -1141                     * </p>
    -1142                     * @param enable true to use circumflex accent encoding, false not to
    -1143                     * @return this
    -1144                     * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -1145                     */
    -1146                    public WriterChainText caretEncoding(boolean enable) {
    -1147                            this.caretEncoding = enable;
    -1148                            return this_;
    -1149                    }
    -1150    
    -1151                    /**
    -1152                     * Writes the iCalendar objects to a string.
    -1153                     * @return the iCalendar string
    -1154                     * @throws IllegalArgumentException if the marshaller class for a
    -1155                     * component or property object cannot be found (only happens when an
    -1156                     * experimental property/component marshaller is not registered with the
    -1157                     * {@code register} method.)
    -1158                     */
    -1159                    public String go() {
    -1160                            StringWriter sw = new StringWriter();
    -1161                            try {
    -1162                                    go(sw);
    -1163                            } catch (IOException e) {
    -1164                                    //writing to a string
    -1165                            }
    -1166                            return sw.toString();
    -1167                    }
    -1168    
    -1169                    /**
    -1170                     * Writes the iCalendar objects to a data stream.
    -1171                     * @param out the output stream to write to
    -1172                     * @throws IllegalArgumentException if the marshaller class for a
    -1173                     * component or property object cannot be found (only happens when an
    -1174                     * experimental property/component marshaller is not registered with the
    -1175                     * {@code register} method.)
    -1176                     * @throws IOException if there's a problem writing to the output stream
    -1177                     */
    -1178                    public void go(OutputStream out) throws IOException {
    -1179                            go(new ICalWriter(out));
    -1180                    }
    -1181    
    -1182                    /**
    -1183                     * Writes the iCalendar objects to a file.
    -1184                     * @param file the file to write to
    -1185                     * @throws IllegalArgumentException if the marshaller class for a
    -1186                     * component or property object cannot be found (only happens when an
    -1187                     * experimental property/component marshaller is not registered with the
    -1188                     * {@code register} method.)
    -1189                     * @throws IOException if there's a problem writing to the file
    -1190                     */
    -1191                    public void go(File file) throws IOException {
    -1192                            go(file, false);
    -1193                    }
    -1194    
    -1195                    /**
    -1196                     * Writes the iCalendar objects to a file.
    -1197                     * @param file the file to write to
    -1198                     * @param append true to append to the end of the file, false to
    -1199                     * overwrite it
    -1200                     * @throws IllegalArgumentException if the marshaller class for a
    -1201                     * component or property object cannot be found (only happens when an
    -1202                     * experimental property/component marshaller is not registered with the
    -1203                     * {@code register} method.)
    -1204                     * @throws IOException if there's a problem writing to the file
    -1205                     */
    -1206                    public void go(File file, boolean append) throws IOException {
    -1207                            ICalWriter icalWriter = new ICalWriter(file, append);
    -1208                            try {
    -1209                                    go(icalWriter);
    -1210                            } finally {
    -1211                                    IOUtils.closeQuietly(icalWriter);
    -1212                            }
    -1213                    }
    -1214    
    -1215                    /**
    -1216                     * Writes the iCalendar objects to a data stream.
    -1217                     * @param writer the writer to write to
    -1218                     * @throws IllegalArgumentException if the marshaller class for a
    -1219                     * component or property object cannot be found (only happens when an
    -1220                     * experimental property/component marshaller is not registered with the
    -1221                     * {@code register} method.)
    -1222                     * @throws IOException if there's a problem writing to the writer
    -1223                     */
    -1224                    public void go(Writer writer) throws IOException {
    -1225                            go(new ICalWriter(writer));
    -1226                    }
    -1227    
    -1228                    private void go(ICalWriter icalWriter) throws IOException {
    -1229                            icalWriter.setRegistrar(registrar);
    -1230                            icalWriter.setCaretEncodingEnabled(caretEncoding);
    -1231    
    -1232                            for (ICalendar ical : icals) {
    -1233                                    icalWriter.write(ical);
    -1234                            }
    -1235                    }
    -1236            }
    -1237    
    -1238            ///////////////////////////////////////////////////////
    -1239            // XML
    -1240            ///////////////////////////////////////////////////////
    -1241    
    -1242            /**
    -1243             * Chainer class for writing xCal documents (XML-encoded iCalendar objects).
    -1244             * @see Biweekly#writeXml(Collection)
    -1245             * @see Biweekly#writeXml(ICalendar...)
    -1246             */
    -1247            public static class WriterChainXml extends WriterChain<WriterChainXml> {
    -1248                    int indent = -1;
    -1249                    final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>(0);
    -1250    
    -1251                    WriterChainXml(Collection<ICalendar> icals) {
    -1252                            super(icals);
    -1253                    }
    -1254    
    -1255                    @Override
    -1256                    public WriterChainXml register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -1257                            return super.register(marshaller);
    -1258                    }
    -1259    
    -1260                    @Override
    -1261                    public WriterChainXml register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -1262                            return super.register(marshaller);
    -1263                    }
    -1264    
    -1265                    /**
    -1266                     * Registers the data type of an experimental parameter. Experimental
    -1267                     * parameters use the "unknown" xCal data type by default.
    -1268                     * @param parameterName the parameter name (e.g. "x-foo")
    -1269                     * @param dataType the data type
    -1270                     * @return this
    -1271                     */
    -1272                    public WriterChainXml register(String parameterName, ICalDataType dataType) {
    -1273                            parameterDataTypes.put(parameterName, dataType);
    -1274                            return this_;
    -1275                    }
    -1276    
    -1277                    /**
    -1278                     * Sets the number of indent spaces to use for pretty-printing. If not
    -1279                     * set, then the XML will not be pretty-printed.
    -1280                     * @param indent the number of spaces
    -1281                     * @return this
    -1282                     */
    -1283                    public WriterChainXml indent(int indent) {
    -1284                            this.indent = indent;
    -1285                            return this_;
    -1286                    }
    -1287    
    -1288                    /**
    -1289                     * Writes the xCal document to a string.
    -1290                     * @return the XML string
    -1291                     * @throws IllegalArgumentException if the marshaller class for a
    -1292                     * component or property object cannot be found (only happens when an
    -1293                     * experimental property/component marshaller is not registered with the
    -1294                     * {@code register} method.)
    -1295                     */
    -1296                    public String go() {
    -1297                            StringWriter sw = new StringWriter();
    -1298                            try {
    -1299                                    go(sw);
    -1300                            } catch (TransformerException e) {
    -1301                                    //writing to a string
    -1302                            }
    -1303                            return sw.toString();
    -1304                    }
    -1305    
    -1306                    /**
    -1307                     * Writes the xCal document to an output stream.
    -1308                     * @param out the output stream to write to
    -1309                     * @throws IllegalArgumentException if the marshaller class for a
    -1310                     * component or property object cannot be found (only happens when an
    -1311                     * experimental property/component marshaller is not registered with the
    -1312                     * {@code register} method.)
    -1313                     * @throws TransformerException if there's a problem writing the XML
    -1314                     */
    -1315                    public void go(OutputStream out) throws TransformerException {
    -1316                            XCalDocument document = constructDocument();
    -1317                            document.write(out, indent);
    -1318                    }
    -1319    
    -1320                    /**
    -1321                     * Writes the xCal document to a file.
    -1322                     * @param file the file to write to
    -1323                     * @throws IllegalArgumentException if the marshaller class for a
    -1324                     * component or property object cannot be found (only happens when an
    -1325                     * experimental property/component marshaller is not registered with the
    -1326                     * {@code register} method.)
    -1327                     * @throws TransformerException if there's a problem writing the XML
    -1328                     * @throws IOException if there's a problem writing to the file
    -1329                     */
    -1330                    public void go(File file) throws TransformerException, IOException {
    -1331                            XCalDocument document = constructDocument();
    -1332                            document.write(file, indent);
    -1333                    }
    -1334    
    -1335                    /**
    -1336                     * Writes the xCal document to a writer.
    -1337                     * @param writer the writer to write to
    -1338                     * @throws IllegalArgumentException if the marshaller class for a
    -1339                     * component or property object cannot be found (only happens when an
    -1340                     * experimental property/component marshaller is not registered with the
    -1341                     * {@code register} method.)
    -1342                     * @throws TransformerException if there's a problem writing the XML
    -1343                     */
    -1344                    public void go(Writer writer) throws TransformerException {
    -1345                            XCalDocument document = constructDocument();
    -1346                            document.write(writer, indent);
    -1347                    }
    -1348    
    -1349                    /**
    -1350                     * Writes the xCal document to an XML DOM.
    -1351                     * @return the XML DOM
    -1352                     */
    -1353                    public Document dom() {
    -1354                            XCalDocument document = constructDocument();
    -1355                            return document.getDocument();
    -1356                    }
    -1357    
    -1358                    private XCalDocument constructDocument() {
    -1359                            XCalDocument document = new XCalDocument();
    -1360                            document.setRegistrar(registrar);
    -1361                            for (Map.Entry<String, ICalDataType> entry : parameterDataTypes.entrySet()) {
    -1362                                    document.registerParameterDataType(entry.getKey(), entry.getValue());
    -1363                            }
    -1364    
    -1365                            for (ICalendar ical : icals) {
    -1366                                    document.add(ical);
    -1367                            }
    -1368    
    -1369                            return document;
    -1370                    }
    -1371            }
    -1372    
    -1373            ///////////////////////////////////////////////////////
    -1374            // JSON
    -1375            ///////////////////////////////////////////////////////
    -1376    
    -1377            /**
    -1378             * Chainer class for writing to JSON-encoded iCalendar data streams (jCal).
    -1379             * @see Biweekly#writeJson(Collection)
    -1380             * @see Biweekly#writeJson(ICalendar...)
    -1381             */
    -1382            public static class WriterChainJson extends WriterChain<WriterChainJson> {
    -1383                    private boolean indent = false;
    -1384    
    -1385                    private WriterChainJson(Collection<ICalendar> icals) {
    -1386                            super(icals);
    -1387                    }
    -1388    
    -1389                    /**
    -1390                     * Sets whether or not to pretty-print the JSON.
    -1391                     * @param indent true to pretty-print it, false not to (defaults to
    -1392                     * false)
    -1393                     * @return this
    -1394                     */
    -1395                    public WriterChainJson indent(boolean indent) {
    -1396                            this.indent = indent;
    -1397                            return this_;
    -1398                    }
    -1399    
    -1400                    /**
    -1401                     * Writes the iCalendar objects to a string.
    -1402                     * @return the iCalendar string
    -1403                     * @throws IllegalArgumentException if the marshaller class for a
    -1404                     * component or property object cannot be found (only happens when an
    -1405                     * experimental property/component marshaller is not registered with the
    -1406                     * {@code register} method.)
    -1407                     */
    -1408                    public String go() {
    -1409                            StringWriter sw = new StringWriter();
    -1410                            try {
    -1411                                    go(sw);
    -1412                            } catch (IOException e) {
    -1413                                    //writing to a string
    -1414                            }
    -1415                            return sw.toString();
    -1416                    }
    -1417    
    -1418                    /**
    -1419                     * Writes the iCalendar objects to a data stream.
    -1420                     * @param out the output stream to write to
    -1421                     * @throws IllegalArgumentException if the marshaller class for a
    -1422                     * component or property object cannot be found (only happens when an
    -1423                     * experimental property/component marshaller is not registered with the
    -1424                     * {@code register} method.)
    -1425                     * @throws IOException if there's a problem writing to the output stream
    -1426                     */
    -1427                    public void go(OutputStream out) throws IOException {
    -1428                            go(new JCalWriter(out, icals.size() > 1));
    -1429                    }
    -1430    
    -1431                    /**
    -1432                     * Writes the iCalendar objects to a file.
    -1433                     * @param file the file to write to
    -1434                     * @throws IllegalArgumentException if the marshaller class for a
    -1435                     * component or property object cannot be found (only happens when an
    -1436                     * experimental property/component marshaller is not registered with the
    -1437                     * {@code register} method.)
    -1438                     * @throws IOException if there's a problem writing to the file
    -1439                     */
    -1440                    public void go(File file) throws IOException {
    -1441                            JCalWriter jcalWriter = new JCalWriter(file, icals.size() > 1);
    -1442                            try {
    -1443                                    go(jcalWriter);
    -1444                            } finally {
    -1445                                    IOUtils.closeQuietly(jcalWriter);
    -1446                            }
    -1447                    }
    -1448    
    -1449                    /**
    -1450                     * Writes the iCalendar objects to a data stream.
    -1451                     * @param writer the writer to write to
    -1452                     * @throws IllegalArgumentException if the marshaller class for a
    -1453                     * component or property object cannot be found (only happens when an
    -1454                     * experimental property/component marshaller is not registered with the
    -1455                     * {@code register} method.)
    -1456                     * @throws IOException if there's a problem writing to the writer
    -1457                     */
    -1458                    public void go(Writer writer) throws IOException {
    -1459                            go(new JCalWriter(writer, icals.size() > 1));
    -1460                    }
    -1461    
    -1462                    private void go(JCalWriter jcalWriter) throws IOException {
    -1463                            jcalWriter.setRegistrar(registrar);
    -1464                            jcalWriter.setIndent(indent);
    -1465    
    -1466                            for (ICalendar ical : icals) {
    -1467                                    jcalWriter.write(ical);
    -1468                            }
    -1469                            jcalWriter.closeJsonStream();
    -1470                    }
    -1471            }
    -1472    
    -1473            private Biweekly() {
    -1474                    //hide
    -1475            }
    -1476    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalDataType.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalDataType.html deleted file mode 100644 index e4019ab9..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalDataType.html +++ /dev/null @@ -1,179 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    import biweekly.util.CaseClasses;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Defines the data type of a property's value.
    -034     * @author Michael Angstadt
    -035     * @rfc 5545 p.29-50
    -036     */
    -037    public class ICalDataType {
    -038            private static final CaseClasses<ICalDataType, String> enums = new CaseClasses<ICalDataType, String>(ICalDataType.class) {
    -039                    @Override
    -040                    protected ICalDataType create(String value) {
    -041                            return new ICalDataType(value);
    -042                    }
    -043    
    -044                    @Override
    -045                    protected boolean matches(ICalDataType dataType, String value) {
    -046                            return dataType.name.equalsIgnoreCase(value);
    -047                    }
    -048            };
    -049    
    -050            public static final ICalDataType BINARY = new ICalDataType("BINARY");
    -051            public static final ICalDataType BOOLEAN = new ICalDataType("BOOLEAN");
    -052            public static final ICalDataType CAL_ADDRESS = new ICalDataType("CAL-ADDRESS");
    -053            public static final ICalDataType DATE = new ICalDataType("DATE");
    -054            public static final ICalDataType DATE_TIME = new ICalDataType("DATE-TIME");
    -055            public static final ICalDataType DURATION = new ICalDataType("DURATION");
    -056            public static final ICalDataType FLOAT = new ICalDataType("FLOAT");
    -057            public static final ICalDataType INTEGER = new ICalDataType("INTEGER");
    -058            public static final ICalDataType PERIOD = new ICalDataType("PERIOD");
    -059            public static final ICalDataType RECUR = new ICalDataType("RECUR");
    -060            public static final ICalDataType TEXT = new ICalDataType("TEXT");
    -061            public static final ICalDataType TIME = new ICalDataType("TIME");
    -062            public static final ICalDataType URI = new ICalDataType("URI");
    -063            public static final ICalDataType UTC_OFFSET = new ICalDataType("UTC-OFFSET");
    -064    
    -065            private final String name;
    -066    
    -067            private ICalDataType(String name) {
    -068                    this.name = name;
    -069            }
    -070    
    -071            /**
    -072             * Gets the name of the data type.
    -073             * @return the name of the data type (e.g. "text")
    -074             */
    -075            public String getName() {
    -076                    return name;
    -077            }
    -078    
    -079            @Override
    -080            public String toString() {
    -081                    return name;
    -082            }
    -083    
    -084            /**
    -085             * Searches for a parameter value that is defined as a static constant in
    -086             * this class.
    -087             * @param value the parameter value
    -088             * @return the object or null if not found
    -089             */
    -090            public static ICalDataType find(String value) {
    -091                    return enums.find(value);
    -092            }
    -093    
    -094            /**
    -095             * Searches for a parameter value and creates one if it cannot be found. All
    -096             * objects are guaranteed to be unique, so they can be compared with
    -097             * {@code ==} equality.
    -098             * @param value the parameter value
    -099             * @return the object
    -100             */
    -101            public static ICalDataType get(String value) {
    -102                    return enums.get(value);
    -103            }
    -104    
    -105            /**
    -106             * Gets all of the parameter values that are defined as static constants in
    -107             * this class.
    -108             * @return the parameter values
    -109             */
    -110            public static Collection<ICalDataType> all() {
    -111                    return enums.all();
    -112            }
    -113    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalException.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalException.html deleted file mode 100644 index beff4446..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalException.html +++ /dev/null @@ -1,107 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * The common base exception that all exceptions inherit from.
    -030     * @author Michael Angstadt
    -031     */
    -032    @SuppressWarnings("serial")
    -033    public class ICalException extends RuntimeException {
    -034            public ICalException() {
    -035                    super();
    -036            }
    -037    
    -038            public ICalException(String message) {
    -039                    super(message);
    -040            }
    -041    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalendar.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalendar.html deleted file mode 100644 index 0a2263eb..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ICalendar.html +++ /dev/null @@ -1,523 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.io.File;
    -004    import java.io.IOException;
    -005    import java.io.OutputStream;
    -006    import java.io.Writer;
    -007    import java.util.ArrayList;
    -008    import java.util.List;
    -009    
    -010    import javax.xml.transform.TransformerException;
    -011    
    -012    import biweekly.ValidationWarnings.WarningsGroup;
    -013    import biweekly.component.ICalComponent;
    -014    import biweekly.component.VEvent;
    -015    import biweekly.component.VFreeBusy;
    -016    import biweekly.component.VJournal;
    -017    import biweekly.component.VTimezone;
    -018    import biweekly.component.VTodo;
    -019    import biweekly.property.CalendarScale;
    -020    import biweekly.property.Method;
    -021    import biweekly.property.ProductId;
    -022    import biweekly.property.Version;
    -023    
    -024    /*
    -025     Copyright (c) 2013, Michael Angstadt
    -026     All rights reserved.
    -027    
    -028     Redistribution and use in source and binary forms, with or without
    -029     modification, are permitted provided that the following conditions are met: 
    -030    
    -031     1. Redistributions of source code must retain the above copyright notice, this
    -032     list of conditions and the following disclaimer. 
    -033     2. Redistributions in binary form must reproduce the above copyright notice,
    -034     this list of conditions and the following disclaimer in the documentation
    -035     and/or other materials provided with the distribution. 
    -036    
    -037     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -038     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -039     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -040     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -041     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -042     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -043     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -044     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -045     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -046     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -047     */
    -048    
    -049    /**
    -050     * <p>
    -051     * Represents an iCalendar object.
    -052     * </p>
    -053     * 
    -054     * <p>
    -055     * <b>Examples:</b>
    -056     * 
    -057     * <pre class="brush:java">
    -058     * ICalendar ical = new ICalendar();
    -059     * 
    -060     * VEvent event = new VEvent();
    -061     * event.setSummary("Team Meeting");
    -062     * Date start = ...;
    -063     * event.setDateStart(start);
    -064     * Date end = ...;
    -065     * event.setDateEnd(end);
    -066     * ical.addEvent(event);
    -067     * </pre>
    -068     * 
    -069     * </p>
    -070     * @author Michael Angstadt
    -071     * @rfc 5545
    -072     */
    -073    public class ICalendar extends ICalComponent {
    -074            /**
    -075             * <p>
    -076             * Creates a new iCalendar object.
    -077             * </p>
    -078             * <p>
    -079             * The following properties are auto-generated on object creation. These
    -080             * properties <b>must</b> be present in order for the iCalendar object to be
    -081             * valid:
    -082             * <ul>
    -083             * <li>{@link Version} - Set to the default iCalendar version ("2.0").</li>
    -084             * <li>{@link ProductId} - Set to a value that represents this library.</li>
    -085             * </ul>
    -086             * </p>
    -087             */
    -088            public ICalendar() {
    -089                    setVersion(Version.v2_0());
    -090                    setProductId(ProductId.biweekly());
    -091            }
    -092    
    -093            /**
    -094             * Gets the min/max versions a consumer must support in order to
    -095             * successfully parse the iCalendar object. All {@link ICalendar} objects
    -096             * are initialized with a version of "2.0" (the default version). It is a
    -097             * <b>required</b> property.
    -098             * @return the version
    -099             * @rfc 5545 p.79-80
    -100             */
    -101            public Version getVersion() {
    -102                    return getProperty(Version.class);
    -103            }
    -104    
    -105            /**
    -106             * Sets the min/max versions a consumer must support in order to
    -107             * successfully parse the iCalendar object. All {@link ICalendar} objects
    -108             * are initialized with a version of "2.0" (the default version). It is a
    -109             * <b>required</b> property.
    -110             * @param version the version
    -111             * @rfc 5545 p.79-80
    -112             */
    -113            public void setVersion(Version version) {
    -114                    setProperty(Version.class, version);
    -115            }
    -116    
    -117            /**
    -118             * Gets the name of the application that created the iCalendar object. All
    -119             * {@link ICalendar} objects are initialized with a product ID representing
    -120             * this library. It is a <b>required</b> property.
    -121             * @return the property instance or null if not set
    -122             * @rfc 5545 p.78-9
    -123             */
    -124            public ProductId getProductId() {
    -125                    return getProperty(ProductId.class);
    -126            }
    -127    
    -128            /**
    -129             * Sets the name of the application that created the iCalendar object. All
    -130             * {@link ICalendar} objects are initialized with a product ID representing
    -131             * this library. It is a <b>required</b> property.
    -132             * @param prodId the property instance or null to remove
    -133             * @rfc 5545 p.78-9
    -134             */
    -135            public void setProductId(ProductId prodId) {
    -136                    setProperty(ProductId.class, prodId);
    -137            }
    -138    
    -139            /**
    -140             * Sets the application that created the iCalendar object. All
    -141             * {@link ICalendar} objects are initialized with a product ID representing
    -142             * this library.
    -143             * @param prodId a unique string representing the application (e.g.
    -144             * "-//Company//Application//EN") or null to remove
    -145             * @return the property that was created
    -146             * @rfc 5545 p.78-9
    -147             */
    -148            public ProductId setProductId(String prodId) {
    -149                    ProductId prop = (prodId == null) ? null : new ProductId(prodId);
    -150                    setProductId(prop);
    -151                    return prop;
    -152            }
    -153    
    -154            /**
    -155             * Gets the calendar system that this iCalendar object uses. If none is
    -156             * specified, then the calendar is assumed to be in Gregorian format.
    -157             * @return the calendar system or null if not set
    -158             * @rfc 5545 p.76-7
    -159             */
    -160            public CalendarScale getCalendarScale() {
    -161                    return getProperty(CalendarScale.class);
    -162            }
    -163    
    -164            /**
    -165             * Sets the calendar system that this iCalendar object uses. If none is
    -166             * specified, then the calendar is assumed to be in Gregorian format.
    -167             * @param calendarScale the calendar system or null to remove
    -168             * @rfc 5545 p.76-7
    -169             */
    -170            public void setCalendarScale(CalendarScale calendarScale) {
    -171                    setProperty(CalendarScale.class, calendarScale);
    -172            }
    -173    
    -174            /**
    -175             * Gets the value of the Content-Type "method" parameter if the iCalendar
    -176             * object is defined as a MIME message entity.
    -177             * @return the property or null if not set
    -178             * @rfc 5545 p.77-8
    -179             */
    -180            public Method getMethod() {
    -181                    return getProperty(Method.class);
    -182            }
    -183    
    -184            /**
    -185             * Sets the value of the Content-Type "method" parameter if the iCalendar
    -186             * object is defined as a MIME message entity.
    -187             * @param method the property or null to remove
    -188             * @rfc 5545 p.77-8
    -189             */
    -190            public void setMethod(Method method) {
    -191                    setProperty(Method.class, method);
    -192            }
    -193    
    -194            /**
    -195             * Sets the value of the Content-Type "method" parameter if the iCalendar
    -196             * object is defined as a MIME message entity.
    -197             * @param method the method or null to remove
    -198             * @return the property that was created
    -199             * @rfc 5545 p.77-8
    -200             */
    -201            public Method setMethod(String method) {
    -202                    Method prop = (method == null) ? null : new Method(method);
    -203                    setMethod(prop);
    -204                    return prop;
    -205            }
    -206    
    -207            /**
    -208             * Gets the events.
    -209             * @return the events
    -210             */
    -211            public List<VEvent> getEvents() {
    -212                    return getComponents(VEvent.class);
    -213            }
    -214    
    -215            /**
    -216             * Adds an event.
    -217             * @param event the event
    -218             */
    -219            public void addEvent(VEvent event) {
    -220                    addComponent(event);
    -221            }
    -222    
    -223            /**
    -224             * Gets the to-dos.
    -225             * @return the to-dos
    -226             */
    -227            public List<VTodo> getTodos() {
    -228                    return getComponents(VTodo.class);
    -229            }
    -230    
    -231            /**
    -232             * Adds a to-do.
    -233             * @param todo the to-do
    -234             */
    -235            public void addTodo(VTodo todo) {
    -236                    addComponent(todo);
    -237            }
    -238    
    -239            /**
    -240             * Gets the journal entries.
    -241             * @return the journal entries
    -242             */
    -243            public List<VJournal> getJournals() {
    -244                    return getComponents(VJournal.class);
    -245            }
    -246    
    -247            /**
    -248             * Adds a journal entry.
    -249             * @param journal the journal entry
    -250             */
    -251            public void addJournal(VJournal journal) {
    -252                    addComponent(journal);
    -253            }
    -254    
    -255            /**
    -256             * Gets the free/busy entries.
    -257             * @return the free/busy entries
    -258             */
    -259            public List<VFreeBusy> getFreeBusies() {
    -260                    return getComponents(VFreeBusy.class);
    -261            }
    -262    
    -263            /**
    -264             * Adds a free/busy entry.
    -265             * @param freeBusy the free/busy entry
    -266             */
    -267            public void addFreeBusy(VFreeBusy freeBusy) {
    -268                    addComponent(freeBusy);
    -269            }
    -270    
    -271            /**
    -272             * Gets the timezones.
    -273             * @return the timezones
    -274             */
    -275            public List<VTimezone> getTimezones() {
    -276                    return getComponents(VTimezone.class);
    -277            }
    -278    
    -279            /**
    -280             * Adds a timezone.
    -281             * @param timezone the timezone
    -282             */
    -283            public void addTimezone(VTimezone timezone) {
    -284                    addComponent(timezone);
    -285            }
    -286    
    -287            /**
    -288             * Checks this iCalendar object for data consistency problems or deviations
    -289             * from the spec. These problems will not prevent the iCalendar object from
    -290             * being written to a data stream, but may prevent it from being parsed
    -291             * correctly by the consuming application. These problems can largely be
    -292             * avoided by reading the Javadocs of the component and property classes, or
    -293             * by being familiar with the iCalendar standard.
    -294             * @return the validation warnings
    -295             */
    -296            public ValidationWarnings validate() {
    -297                    //TODO make concurrent
    -298                    List<WarningsGroup> warnings = validate(new ArrayList<ICalComponent>(0));
    -299                    return new ValidationWarnings(warnings);
    -300            }
    -301    
    -302            @SuppressWarnings("unchecked")
    -303            @Override
    -304            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -305                    checkRequiredCardinality(warnings, ProductId.class, Version.class);
    -306    
    -307                    if (this.components.isEmpty()) {
    -308                            warnings.add("An iCalendar object must have at least one component.");
    -309                    }
    -310            }
    -311    
    -312            /**
    -313             * Marshals this iCalendar object to its plain text representation.
    -314             * @return the plain text representation
    -315             */
    -316            public String write() {
    -317                    return Biweekly.write(this).go();
    -318            }
    -319    
    -320            /**
    -321             * Marshals this iCalendar object to its plain text representation.
    -322             * @param file the file to write to
    -323             * @throws IOException if there's an I/O problem
    -324             */
    -325            public void write(File file) throws IOException {
    -326                    Biweekly.write(this).go(file);
    -327            }
    -328    
    -329            /**
    -330             * Marshals this iCalendar object to its plain text representation.
    -331             * @param out the data stream to write to
    -332             * @throws IOException if there's an I/O problem
    -333             */
    -334            public void write(OutputStream out) throws IOException {
    -335                    Biweekly.write(this).go(out);
    -336            }
    -337    
    -338            /**
    -339             * Marshals this iCalendar object to its plain text representation.
    -340             * @param writer the data stream to write to
    -341             * @throws IOException if there's an I/O problem
    -342             */
    -343            public void write(Writer writer) throws IOException {
    -344                    Biweekly.write(this).go(writer);
    -345            }
    -346    
    -347            /**
    -348             * Marshals this iCalendar object to its XML representation (xCal). If the
    -349             * iCalendar object contains user-defined property or component objects, use
    -350             * the {@link Biweekly} class instead, in order to register the marshaller
    -351             * classes.
    -352             * @return the XML document
    -353             * @throws IllegalArgumentException if the iCalendar object contains
    -354             * user-defined property or component objects
    -355             */
    -356            public String writeXml() {
    -357                    return Biweekly.writeXml(this).indent(2).go();
    -358            }
    -359    
    -360            /**
    -361             * Marshals this iCalendar object to its XML representation (xCal). If the
    -362             * iCalendar object contains user-defined property or component objects, use
    -363             * the {@link Biweekly} class instead, in order to register the marshaller
    -364             * classes.
    -365             * @param file the file to write to
    -366             * @throws IllegalArgumentException if the iCalendar object contains
    -367             * user-defined property or component objects
    -368             * @throws TransformerException if there's an I/O problem
    -369             * @throws IOException if the file cannot be written to
    -370             */
    -371            public void writeXml(File file) throws TransformerException, IOException {
    -372                    Biweekly.writeXml(this).indent(2).go(file);
    -373            }
    -374    
    -375            /**
    -376             * Marshals this iCalendar object to its XML representation (xCal). If the
    -377             * iCalendar object contains user-defined property or component objects, use
    -378             * the {@link Biweekly} class instead, in order to register the marshaller
    -379             * classes.
    -380             * @param out the data stream to write to
    -381             * @throws IllegalArgumentException if the iCalendar object contains
    -382             * user-defined property or component objects
    -383             * @throws TransformerException if there's an I/O problem
    -384             */
    -385            public void writeXml(OutputStream out) throws TransformerException {
    -386                    Biweekly.writeXml(this).indent(2).go(out);
    -387            }
    -388    
    -389            /**
    -390             * Marshals this iCalendar object to its XML representation (xCal). If the
    -391             * iCalendar object contains user-defined property or component objects, use
    -392             * the {@link Biweekly} class instead, in order to register the marshaller
    -393             * classes.
    -394             * @param writer the data stream to write to
    -395             * @throws IllegalArgumentException if the iCalendar object contains
    -396             * user-defined property or component objects
    -397             * @throws TransformerException if there's an I/O problem
    -398             */
    -399            public void writeXml(Writer writer) throws TransformerException {
    -400                    Biweekly.writeXml(this).indent(2).go(writer);
    -401            }
    -402    
    -403            /**
    -404             * Marshals this iCalendar object to its JSON representation (jCal). If the
    -405             * iCalendar object contains user-defined property or component objects, use
    -406             * the {@link Biweekly} class instead, in order to register the marshaller
    -407             * classes.
    -408             * @return the JSON string
    -409             * @throws IllegalArgumentException if the iCalendar object contains
    -410             * user-defined property or component objects
    -411             */
    -412            public String writeJson() {
    -413                    return Biweekly.writeJson(this).go();
    -414            }
    -415    
    -416            /**
    -417             * Marshals this iCalendar object to its JSON representation (jCal). If the
    -418             * iCalendar object contains user-defined property or component objects, use
    -419             * the {@link Biweekly} class instead, in order to register the marshaller
    -420             * classes.
    -421             * @param file the file to write to
    -422             * @throws IllegalArgumentException if the iCalendar object contains
    -423             * user-defined property or component objects
    -424             * @throws IOException if there's a problem writing to the file
    -425             */
    -426            public void writeJson(File file) throws IOException {
    -427                    Biweekly.writeJson(this).go(file);
    -428            }
    -429    
    -430            /**
    -431             * Marshals this iCalendar object to its JSON representation (jCal). If the
    -432             * iCalendar object contains user-defined property or component objects, use
    -433             * the {@link Biweekly} class instead, in order to register the marshaller
    -434             * classes.
    -435             * @param out the data stream to write to
    -436             * @throws IllegalArgumentException if the iCalendar object contains
    -437             * user-defined property or component objects
    -438             * @throws IOException if there's a problem writing to the output stream
    -439             */
    -440            public void writeJson(OutputStream out) throws IOException {
    -441                    Biweekly.writeJson(this).go(out);
    -442            }
    -443    
    -444            /**
    -445             * Marshals this iCalendar object to its JSON representation (jCal). If the
    -446             * iCalendar object contains user-defined property or component objects, use
    -447             * the {@link Biweekly} class instead, in order to register the marshaller
    -448             * classes.
    -449             * @param writer the data stream to write to
    -450             * @throws IllegalArgumentException if the iCalendar object contains
    -451             * user-defined property or component objects
    -452             * @throws IOException if there's a problem writing to the writer
    -453             */
    -454            public void writeJson(Writer writer) throws IOException {
    -455                    Biweekly.writeJson(this).go(writer);
    -456            }
    -457    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ValidationWarnings.WarningsGroup.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ValidationWarnings.WarningsGroup.html deleted file mode 100644 index 54aa4905..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ValidationWarnings.WarningsGroup.html +++ /dev/null @@ -1,359 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Iterator;
    -005    import java.util.List;
    -006    
    -007    import biweekly.ValidationWarnings.WarningsGroup;
    -008    import biweekly.component.ICalComponent;
    -009    import biweekly.property.ICalProperty;
    -010    import biweekly.util.StringUtils;
    -011    import biweekly.util.StringUtils.JoinCallback;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * <p>
    -040     * Holds the validation warnings of an iCalendar object.
    -041     * </p>
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * //validate an iCalendar object
    -047     * ValidationWarnings warnings = ical.validate();
    -048     * 
    -049     * //print all warnings to a string:
    -050     * System.out.println(warnings.toString());
    -051     * //sample output:
    -052     * //[ICalendar]: ProductId is not set (it is a required property).
    -053     * //[ICalendar &gt; VEvent &gt; DateStart]: DateStart must come before DateEnd.
    -054     * //[ICalendar &gt; VEvent &gt; VAlarm]: The trigger must specify which date field its duration is relative to.
    -055     * 
    -056     * //iterate over each warnings group
    -057     * //this gives you access to the property/component object and its parent components
    -058     * for (WarningsGroup group : warnings) {
    -059     *      ICalProperty prop = group.getProperty();
    -060     *      if (prop == null) {
    -061     *              //then it was a component that caused the warnings
    -062     *              ICalComponent comp = group.getComponent();
    -063     *      }
    -064     * 
    -065     *      //get parent components
    -066     *      List&lt;ICalComponent&gt; hierarchy = group.getComponentHierarchy();
    -067     * 
    -068     *      //get warning messages
    -069     *      List&lt;String&gt; messages = group.getMessages();
    -070     * }
    -071     * 
    -072     * //you can also get the warnings of specific properties/components
    -073     * List&lt;WarningsGroup&gt; dtstartWarnings = warnings.getByProperty(DateStart.class);
    -074     * List&lt;WarningsGroup&gt; veventWarnings = warnings.getByComponent(VEvent.class);
    -075     * </pre>
    -076     * 
    -077     * </p>
    -078     * @author Michael Angstadt
    -079     * @see ICalendar#validate()
    -080     */
    -081    public class ValidationWarnings implements Iterable<WarningsGroup> {
    -082            private final List<WarningsGroup> warnings;
    -083    
    -084            /**
    -085             * Creates a new validation warnings list.
    -086             * @param warnings the validation warnings
    -087             */
    -088            public ValidationWarnings(List<WarningsGroup> warnings) {
    -089                    this.warnings = warnings;
    -090            }
    -091    
    -092            /**
    -093             * Gets all validation warnings of a given property.
    -094             * @param propertyClass the property (e.g. {@code DateStart.class})
    -095             * @return the validation warnings
    -096             */
    -097            public List<WarningsGroup> getByProperty(Class<? extends ICalProperty> propertyClass) {
    -098                    List<WarningsGroup> warnings = new ArrayList<WarningsGroup>();
    -099                    for (WarningsGroup group : this.warnings) {
    -100                            ICalProperty property = group.getProperty();
    -101                            if (property == null) {
    -102                                    continue;
    -103                            }
    -104    
    -105                            if (propertyClass == property.getClass()) {
    -106                                    warnings.add(group);
    -107                            }
    -108                    }
    -109                    return warnings;
    -110            }
    -111    
    -112            /**
    -113             * Gets all validation warnings of a given component.
    -114             * @param componentClass the component (e.g. {@code VEvent.class})
    -115             * @return the validation warnings
    -116             */
    -117            public List<WarningsGroup> getByComponent(Class<? extends ICalComponent> componentClass) {
    -118                    List<WarningsGroup> warnings = new ArrayList<WarningsGroup>();
    -119                    for (WarningsGroup group : this.warnings) {
    -120                            ICalComponent component = group.getComponent();
    -121                            if (component == null) {
    -122                                    continue;
    -123                            }
    -124    
    -125                            if (componentClass == component.getClass()) {
    -126                                    warnings.add(group);
    -127                            }
    -128                    }
    -129                    return warnings;
    -130            }
    -131    
    -132            /**
    -133             * Gets all the validation warnings.
    -134             * @return the validation warnings
    -135             */
    -136            public List<WarningsGroup> getWarnings() {
    -137                    return warnings;
    -138            }
    -139    
    -140            /**
    -141             * Determines whether there are any validation warnings.
    -142             * @return true if there are none, false if there are one or more
    -143             */
    -144            public boolean isEmpty() {
    -145                    return warnings.isEmpty();
    -146            }
    -147    
    -148            /**
    -149             * <p>
    -150             * Outputs all validation warnings as a newline-delimited string. For
    -151             * example:
    -152             * </p>
    -153             * 
    -154             * <pre>
    -155             * [ICalendar]: ProductId is not set (it is a required property).
    -156             * [ICalendar > VEvent > DateStart]: DateStart must come before DateEnd.
    -157             * [ICalendar > VEvent > VAlarm]: The trigger must specify which date field its duration is relative to.
    -158             * </pre>
    -159             */
    -160            @Override
    -161            public String toString() {
    -162                    return StringUtils.join(warnings, StringUtils.NEWLINE);
    -163            }
    -164    
    -165            /**
    -166             * Iterates over each warning group (same as calling
    -167             * {@code getWarnings().iterator()}).
    -168             * @return the iterator
    -169             */
    -170            public Iterator<WarningsGroup> iterator() {
    -171                    return warnings.iterator();
    -172            }
    -173    
    -174            /**
    -175             * Holds the validation warnings of a property or component.
    -176             * @author Michael Angstadt
    -177             */
    -178            public static class WarningsGroup {
    -179                    private final ICalProperty property;
    -180                    private final ICalComponent component;
    -181                    private final List<ICalComponent> componentHierarchy;
    -182                    private final List<String> messages;
    -183    
    -184                    /**
    -185                     * Creates a new set of validation warnings for a property.
    -186                     * @param property the property that caused the warnings
    -187                     * @param componentHierarchy the hierarchy of components that the
    -188                     * property belongs to
    -189                     * @param messages the warning messages
    -190                     */
    -191                    public WarningsGroup(ICalProperty property, List<ICalComponent> componentHierarchy, List<String> messages) {
    -192                            this(null, property, componentHierarchy, messages);
    -193                    }
    -194    
    -195                    /**
    -196                     * Creates a new set of validation warnings for a component.
    -197                     * @param component the component that caused the warnings
    -198                     * @param componentHierarchy the hierarchy of components that the
    -199                     * component belongs to
    -200                     * @param messages the warning messages
    -201                     */
    -202                    public WarningsGroup(ICalComponent component, List<ICalComponent> componentHierarchy, List<String> messages) {
    -203                            this(component, null, componentHierarchy, messages);
    -204                    }
    -205    
    -206                    private WarningsGroup(ICalComponent component, ICalProperty property, List<ICalComponent> componentHierarchy, List<String> messages) {
    -207                            this.component = component;
    -208                            this.property = property;
    -209                            this.componentHierarchy = componentHierarchy;
    -210                            this.messages = messages;
    -211                    }
    -212    
    -213                    /**
    -214                     * Gets the property object that caused the validation warnings.
    -215                     * @return the property object or null if a component caused the
    -216                     * warnings.
    -217                     */
    -218                    public ICalProperty getProperty() {
    -219                            return property;
    -220                    }
    -221    
    -222                    /**
    -223                     * Gets the component object that caused the validation warnings.
    -224                     * @return the component object or null if a property caused the
    -225                     * warnings.
    -226                     */
    -227                    public ICalComponent getComponent() {
    -228                            return component;
    -229                    }
    -230    
    -231                    /**
    -232                     * Gets the hierarchy of components that the property or component
    -233                     * belongs to.
    -234                     * @return the component hierarchy
    -235                     */
    -236                    public List<ICalComponent> getComponentHierarchy() {
    -237                            return componentHierarchy;
    -238                    }
    -239    
    -240                    /**
    -241                     * Gets the warning messages.
    -242                     * @return the warning messages
    -243                     */
    -244                    public List<String> getMessages() {
    -245                            return messages;
    -246                    }
    -247    
    -248                    /**
    -249                     * <p>
    -250                     * Outputs each message in this warnings group as a newline-delimited
    -251                     * string. Each line includes the component hierarchy and the name of
    -252                     * the property/component. For example:
    -253                     * </p>
    -254                     * 
    -255                     * <pre>
    -256                     * [ICalendar > VEvent > VAlarm]: Email alarms must have at least one attendee.
    -257                     * [ICalendar > VEvent > VAlarm]: The trigger must specify which date field its duration is relative to.
    -258                     * </pre>
    -259                     */
    -260                    @Override
    -261                    public String toString() {
    -262                            final String prefix = "[" + buildPath() + "]: ";
    -263                            return StringUtils.join(messages, StringUtils.NEWLINE, new JoinCallback<String>() {
    -264                                    public void handle(StringBuilder sb, String message) {
    -265                                            sb.append(prefix).append(message);
    -266                                    }
    -267                            });
    -268                    }
    -269    
    -270                    private String buildPath() {
    -271                            StringBuilder sb = new StringBuilder();
    -272    
    -273                            if (!componentHierarchy.isEmpty()) {
    -274                                    String delimitor = " > ";
    -275    
    -276                                    StringUtils.join(componentHierarchy, delimitor, sb, new JoinCallback<ICalComponent>() {
    -277                                            public void handle(StringBuilder sb, ICalComponent component) {
    -278                                                    sb.append(component.getClass().getSimpleName());
    -279                                            }
    -280                                    });
    -281                                    sb.append(delimitor);
    -282                            }
    -283    
    -284                            if (property != null) {
    -285                                    sb.append(property.getClass().getSimpleName());
    -286                            } else {
    -287                                    sb.append(component.getClass().getSimpleName());
    -288                            }
    -289    
    -290                            return sb.toString();
    -291                    }
    -292            }
    -293    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ValidationWarnings.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ValidationWarnings.html deleted file mode 100644 index 54aa4905..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/ValidationWarnings.html +++ /dev/null @@ -1,359 +0,0 @@ - - -
    -001    package biweekly;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Iterator;
    -005    import java.util.List;
    -006    
    -007    import biweekly.ValidationWarnings.WarningsGroup;
    -008    import biweekly.component.ICalComponent;
    -009    import biweekly.property.ICalProperty;
    -010    import biweekly.util.StringUtils;
    -011    import biweekly.util.StringUtils.JoinCallback;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * <p>
    -040     * Holds the validation warnings of an iCalendar object.
    -041     * </p>
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * //validate an iCalendar object
    -047     * ValidationWarnings warnings = ical.validate();
    -048     * 
    -049     * //print all warnings to a string:
    -050     * System.out.println(warnings.toString());
    -051     * //sample output:
    -052     * //[ICalendar]: ProductId is not set (it is a required property).
    -053     * //[ICalendar &gt; VEvent &gt; DateStart]: DateStart must come before DateEnd.
    -054     * //[ICalendar &gt; VEvent &gt; VAlarm]: The trigger must specify which date field its duration is relative to.
    -055     * 
    -056     * //iterate over each warnings group
    -057     * //this gives you access to the property/component object and its parent components
    -058     * for (WarningsGroup group : warnings) {
    -059     *      ICalProperty prop = group.getProperty();
    -060     *      if (prop == null) {
    -061     *              //then it was a component that caused the warnings
    -062     *              ICalComponent comp = group.getComponent();
    -063     *      }
    -064     * 
    -065     *      //get parent components
    -066     *      List&lt;ICalComponent&gt; hierarchy = group.getComponentHierarchy();
    -067     * 
    -068     *      //get warning messages
    -069     *      List&lt;String&gt; messages = group.getMessages();
    -070     * }
    -071     * 
    -072     * //you can also get the warnings of specific properties/components
    -073     * List&lt;WarningsGroup&gt; dtstartWarnings = warnings.getByProperty(DateStart.class);
    -074     * List&lt;WarningsGroup&gt; veventWarnings = warnings.getByComponent(VEvent.class);
    -075     * </pre>
    -076     * 
    -077     * </p>
    -078     * @author Michael Angstadt
    -079     * @see ICalendar#validate()
    -080     */
    -081    public class ValidationWarnings implements Iterable<WarningsGroup> {
    -082            private final List<WarningsGroup> warnings;
    -083    
    -084            /**
    -085             * Creates a new validation warnings list.
    -086             * @param warnings the validation warnings
    -087             */
    -088            public ValidationWarnings(List<WarningsGroup> warnings) {
    -089                    this.warnings = warnings;
    -090            }
    -091    
    -092            /**
    -093             * Gets all validation warnings of a given property.
    -094             * @param propertyClass the property (e.g. {@code DateStart.class})
    -095             * @return the validation warnings
    -096             */
    -097            public List<WarningsGroup> getByProperty(Class<? extends ICalProperty> propertyClass) {
    -098                    List<WarningsGroup> warnings = new ArrayList<WarningsGroup>();
    -099                    for (WarningsGroup group : this.warnings) {
    -100                            ICalProperty property = group.getProperty();
    -101                            if (property == null) {
    -102                                    continue;
    -103                            }
    -104    
    -105                            if (propertyClass == property.getClass()) {
    -106                                    warnings.add(group);
    -107                            }
    -108                    }
    -109                    return warnings;
    -110            }
    -111    
    -112            /**
    -113             * Gets all validation warnings of a given component.
    -114             * @param componentClass the component (e.g. {@code VEvent.class})
    -115             * @return the validation warnings
    -116             */
    -117            public List<WarningsGroup> getByComponent(Class<? extends ICalComponent> componentClass) {
    -118                    List<WarningsGroup> warnings = new ArrayList<WarningsGroup>();
    -119                    for (WarningsGroup group : this.warnings) {
    -120                            ICalComponent component = group.getComponent();
    -121                            if (component == null) {
    -122                                    continue;
    -123                            }
    -124    
    -125                            if (componentClass == component.getClass()) {
    -126                                    warnings.add(group);
    -127                            }
    -128                    }
    -129                    return warnings;
    -130            }
    -131    
    -132            /**
    -133             * Gets all the validation warnings.
    -134             * @return the validation warnings
    -135             */
    -136            public List<WarningsGroup> getWarnings() {
    -137                    return warnings;
    -138            }
    -139    
    -140            /**
    -141             * Determines whether there are any validation warnings.
    -142             * @return true if there are none, false if there are one or more
    -143             */
    -144            public boolean isEmpty() {
    -145                    return warnings.isEmpty();
    -146            }
    -147    
    -148            /**
    -149             * <p>
    -150             * Outputs all validation warnings as a newline-delimited string. For
    -151             * example:
    -152             * </p>
    -153             * 
    -154             * <pre>
    -155             * [ICalendar]: ProductId is not set (it is a required property).
    -156             * [ICalendar > VEvent > DateStart]: DateStart must come before DateEnd.
    -157             * [ICalendar > VEvent > VAlarm]: The trigger must specify which date field its duration is relative to.
    -158             * </pre>
    -159             */
    -160            @Override
    -161            public String toString() {
    -162                    return StringUtils.join(warnings, StringUtils.NEWLINE);
    -163            }
    -164    
    -165            /**
    -166             * Iterates over each warning group (same as calling
    -167             * {@code getWarnings().iterator()}).
    -168             * @return the iterator
    -169             */
    -170            public Iterator<WarningsGroup> iterator() {
    -171                    return warnings.iterator();
    -172            }
    -173    
    -174            /**
    -175             * Holds the validation warnings of a property or component.
    -176             * @author Michael Angstadt
    -177             */
    -178            public static class WarningsGroup {
    -179                    private final ICalProperty property;
    -180                    private final ICalComponent component;
    -181                    private final List<ICalComponent> componentHierarchy;
    -182                    private final List<String> messages;
    -183    
    -184                    /**
    -185                     * Creates a new set of validation warnings for a property.
    -186                     * @param property the property that caused the warnings
    -187                     * @param componentHierarchy the hierarchy of components that the
    -188                     * property belongs to
    -189                     * @param messages the warning messages
    -190                     */
    -191                    public WarningsGroup(ICalProperty property, List<ICalComponent> componentHierarchy, List<String> messages) {
    -192                            this(null, property, componentHierarchy, messages);
    -193                    }
    -194    
    -195                    /**
    -196                     * Creates a new set of validation warnings for a component.
    -197                     * @param component the component that caused the warnings
    -198                     * @param componentHierarchy the hierarchy of components that the
    -199                     * component belongs to
    -200                     * @param messages the warning messages
    -201                     */
    -202                    public WarningsGroup(ICalComponent component, List<ICalComponent> componentHierarchy, List<String> messages) {
    -203                            this(component, null, componentHierarchy, messages);
    -204                    }
    -205    
    -206                    private WarningsGroup(ICalComponent component, ICalProperty property, List<ICalComponent> componentHierarchy, List<String> messages) {
    -207                            this.component = component;
    -208                            this.property = property;
    -209                            this.componentHierarchy = componentHierarchy;
    -210                            this.messages = messages;
    -211                    }
    -212    
    -213                    /**
    -214                     * Gets the property object that caused the validation warnings.
    -215                     * @return the property object or null if a component caused the
    -216                     * warnings.
    -217                     */
    -218                    public ICalProperty getProperty() {
    -219                            return property;
    -220                    }
    -221    
    -222                    /**
    -223                     * Gets the component object that caused the validation warnings.
    -224                     * @return the component object or null if a property caused the
    -225                     * warnings.
    -226                     */
    -227                    public ICalComponent getComponent() {
    -228                            return component;
    -229                    }
    -230    
    -231                    /**
    -232                     * Gets the hierarchy of components that the property or component
    -233                     * belongs to.
    -234                     * @return the component hierarchy
    -235                     */
    -236                    public List<ICalComponent> getComponentHierarchy() {
    -237                            return componentHierarchy;
    -238                    }
    -239    
    -240                    /**
    -241                     * Gets the warning messages.
    -242                     * @return the warning messages
    -243                     */
    -244                    public List<String> getMessages() {
    -245                            return messages;
    -246                    }
    -247    
    -248                    /**
    -249                     * <p>
    -250                     * Outputs each message in this warnings group as a newline-delimited
    -251                     * string. Each line includes the component hierarchy and the name of
    -252                     * the property/component. For example:
    -253                     * </p>
    -254                     * 
    -255                     * <pre>
    -256                     * [ICalendar > VEvent > VAlarm]: Email alarms must have at least one attendee.
    -257                     * [ICalendar > VEvent > VAlarm]: The trigger must specify which date field its duration is relative to.
    -258                     * </pre>
    -259                     */
    -260                    @Override
    -261                    public String toString() {
    -262                            final String prefix = "[" + buildPath() + "]: ";
    -263                            return StringUtils.join(messages, StringUtils.NEWLINE, new JoinCallback<String>() {
    -264                                    public void handle(StringBuilder sb, String message) {
    -265                                            sb.append(prefix).append(message);
    -266                                    }
    -267                            });
    -268                    }
    -269    
    -270                    private String buildPath() {
    -271                            StringBuilder sb = new StringBuilder();
    -272    
    -273                            if (!componentHierarchy.isEmpty()) {
    -274                                    String delimitor = " > ";
    -275    
    -276                                    StringUtils.join(componentHierarchy, delimitor, sb, new JoinCallback<ICalComponent>() {
    -277                                            public void handle(StringBuilder sb, ICalComponent component) {
    -278                                                    sb.append(component.getClass().getSimpleName());
    -279                                            }
    -280                                    });
    -281                                    sb.append(delimitor);
    -282                            }
    -283    
    -284                            if (property != null) {
    -285                                    sb.append(property.getClass().getSimpleName());
    -286                            } else {
    -287                                    sb.append(component.getClass().getSimpleName());
    -288                            }
    -289    
    -290                            return sb.toString();
    -291                    }
    -292            }
    -293    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/DaylightSavingsTime.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/DaylightSavingsTime.html deleted file mode 100644 index 43bda965..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/DaylightSavingsTime.html +++ /dev/null @@ -1,117 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines a daylight savings time range within a {@link VTimezone}.
    -031     * </p>
    -032     * <p>
    -033     * <b>Examples:</b>
    -034     * 
    -035     * <pre class="brush:java">
    -036     * VTimezone timezone = new VTimezone(&quot;Eastern Standard Time&quot;);
    -037     * DaylightSavingsTime daylight = new DaylightSavingsTime();
    -038     * DateTimeComponents components = new DateTimeComponents(1999, 4, 4, 2, 0, 0, false);
    -039     * daylight.setDateStart(components);
    -040     * daylight.setTimezoneOffsetFrom(-5, 0);
    -041     * daylight.setTimezoneOffsetTo(-4, 0);
    -042     * timezone.addDaylightSavingsTime(daylight);
    -043     * </pre>
    -044     * 
    -045     * </p>
    -046     * @author Michael Angstadt
    -047     * @rfc 5545 p.62-71
    -048     */
    -049    public class DaylightSavingsTime extends Observance {
    -050            //empty
    -051    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/ICalComponent.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/ICalComponent.html deleted file mode 100644 index 14640ae9..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/ICalComponent.html +++ /dev/null @@ -1,502 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.List;
    -005    
    -006    import biweekly.ICalDataType;
    -007    import biweekly.ICalendar;
    -008    import biweekly.ValidationWarnings.WarningsGroup;
    -009    import biweekly.property.ICalProperty;
    -010    import biweekly.property.RawProperty;
    -011    import biweekly.util.ListMultimap;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * The base class for iCalendar components.
    -040     * @author Michael Angstadt
    -041     */
    -042    public abstract class ICalComponent {
    -043            protected final ListMultimap<Class<? extends ICalComponent>, ICalComponent> components = new ListMultimap<Class<? extends ICalComponent>, ICalComponent>();
    -044            protected final ListMultimap<Class<? extends ICalProperty>, ICalProperty> properties = new ListMultimap<Class<? extends ICalProperty>, ICalProperty>();
    -045    
    -046            /**
    -047             * Gets the first property of a given class.
    -048             * @param clazz the property class
    -049             * @return the property or null if not found
    -050             */
    -051            public <T extends ICalProperty> T getProperty(Class<T> clazz) {
    -052                    return clazz.cast(properties.first(clazz));
    -053            }
    -054    
    -055            /**
    -056             * Gets all properties of a given class.
    -057             * @param clazz the property class
    -058             * @return the properties
    -059             */
    -060            public <T extends ICalProperty> List<T> getProperties(Class<T> clazz) {
    -061                    List<ICalProperty> props = properties.get(clazz);
    -062    
    -063                    //cast to the requested class
    -064                    List<T> ret = new ArrayList<T>(props.size());
    -065                    for (ICalProperty property : props) {
    -066                            ret.add(clazz.cast(property));
    -067                    }
    -068                    return ret;
    -069            }
    -070    
    -071            /**
    -072             * Gets all the properties associated with this component.
    -073             * @return the properties
    -074             */
    -075            public ListMultimap<Class<? extends ICalProperty>, ICalProperty> getProperties() {
    -076                    return properties;
    -077            }
    -078    
    -079            /**
    -080             * Adds a property to this component.
    -081             * @param property the property to add
    -082             */
    -083            public void addProperty(ICalProperty property) {
    -084                    properties.put(property.getClass(), property);
    -085            }
    -086    
    -087            /**
    -088             * Replaces all existing properties of the given class with a single
    -089             * property instance.
    -090             * @param property the property (must not be null)
    -091             */
    -092            public void setProperty(ICalProperty property) {
    -093                    properties.replace(property.getClass(), property);
    -094            }
    -095    
    -096            /**
    -097             * Replaces all existing properties of the given class with a single
    -098             * property instance. If the property instance is null, then all instances
    -099             * of that property will be removed.
    -100             * @param clazz the property class (e.g. "Version.class")
    -101             * @param property the property or null to remove
    -102             */
    -103            public <T extends ICalProperty> void setProperty(Class<T> clazz, T property) {
    -104                    properties.replace(clazz, property);
    -105            }
    -106    
    -107            /**
    -108             * Removes properties from the iCalendar object.
    -109             * @param clazz the class of the properties to remove (e.g. "Version.class")
    -110             */
    -111            public void removeProperties(Class<? extends ICalProperty> clazz) {
    -112                    properties.removeAll(clazz);
    -113            }
    -114    
    -115            /**
    -116             * Gets the first experimental property with a given name.
    -117             * @param name the property name (e.g. "X-ALT-DESC")
    -118             * @return the property or null if none were found
    -119             */
    -120            public RawProperty getExperimentalProperty(String name) {
    -121                    for (RawProperty raw : getProperties(RawProperty.class)) {
    -122                            if (raw.getName().equalsIgnoreCase(name)) {
    -123                                    return raw;
    -124                            }
    -125                    }
    -126                    return null;
    -127            }
    -128    
    -129            /**
    -130             * Gets all experimental properties with a given name.
    -131             * @param name the property name (e.g. "X-ALT-DESC")
    -132             * @return the properties
    -133             */
    -134            public List<RawProperty> getExperimentalProperties(String name) {
    -135                    List<RawProperty> props = new ArrayList<RawProperty>();
    -136    
    -137                    for (RawProperty raw : getProperties(RawProperty.class)) {
    -138                            if (raw.getName().equalsIgnoreCase(name)) {
    -139                                    props.add(raw);
    -140                            }
    -141                    }
    -142    
    -143                    return props;
    -144            }
    -145    
    -146            /**
    -147             * Gets all experimental properties associated with this component.
    -148             * @return the properties
    -149             */
    -150            public List<RawProperty> getExperimentalProperties() {
    -151                    return getProperties(RawProperty.class);
    -152            }
    -153    
    -154            /**
    -155             * Adds an experimental property to this component.
    -156             * @param name the property name (e.g. "X-ALT-DESC")
    -157             * @param value the property value
    -158             * @return the property object that was created
    -159             */
    -160            public RawProperty addExperimentalProperty(String name, String value) {
    -161                    return addExperimentalProperty(name, null, value);
    -162            }
    -163    
    -164            /**
    -165             * Adds an experimental property to this component.
    -166             * @param name the property name (e.g. "X-ALT-DESC")
    -167             * @param dataType the property's data type (e.g. "text") or null if unknown
    -168             * @param value the property value
    -169             * @return the property object that was created
    -170             */
    -171            public RawProperty addExperimentalProperty(String name, ICalDataType dataType, String value) {
    -172                    RawProperty raw = new RawProperty(name, dataType, value);
    -173                    addProperty(raw);
    -174                    return raw;
    -175            }
    -176    
    -177            /**
    -178             * Adds an experimental property to this component, removing all existing
    -179             * properties that have the same name.
    -180             * @param name the property name (e.g. "X-ALT-DESC")
    -181             * @param value the property value
    -182             * @return the property object that was created
    -183             */
    -184            public RawProperty setExperimentalProperty(String name, String value) {
    -185                    return setExperimentalProperty(name, null, value);
    -186            }
    -187    
    -188            /**
    -189             * Adds an experimental property to this component, removing all existing
    -190             * properties that have the same name.
    -191             * @param name the property name (e.g. "X-ALT-DESC")
    -192             * @param dataType the property's data type (e.g. "text") or null if unknown
    -193             * @param value the property value
    -194             * @return the property object that was created
    -195             */
    -196            public RawProperty setExperimentalProperty(String name, ICalDataType dataType, String value) {
    -197                    removeExperimentalProperty(name);
    -198                    return addExperimentalProperty(name, dataType, value);
    -199            }
    -200    
    -201            /**
    -202             * Removes all experimental properties that have the given name.
    -203             * @param name the component name (e.g. "X-ALT-DESC")
    -204             */
    -205            public void removeExperimentalProperty(String name) {
    -206                    List<RawProperty> xproperties = getExperimentalProperties(name);
    -207                    for (RawProperty xproperty : xproperties) {
    -208                            properties.remove(xproperty.getClass(), xproperty);
    -209                    }
    -210            }
    -211    
    -212            /**
    -213             * Gets the first component of a given class.
    -214             * @param clazz the component class
    -215             * @return the component or null if not found
    -216             */
    -217            public <T extends ICalComponent> T getComponent(Class<T> clazz) {
    -218                    return clazz.cast(components.first(clazz));
    -219            }
    -220    
    -221            /**
    -222             * Gets all components of a given class.
    -223             * @param clazz the component class
    -224             * @return the components
    -225             */
    -226            public <T extends ICalComponent> List<T> getComponents(Class<T> clazz) {
    -227                    List<ICalComponent> comp = components.get(clazz);
    -228    
    -229                    //cast to the requested class
    -230                    List<T> ret = new ArrayList<T>(comp.size());
    -231                    for (ICalComponent property : comp) {
    -232                            ret.add(clazz.cast(property));
    -233                    }
    -234                    return ret;
    -235            }
    -236    
    -237            /**
    -238             * Gets all the sub-components associated with this component.
    -239             * @return the sub-components
    -240             */
    -241            public ListMultimap<Class<? extends ICalComponent>, ICalComponent> getComponents() {
    -242                    return components;
    -243            }
    -244    
    -245            /**
    -246             * Adds a sub-component to this component.
    -247             * @param component the component to add
    -248             */
    -249            public void addComponent(ICalComponent component) {
    -250                    components.put(component.getClass(), component);
    -251            }
    -252    
    -253            /**
    -254             * Replaces all components of a given class with the given component.
    -255             * @param component the component (must not be null)
    -256             */
    -257            public void setComponent(ICalComponent component) {
    -258                    components.replace(component.getClass(), component);
    -259            }
    -260    
    -261            /**
    -262             * Replaces all components of a given class with the given component. If the
    -263             * component instance is null, then all instances of that component will be
    -264             * removed.
    -265             * @param clazz the component's class
    -266             * @param component the component or null to remove
    -267             */
    -268            public <T extends ICalComponent> void setComponent(Class<T> clazz, T component) {
    -269                    components.replace(clazz, component);
    -270            }
    -271    
    -272            /**
    -273             * Gets the first experimental sub-component with a given name.
    -274             * @param name the component name (e.g. "X-PARTY")
    -275             * @return the component or null if none were found
    -276             */
    -277            public RawComponent getExperimentalComponent(String name) {
    -278                    for (RawComponent raw : getComponents(RawComponent.class)) {
    -279                            if (raw.getName().equalsIgnoreCase(name)) {
    -280                                    return raw;
    -281                            }
    -282                    }
    -283                    return null;
    -284            }
    -285    
    -286            /**
    -287             * Gets all experimental sub-component with a given name.
    -288             * @param name the component name (e.g. "X-PARTY")
    -289             * @return the components
    -290             */
    -291            public List<RawComponent> getExperimentalComponents(String name) {
    -292                    List<RawComponent> props = new ArrayList<RawComponent>();
    -293    
    -294                    for (RawComponent raw : getComponents(RawComponent.class)) {
    -295                            if (raw.getName().equalsIgnoreCase(name)) {
    -296                                    props.add(raw);
    -297                            }
    -298                    }
    -299    
    -300                    return props;
    -301            }
    -302    
    -303            /**
    -304             * Gets all experimental sub-components associated with this component.
    -305             * @return the sub-components
    -306             */
    -307            public List<RawComponent> getExperimentalComponents() {
    -308                    return getComponents(RawComponent.class);
    -309            }
    -310    
    -311            /**
    -312             * Adds an experimental sub-component to this component.
    -313             * @param name the component name (e.g. "X-PARTY")
    -314             * @return the component object that was created
    -315             */
    -316            public RawComponent addExperimentalComponent(String name) {
    -317                    RawComponent raw = new RawComponent(name);
    -318                    addComponent(raw);
    -319                    return raw;
    -320            }
    -321    
    -322            /**
    -323             * Adds an experimental sub-component to this component, removing all
    -324             * existing components that have the same name.
    -325             * @param name the component name (e.g. "X-PARTY")
    -326             * @return the component object that was created
    -327             */
    -328            public RawComponent setExperimentalComponents(String name) {
    -329                    removeExperimentalComponents(name);
    -330                    return addExperimentalComponent(name);
    -331            }
    -332    
    -333            /**
    -334             * Removes all experimental sub-components that have the given name.
    -335             * @param name the component name (e.g. "X-PARTY")
    -336             */
    -337            public void removeExperimentalComponents(String name) {
    -338                    List<RawComponent> xcomponents = getExperimentalComponents(name);
    -339                    for (RawComponent xcomponent : xcomponents) {
    -340                            components.remove(xcomponent.getClass(), xcomponent);
    -341                    }
    -342            }
    -343    
    -344            /**
    -345             * Checks the component for data consistency problems or deviations from the
    -346             * spec. These problems will not prevent the component from being written to
    -347             * a data stream, but may prevent it from being parsed correctly by the
    -348             * consuming application. These problems can largely be avoided by reading
    -349             * the Javadocs of the component class, or by being familiar with the
    -350             * iCalendar standard.
    -351             * @param hierarchy the hierarchy of components that the component belongs
    -352             * to
    -353             * @see ICalendar#validate
    -354             * @return a list of warnings or an empty list if no problems were found
    -355             */
    -356            public final List<WarningsGroup> validate(List<ICalComponent> hierarchy) {
    -357                    List<WarningsGroup> warnings = new ArrayList<WarningsGroup>();
    -358    
    -359                    //validate this component
    -360                    List<String> warningsBuf = new ArrayList<String>(0);
    -361                    validate(hierarchy, warningsBuf);
    -362                    if (!warningsBuf.isEmpty()) {
    -363                            warnings.add(new WarningsGroup(this, hierarchy, warningsBuf));
    -364                    }
    -365    
    -366                    //add this component to the hierarchy list
    -367                    //copy the list so other validate() calls aren't effected
    -368                    hierarchy = new ArrayList<ICalComponent>(hierarchy);
    -369                    hierarchy.add(this);
    -370    
    -371                    //validate properties
    -372                    for (ICalProperty property : properties.values()) {
    -373                            List<String> propWarnings = property.validate(hierarchy);
    -374                            if (!propWarnings.isEmpty()) {
    -375                                    warnings.add(new WarningsGroup(property, hierarchy, propWarnings));
    -376                            }
    -377                    }
    -378    
    -379                    //validate sub-components
    -380                    for (ICalComponent component : components.values()) {
    -381                            warnings.addAll(component.validate(hierarchy));
    -382                    }
    -383    
    -384                    return warnings;
    -385            }
    -386    
    -387            /**
    -388             * Checks the component for data consistency problems or deviations from the
    -389             * spec. Meant to be overridden by child classes.
    -390             * @param components the hierarchy of components that the component belongs
    -391             * to
    -392             * @param warnings the list to add the warnings to
    -393             */
    -394            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -395                    //do nothing
    -396            }
    -397    
    -398            /**
    -399             * Utility method for validating that there is exactly one instance of each
    -400             * of the given properties.
    -401             * @param warnings the list to add the warnings to
    -402             * @param classes the properties to check
    -403             */
    -404            protected void checkRequiredCardinality(List<String> warnings, Class<? extends ICalProperty>... classes) {
    -405                    for (Class<? extends ICalProperty> clazz : classes) {
    -406                            List<? extends ICalProperty> props = getProperties(clazz);
    -407    
    -408                            if (props.isEmpty()) {
    -409                                    warnings.add(clazz.getSimpleName() + " is not set (it is a required property).");
    -410                                    continue;
    -411                            }
    -412    
    -413                            if (props.size() > 1) {
    -414                                    warnings.add("There cannot be more than one instance of " + clazz.getSimpleName() + ".");
    -415                                    continue;
    -416                            }
    -417                    }
    -418            }
    -419    
    -420            /**
    -421             * Utility method for validating that there is no more than one instance of
    -422             * each of the given properties.
    -423             * @param warnings the list to add the warnings to
    -424             * @param classes the properties to check
    -425             */
    -426            protected void checkOptionalCardinality(List<String> warnings, Class<? extends ICalProperty>... classes) {
    -427                    for (Class<? extends ICalProperty> clazz : classes) {
    -428                            List<? extends ICalProperty> props = getProperties(clazz);
    -429    
    -430                            if (props.size() > 1) {
    -431                                    warnings.add("There cannot be more than one instance of " + clazz.getSimpleName() + ".");
    -432                                    continue;
    -433                            }
    -434                    }
    -435            }
    -436    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/Observance.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/Observance.html deleted file mode 100644 index b7393dc7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/Observance.html +++ /dev/null @@ -1,363 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.property.Comment;
    -007    import biweekly.property.DateStart;
    -008    import biweekly.property.ExceptionDates;
    -009    import biweekly.property.RecurrenceDates;
    -010    import biweekly.property.RecurrenceRule;
    -011    import biweekly.property.TimezoneName;
    -012    import biweekly.property.TimezoneOffsetFrom;
    -013    import biweekly.property.TimezoneOffsetTo;
    -014    import biweekly.util.DateTimeComponents;
    -015    import biweekly.util.Recurrence;
    -016    
    -017    /*
    -018     Copyright (c) 2013, Michael Angstadt
    -019     All rights reserved.
    -020    
    -021     Redistribution and use in source and binary forms, with or without
    -022     modification, are permitted provided that the following conditions are met: 
    -023    
    -024     1. Redistributions of source code must retain the above copyright notice, this
    -025     list of conditions and the following disclaimer. 
    -026     2. Redistributions in binary form must reproduce the above copyright notice,
    -027     this list of conditions and the following disclaimer in the documentation
    -028     and/or other materials provided with the distribution. 
    -029    
    -030     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -031     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -032     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -033     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -034     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -035     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -036     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -037     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -038     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -039     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -040     */
    -041    
    -042    /**
    -043     * Parent class for the "daylight" and "standard" timezone observances.
    -044     * @author Michael Angstadt
    -045     * @see DaylightSavingsTime
    -046     * @see StandardTime
    -047     * @rfc 5545 p.62-71
    -048     */
    -049    public abstract class Observance extends ICalComponent {
    -050            /**
    -051             * Gets the date that the timezone observance starts.
    -052             * @return the start date or null if not set
    -053             * @rfc 5545 p.97-8
    -054             */
    -055            public DateStart getDateStart() {
    -056                    return getProperty(DateStart.class);
    -057            }
    -058    
    -059            /**
    -060             * Sets the date that the timezone observance starts.
    -061             * @param dateStart the start date or null to remove
    -062             * @rfc 5545 p.97-8
    -063             */
    -064            public void setDateStart(DateStart dateStart) {
    -065                    if (dateStart != null) {
    -066                            dateStart.setLocalTime(true);
    -067                    }
    -068                    setProperty(DateStart.class, dateStart);
    -069            }
    -070    
    -071            /**
    -072             * Sets the date that the timezone observance starts.
    -073             * @param components the raw components of the start date or null to remove
    -074             * @return the property that was created
    -075             * @rfc 5545 p.97-8
    -076             */
    -077            public DateStart setDateStart(DateTimeComponents components) {
    -078                    DateStart prop = (components == null) ? null : new DateStart(components);
    -079                    setDateStart(prop);
    -080                    return prop;
    -081            }
    -082    
    -083            /**
    -084             * Gets the UTC offset that the timezone observance transitions to.
    -085             * @return the UTC offset or null if not set
    -086             * @rfc 5545 p.105-6
    -087             */
    -088            public TimezoneOffsetTo getTimezoneOffsetTo() {
    -089                    return getProperty(TimezoneOffsetTo.class);
    -090            }
    -091    
    -092            /**
    -093             * Sets the UTC offset that the timezone observance transitions to.
    -094             * @param timezoneOffsetTo the UTC offset or null to remove
    -095             * @rfc 5545 p.105-6
    -096             */
    -097            public void setTimezoneOffsetTo(TimezoneOffsetTo timezoneOffsetTo) {
    -098                    setProperty(TimezoneOffsetTo.class, timezoneOffsetTo);
    -099            }
    -100    
    -101            /**
    -102             * Sets the UTC offset that the timezone observance transitions to.
    -103             * @param hour the hour offset (e.g. "-5")
    -104             * @param minute the minute offset (e.g. "0")
    -105             * @return the property that was created
    -106             * @rfc 5545 p.105-6
    -107             */
    -108            public TimezoneOffsetTo setTimezoneOffsetTo(Integer hour, Integer minute) {
    -109                    TimezoneOffsetTo prop = new TimezoneOffsetTo(hour, minute);
    -110                    setTimezoneOffsetTo(prop);
    -111                    return prop;
    -112            }
    -113    
    -114            /**
    -115             * Gets the UTC offset that the timezone observance transitions from.
    -116             * @return the UTC offset or null if not set
    -117             * @rfc 5545 p.104-5
    -118             */
    -119            public TimezoneOffsetFrom getTimezoneOffsetFrom() {
    -120                    return getProperty(TimezoneOffsetFrom.class);
    -121            }
    -122    
    -123            /**
    -124             * Sets the UTC offset that the timezone observance transitions from.
    -125             * @param timezoneOffsetFrom the UTC offset or null to remove
    -126             * @rfc 5545 p.104-5
    -127             */
    -128            public void setTimezoneOffsetFrom(TimezoneOffsetFrom timezoneOffsetFrom) {
    -129                    setProperty(TimezoneOffsetFrom.class, timezoneOffsetFrom);
    -130            }
    -131    
    -132            /**
    -133             * Sets the UTC offset that the timezone observance transitions from.
    -134             * @param hour the hour offset (e.g. "-5")
    -135             * @param minute the minute offset (e.g. "0")
    -136             * @return the property that was created
    -137             * @rfc 5545 p.104-5
    -138             */
    -139            public TimezoneOffsetFrom setTimezoneOffsetFrom(Integer hour, Integer minute) {
    -140                    TimezoneOffsetFrom prop = new TimezoneOffsetFrom(hour, minute);
    -141                    setTimezoneOffsetFrom(prop);
    -142                    return prop;
    -143            }
    -144    
    -145            /**
    -146             * Gets how often the timezone observance repeats.
    -147             * @return the recurrence rule or null if not set
    -148             * @rfc 5545 p.122-32
    -149             */
    -150            public RecurrenceRule getRecurrenceRule() {
    -151                    return getProperty(RecurrenceRule.class);
    -152            }
    -153    
    -154            /**
    -155             * Sets how often the timezone observance repeats.
    -156             * @param recur the recurrence rule or null to remove
    -157             * @return the property that was created
    -158             * @rfc 5545 p.122-32
    -159             */
    -160            public RecurrenceRule setRecurrenceRule(Recurrence recur) {
    -161                    RecurrenceRule prop = (recur == null) ? null : new RecurrenceRule(recur);
    -162                    setRecurrenceRule(prop);
    -163                    return prop;
    -164            }
    -165    
    -166            /**
    -167             * Sets how often the timezone observance repeats.
    -168             * @param recurrenceRule the recurrence rule or null to remove
    -169             * @rfc 5545 p.122-32
    -170             */
    -171            public void setRecurrenceRule(RecurrenceRule recurrenceRule) {
    -172                    setProperty(RecurrenceRule.class, recurrenceRule);
    -173            }
    -174    
    -175            /**
    -176             * Gets the comments attached to the timezone observance.
    -177             * @return the comments
    -178             * @rfc 5545 p.83-4
    -179             */
    -180            public List<Comment> getComments() {
    -181                    return getProperties(Comment.class);
    -182            }
    -183    
    -184            /**
    -185             * Adds a comment to the timezone observance.
    -186             * @param comment the comment to add
    -187             * @rfc 5545 p.83-4
    -188             */
    -189            public void addComment(Comment comment) {
    -190                    addProperty(comment);
    -191            }
    -192    
    -193            /**
    -194             * Adds a comment to the timezone observance.
    -195             * @param comment the comment to add
    -196             * @return the property that was created
    -197             * @rfc 5545 p.83-4
    -198             */
    -199            public Comment addComment(String comment) {
    -200                    Comment prop = new Comment(comment);
    -201                    addComment(prop);
    -202                    return prop;
    -203            }
    -204    
    -205            /**
    -206             * Gets the list of dates/periods that help define the recurrence rule of
    -207             * this timezone observance (if one is defined).
    -208             * @return the recurrence dates
    -209             * @rfc 5545 p.120-2
    -210             */
    -211            public List<RecurrenceDates> getRecurrenceDates() {
    -212                    return getProperties(RecurrenceDates.class);
    -213            }
    -214    
    -215            /**
    -216             * Adds a list of dates/periods that help define the recurrence rule of this
    -217             * timezone observance (if one is defined).
    -218             * @param recurrenceDates the recurrence dates
    -219             * @rfc 5545 p.120-2
    -220             */
    -221            public void addRecurrenceDates(RecurrenceDates recurrenceDates) {
    -222                    addProperty(recurrenceDates);
    -223            }
    -224    
    -225            /**
    -226             * Gets the traditional, non-standard names for the timezone observance.
    -227             * @return the timezone observance names
    -228             * @rfc 5545 p.103-4
    -229             */
    -230            public List<TimezoneName> getTimezoneNames() {
    -231                    return getProperties(TimezoneName.class);
    -232            }
    -233    
    -234            /**
    -235             * Adds a traditional, non-standard name for the timezone observance.
    -236             * @param timezoneName the timezone observance name
    -237             * @rfc 5545 p.103-4
    -238             */
    -239            public void addTimezoneName(TimezoneName timezoneName) {
    -240                    addProperty(timezoneName);
    -241            }
    -242    
    -243            /**
    -244             * Adds a traditional, non-standard name for the timezone observance.
    -245             * @param timezoneName the timezone observance name (e.g. "EST")
    -246             * @return the property that was created
    -247             * @rfc 5545 p.103-4
    -248             */
    -249            public TimezoneName addTimezoneName(String timezoneName) {
    -250                    TimezoneName prop = new TimezoneName(timezoneName);
    -251                    addTimezoneName(prop);
    -252                    return prop;
    -253            }
    -254    
    -255            /**
    -256             * Gets the list of exceptions to the timezone observance.
    -257             * @return the list of exceptions
    -258             * @rfc 5545 p.118-20
    -259             */
    -260            public List<ExceptionDates> getExceptionDates() {
    -261                    return getProperties(ExceptionDates.class);
    -262            }
    -263    
    -264            /**
    -265             * Adds a list of exceptions to the timezone observance. Note that this
    -266             * property can contain multiple dates.
    -267             * @param exceptionDates the list of exceptions
    -268             * @rfc 5545 p.118-20
    -269             */
    -270            public void addExceptionDates(ExceptionDates exceptionDates) {
    -271                    addProperty(exceptionDates);
    -272            }
    -273    
    -274            @SuppressWarnings("unchecked")
    -275            @Override
    -276            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -277                    checkRequiredCardinality(warnings, DateStart.class, TimezoneOffsetTo.class, TimezoneOffsetFrom.class);
    -278    
    -279                    //RFC 5545 p. 167
    -280                    DateStart dateStart = getDateStart();
    -281                    RecurrenceRule rrule = getRecurrenceRule();
    -282                    if (dateStart != null && rrule != null) {
    -283                            Date start = dateStart.getValue();
    -284                            Recurrence recur = rrule.getValue();
    -285                            if (start != null && recur != null) {
    -286                                    if (!dateStart.hasTime() && (!recur.getByHour().isEmpty() || !recur.getByMinute().isEmpty() || !recur.getBySecond().isEmpty())) {
    -287                                            warnings.add("The BYHOUR, BYMINUTE, and BYSECOND rule parts cannot be specified in the " + RecurrenceRule.class.getSimpleName() + " property when the " + DateStart.class.getSimpleName() + " property contains a date value (as opposed to a date-time value).");
    -288                                    }
    -289                            }
    -290                    }
    -291    
    -292                    //RFC 5545 p. 167
    -293                    if (getProperties(RecurrenceRule.class).size() > 1) {
    -294                            warnings.add("There should be only one instance of the " + RecurrenceRule.class.getSimpleName() + " property.");
    -295                    }
    -296            }
    -297    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/RawComponent.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/RawComponent.html deleted file mode 100644 index f75c68eb..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/RawComponent.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * A component that does not have a marshaller associated with it.
    -030     * @author Michael Angstadt
    -031     */
    -032    public class RawComponent extends ICalComponent {
    -033            private final String name;
    -034    
    -035            public RawComponent(String name) {
    -036                    this.name = name;
    -037            }
    -038    
    -039            public String getName() {
    -040                    return name;
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/StandardTime.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/StandardTime.html deleted file mode 100644 index 43bd29ac..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/StandardTime.html +++ /dev/null @@ -1,117 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines a standard time range within a {@link VTimezone}.
    -031     * </p>
    -032     * <p>
    -033     * <b>Examples:</b>
    -034     * 
    -035     * <pre class="brush:java">
    -036     * VTimezone timezone = new VTimezone(&quot;Eastern Standard Time&quot;);
    -037     * StandardTime standard = new StandardTime();
    -038     * DateTimeComponents components = new DateTimeComponents(1998, 10, 25, 2, 0, 0, false);
    -039     * standard.setDateStart(components);
    -040     * standard.setTimezoneOffsetFrom(-4, 0);
    -041     * standard.setTimezoneOffsetTo(-5, 0);
    -042     * timezone.addStandardTime(standard);
    -043     * </pre>
    -044     * 
    -045     * </p>
    -046     * @author Michael Angstadt
    -047     * @rfc 5545 p.62-71
    -048     */
    -049    public class StandardTime extends Observance {
    -050            //empty
    -051    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VAlarm.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VAlarm.html deleted file mode 100644 index 5de3a7eb..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VAlarm.html +++ /dev/null @@ -1,552 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    import java.util.Arrays;
    -004    import java.util.List;
    -005    
    -006    import biweekly.parameter.Related;
    -007    import biweekly.property.Action;
    -008    import biweekly.property.Attachment;
    -009    import biweekly.property.Attendee;
    -010    import biweekly.property.DateDue;
    -011    import biweekly.property.DateEnd;
    -012    import biweekly.property.DateStart;
    -013    import biweekly.property.Description;
    -014    import biweekly.property.DurationProperty;
    -015    import biweekly.property.Repeat;
    -016    import biweekly.property.Summary;
    -017    import biweekly.property.Trigger;
    -018    import biweekly.util.Duration;
    -019    
    -020    /*
    -021     Copyright (c) 2013, Michael Angstadt
    -022     All rights reserved.
    -023    
    -024     Redistribution and use in source and binary forms, with or without
    -025     modification, are permitted provided that the following conditions are met: 
    -026    
    -027     1. Redistributions of source code must retain the above copyright notice, this
    -028     list of conditions and the following disclaimer. 
    -029     2. Redistributions in binary form must reproduce the above copyright notice,
    -030     this list of conditions and the following disclaimer in the documentation
    -031     and/or other materials provided with the distribution. 
    -032    
    -033     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -034     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -035     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -036     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -037     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -038     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -039     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -040     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -041     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -042     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -043     */
    -044    
    -045    /**
    -046     * <p>
    -047     * Defines a reminder for an event or to-do task. This class contains static
    -048     * factory methods to aid in the construction of valid alarms.
    -049     * </p>
    -050     * 
    -051     * <p>
    -052     * <b>Examples:</b>
    -053     * 
    -054     * <pre class="brush:java">
    -055     * //audio alarm
    -056     * Trigger trigger = ...
    -057     * Attachment sound = ...
    -058     * VAlarm audio = VAlarm.audio(trigger, sound);
    -059     * 
    -060     * //display alarm
    -061     * Trigger trigger = ...
    -062     * String message = &quot;Meeting at 1pm&quot;;
    -063     * VAlarm display = VAlarm.display(trigger, message);
    -064     * 
    -065     * //email alarm
    -066     * Trigger trigger = ...
    -067     * String subject = &quot;Reminder: Meeting at 1pm&quot;;
    -068     * String body = &quot;Team,\n\nThe team meeting scheduled for 1pm is about to start.  Snacks will be served!\n\nThanks,\nJohn&quot;;
    -069     * List&lt;String&gt; to = Arrays.asList(&quot;janedoe@example.com&quot;, &quot;bobsmith@example.com&quot;);
    -070     * VAlarm email = VAlarm.email(trigger, subject, body, to);
    -071     * </pre>
    -072     * 
    -073     * </p>
    -074     * @author Michael Angstadt
    -075     * @rfc 5545 p.71-6
    -076     */
    -077    public class VAlarm extends ICalComponent {
    -078            /**
    -079             * Creates a new alarm. Consider using one of the static factory methods
    -080             * instead.
    -081             * @param action the alarm action (e.g. "email")
    -082             * @param trigger the trigger
    -083             */
    -084            public VAlarm(Action action, Trigger trigger) {
    -085                    setAction(action);
    -086                    setTrigger(trigger);
    -087            }
    -088    
    -089            /**
    -090             * Creates an audio alarm.
    -091             * @param trigger the trigger
    -092             * @return the alarm
    -093             */
    -094            public static VAlarm audio(Trigger trigger) {
    -095                    return audio(trigger, null);
    -096            }
    -097    
    -098            /**
    -099             * Creates an audio alarm.
    -100             * @param trigger the trigger
    -101             * @param sound a sound to play when the alarm triggers
    -102             * @return the alarm
    -103             */
    -104            public static VAlarm audio(Trigger trigger, Attachment sound) {
    -105                    VAlarm alarm = new VAlarm(Action.audio(), trigger);
    -106                    if (sound != null) {
    -107                            alarm.addAttachment(sound);
    -108                    }
    -109                    return alarm;
    -110            }
    -111    
    -112            /**
    -113             * Creates a display alarm.
    -114             * @param trigger the trigger
    -115             * @param displayText the display text
    -116             * @return the alarm
    -117             */
    -118            public static VAlarm display(Trigger trigger, String displayText) {
    -119                    VAlarm alarm = new VAlarm(Action.display(), trigger);
    -120                    alarm.setDescription(displayText);
    -121                    return alarm;
    -122            }
    -123    
    -124            /**
    -125             * Creates an email alarm.
    -126             * @param trigger the trigger
    -127             * @param subject the email subject
    -128             * @param body the email body
    -129             * @param recipients the email address(es) to send the alert to
    -130             * @return the alarm
    -131             */
    -132            public static VAlarm email(Trigger trigger, String subject, String body, String... recipients) {
    -133                    return email(trigger, subject, body, Arrays.asList(recipients));
    -134            }
    -135    
    -136            /**
    -137             * Creates an email alarm.
    -138             * @param trigger the trigger
    -139             * @param subject the email subject
    -140             * @param body the email body
    -141             * @param recipients the email address(es) to send the alert to
    -142             * @return the alarm
    -143             */
    -144            public static VAlarm email(Trigger trigger, String subject, String body, List<String> recipients) {
    -145                    VAlarm alarm = new VAlarm(Action.email(), trigger);
    -146                    alarm.setSummary(subject);
    -147                    alarm.setDescription(body);
    -148                    for (String recipient : recipients) {
    -149                            alarm.addAttendee(Attendee.email(recipient));
    -150                    }
    -151                    return alarm;
    -152            }
    -153    
    -154            /**
    -155             * Gets any attachments that are associated with the alarm.
    -156             * @return the attachments
    -157             * @rfc 5545 p.80-1
    -158             */
    -159            public List<Attachment> getAttachments() {
    -160                    return getProperties(Attachment.class);
    -161            }
    -162    
    -163            /**
    -164             * Adds an attachment to the alarm. Note that AUDIO alarms should only have
    -165             * 1 attachment.
    -166             * @param attachment the attachment to add
    -167             * @rfc 5545 p.80-1
    -168             */
    -169            public void addAttachment(Attachment attachment) {
    -170                    addProperty(attachment);
    -171            }
    -172    
    -173            /**
    -174             * <p>
    -175             * Gets a detailed description of the alarm. The description should be more
    -176             * detailed than the one provided by the {@link Summary} property.
    -177             * </p>
    -178             * <p>
    -179             * This property has different meanings, depending on the alarm action:
    -180             * <ul>
    -181             * <li>DISPLAY - the display text</li>
    -182             * <li>EMAIL - the body of the email message</li>
    -183             * <li>all others - a general description of the alarm</li>
    -184             * </ul>
    -185             * </p>
    -186             * @return the description or null if not set
    -187             * @rfc 5545 p.84-5
    -188             */
    -189            public Description getDescription() {
    -190                    return getProperty(Description.class);
    -191            }
    -192    
    -193            /**
    -194             * <p>
    -195             * Sets a detailed description of the alarm. The description should be more
    -196             * detailed than the one provided by the {@link Summary} property.
    -197             * </p>
    -198             * <p>
    -199             * This property has different meanings, depending on the alarm action:
    -200             * <ul>
    -201             * <li>DISPLAY - the display text</li>
    -202             * <li>EMAIL - the body of the email message</li>
    -203             * <li>all others - a general description of the alarm</li>
    -204             * </ul>
    -205             * </p>
    -206             * @param description the description or null to remove
    -207             * @rfc 5545 p.84-5
    -208             */
    -209            public void setDescription(Description description) {
    -210                    setProperty(Description.class, description);
    -211            }
    -212    
    -213            /**
    -214             * <p>
    -215             * Sets a detailed description of the alarm. The description should be more
    -216             * detailed than the one provided by the {@link Summary} property.
    -217             * </p>
    -218             * <p>
    -219             * This property has different meanings, depending on the alarm action:
    -220             * <ul>
    -221             * <li>DISPLAY - the display text</li>
    -222             * <li>EMAIL - the body of the email message</li>
    -223             * <li>all others - a general description of the alarm</li>
    -224             * </ul>
    -225             * </p>
    -226             * @param description the description or null to remove
    -227             * @return the property that was created
    -228             * @rfc 5545 p.84-5
    -229             */
    -230            public Description setDescription(String description) {
    -231                    Description prop = (description == null) ? null : new Description(description);
    -232                    setDescription(prop);
    -233                    return prop;
    -234            }
    -235    
    -236            /**
    -237             * <p>
    -238             * Gets the summary of the alarm.
    -239             * </p>
    -240             * <p>
    -241             * This property has different meanings, depending on the alarm action:
    -242             * <ul>
    -243             * <li>EMAIL - the subject line of the email</li>
    -244             * <li>all others - a one-line summary of the alarm</li>
    -245             * </ul>
    -246             * </p>
    -247             * @return the summary or null if not set
    -248             * @rfc 5545 p.93-4
    -249             */
    -250            public Summary getSummary() {
    -251                    return getProperty(Summary.class);
    -252            }
    -253    
    -254            /**
    -255             * <p>
    -256             * Sets the summary of the alarm.
    -257             * </p>
    -258             * <p>
    -259             * This property has different meanings, depending on the alarm action:
    -260             * <ul>
    -261             * <li>EMAIL - the subject line of the email</li>
    -262             * <li>all others - a one-line summary of the alarm</li>
    -263             * </ul>
    -264             * </p>
    -265             * @param summary the summary or null to remove
    -266             * @rfc 5545 p.93-4
    -267             */
    -268            public void setSummary(Summary summary) {
    -269                    setProperty(Summary.class, summary);
    -270            }
    -271    
    -272            /**
    -273             * <p>
    -274             * Sets the summary of the alarm.
    -275             * </p>
    -276             * <p>
    -277             * This property has different meanings, depending on the alarm action:
    -278             * <ul>
    -279             * <li>EMAIL - the subject line of the email</li>
    -280             * <li>all others - a one-line summary of the alarm</li>
    -281             * </ul>
    -282             * </p>
    -283             * @param summary the summary or null to remove
    -284             * @return the property that was created
    -285             * @rfc 5545 p.93-4
    -286             */
    -287            public Summary setSummary(String summary) {
    -288                    Summary prop = (summary == null) ? null : new Summary(summary);
    -289                    setSummary(prop);
    -290                    return prop;
    -291            }
    -292    
    -293            /**
    -294             * Gets the people who will be emailed when the alarm fires (only applicable
    -295             * for EMAIL alarms).
    -296             * @return the email recipients
    -297             * @rfc 5545 p.107-9
    -298             */
    -299            public List<Attendee> getAttendees() {
    -300                    return getProperties(Attendee.class);
    -301            }
    -302    
    -303            /**
    -304             * Adds a person who will be emailed when the alarm fires (only applicable
    -305             * for EMAIL alarms).
    -306             * @param attendee the email recipient
    -307             * @rfc 5545 p.107-9
    -308             */
    -309            public void addAttendee(Attendee attendee) {
    -310                    addProperty(attendee);
    -311            }
    -312    
    -313            /**
    -314             * Gets the type of action to invoke when the alarm is triggered.
    -315             * @return the action or null if not set
    -316             * @rfc 5545 p.132-3
    -317             */
    -318            public Action getAction() {
    -319                    return getProperty(Action.class);
    -320            }
    -321    
    -322            /**
    -323             * Sets the type of action to invoke when the alarm is triggered.
    -324             * @param action the action or null to remove
    -325             * @rfc 5545 p.132-3
    -326             */
    -327            public void setAction(Action action) {
    -328                    setProperty(Action.class, action);
    -329            }
    -330    
    -331            /**
    -332             * Gets the length of the pause between alarm repetitions.
    -333             * @return the duration or null if not set
    -334             * @rfc 5545 p.99
    -335             */
    -336            public DurationProperty getDuration() {
    -337                    return getProperty(DurationProperty.class);
    -338            }
    -339    
    -340            /**
    -341             * Sets the length of the pause between alarm repetitions.
    -342             * @param duration the duration or null to remove
    -343             * @rfc 5545 p.99
    -344             */
    -345            public void setDuration(DurationProperty duration) {
    -346                    setProperty(DurationProperty.class, duration);
    -347            }
    -348    
    -349            /**
    -350             * Sets the length of the pause between alarm repetitions.
    -351             * @param duration the duration or null to remove
    -352             * @return the property that was created
    -353             * @rfc 5545 p.99
    -354             */
    -355            public DurationProperty setDuration(Duration duration) {
    -356                    DurationProperty prop = (duration == null) ? null : new DurationProperty(duration);
    -357                    setDuration(prop);
    -358                    return prop;
    -359            }
    -360    
    -361            /**
    -362             * Gets the number of times an alarm should be repeated after its initial
    -363             * trigger.
    -364             * @return the repeat count or null if not set
    -365             * @rfc 5545 p.133
    -366             */
    -367            public Repeat getRepeat() {
    -368                    return getProperty(Repeat.class);
    -369            }
    -370    
    -371            /**
    -372             * Sets the number of times an alarm should be repeated after its initial
    -373             * trigger.
    -374             * @param repeat the repeat count or null to remove
    -375             * @rfc 5545 p.133
    -376             */
    -377            public void setRepeat(Repeat repeat) {
    -378                    setProperty(Repeat.class, repeat);
    -379            }
    -380    
    -381            /**
    -382             * Sets the number of times an alarm should be repeated after its initial
    -383             * trigger.
    -384             * @param count the repeat count (e.g. "2" to repeat it two more times after
    -385             * it was initially triggered, for a total of three times) or null to remove
    -386             * @return the property that was created
    -387             * @rfc 5545 p.133
    -388             */
    -389            public Repeat setRepeat(Integer count) {
    -390                    Repeat prop = (count == null) ? null : new Repeat(count);
    -391                    setRepeat(prop);
    -392                    return prop;
    -393            }
    -394    
    -395            /**
    -396             * Sets the repetition information for the alarm.
    -397             * @param count the repeat count (e.g. "2" to repeat it two more times after
    -398             * it was initially triggered, for a total of three times)
    -399             * @param pauseDuration the length of the pause between repeats
    -400             * @rfc 5545 p.133
    -401             */
    -402            public void setRepeat(int count, Duration pauseDuration) {
    -403                    Repeat repeat = new Repeat(count);
    -404                    DurationProperty duration = new DurationProperty(pauseDuration);
    -405                    setRepeat(repeat);
    -406                    setDuration(duration);
    -407            }
    -408    
    -409            /**
    -410             * Gets when the alarm will be triggered.
    -411             * @return the trigger time or null if not set
    -412             * @rfc 5545 p.133-6
    -413             */
    -414            public Trigger getTrigger() {
    -415                    return getProperty(Trigger.class);
    -416            }
    -417    
    -418            /**
    -419             * Sets when the alarm will be triggered.
    -420             * @param trigger the trigger time or null to remove
    -421             * @rfc 5545 p.133-6
    -422             */
    -423            public void setTrigger(Trigger trigger) {
    -424                    setProperty(Trigger.class, trigger);
    -425            }
    -426    
    -427            @SuppressWarnings("unchecked")
    -428            @Override
    -429            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -430                    //all alarm types require Action and Trigger
    -431                    checkRequiredCardinality(warnings, Action.class, Trigger.class);
    -432    
    -433                    Action action = getAction();
    -434                    if (action != null) {
    -435                            if (action.isAudio()) {
    -436                                    if (getAttachments().size() > 1) {
    -437                                            warnings.add("Audio alarms should have no more than 1 attachment.");
    -438                                    }
    -439                            }
    -440    
    -441                            if (action.isDisplay()) {
    -442                                    checkRequiredCardinality(warnings, Description.class);
    -443                            }
    -444    
    -445                            if (action.isEmail()) {
    -446                                    checkRequiredCardinality(warnings, Summary.class, Description.class);
    -447                                    if (getAttendees().isEmpty()) {
    -448                                            warnings.add("Email alarms must have at least one attendee.");
    -449                                    }
    -450                            } else {
    -451                                    if (!getAttendees().isEmpty()) {
    -452                                            warnings.add("Only email alarms can have attendees.");
    -453                                    }
    -454                            }
    -455                    }
    -456    
    -457                    Trigger trigger = getTrigger();
    -458                    if (trigger != null) {
    -459                            Related related = trigger.getRelated();
    -460    
    -461                            if (related == null && trigger.getDuration() != null) {
    -462                                    warnings.add("The trigger must specify which date field its duration is relative to.");
    -463                            }
    -464    
    -465                            if (related != null) {
    -466                                    ICalComponent parent = components.get(components.size() - 1);
    -467                                    if (related == Related.START && parent.getProperty(DateStart.class) == null) {
    -468                                            warnings.add("The trigger is settings its duration relative to the start date, but the parent component has no start date property.");
    -469                                    }
    -470                                    if (related == Related.END) {
    -471                                            boolean noEndDate = false;
    -472    
    -473                                            if (parent instanceof VEvent) {
    -474                                                    noEndDate = (parent.getProperty(DateEnd.class) == null && (parent.getProperty(DateStart.class) == null || parent.getProperty(DurationProperty.class) == null));
    -475                                            } else if (parent instanceof VTodo) {
    -476                                                    noEndDate = (parent.getProperty(DateDue.class) == null && (parent.getProperty(DateStart.class) == null || parent.getProperty(DurationProperty.class) == null));
    -477                                            }
    -478    
    -479                                            if (noEndDate) {
    -480                                                    warnings.add("The trigger is settings its duration relative to the end date, but the parent component has no end date or equivalent set.");
    -481                                            }
    -482                                    }
    -483                            }
    -484                    }
    -485            }
    -486    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VEvent.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VEvent.html deleted file mode 100644 index 4686f29f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VEvent.html +++ /dev/null @@ -1,1247 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.property.Attachment;
    -007    import biweekly.property.Attendee;
    -008    import biweekly.property.Categories;
    -009    import biweekly.property.Classification;
    -010    import biweekly.property.Comment;
    -011    import biweekly.property.Contact;
    -012    import biweekly.property.Created;
    -013    import biweekly.property.DateEnd;
    -014    import biweekly.property.DateStart;
    -015    import biweekly.property.DateTimeStamp;
    -016    import biweekly.property.Description;
    -017    import biweekly.property.DurationProperty;
    -018    import biweekly.property.ExceptionDates;
    -019    import biweekly.property.ExceptionRule;
    -020    import biweekly.property.Geo;
    -021    import biweekly.property.LastModified;
    -022    import biweekly.property.Location;
    -023    import biweekly.property.Method;
    -024    import biweekly.property.Organizer;
    -025    import biweekly.property.Priority;
    -026    import biweekly.property.RecurrenceDates;
    -027    import biweekly.property.RecurrenceId;
    -028    import biweekly.property.RecurrenceRule;
    -029    import biweekly.property.RelatedTo;
    -030    import biweekly.property.RequestStatus;
    -031    import biweekly.property.Resources;
    -032    import biweekly.property.Sequence;
    -033    import biweekly.property.Status;
    -034    import biweekly.property.Summary;
    -035    import biweekly.property.Transparency;
    -036    import biweekly.property.Uid;
    -037    import biweekly.property.Url;
    -038    import biweekly.util.Duration;
    -039    import biweekly.util.Recurrence;
    -040    
    -041    /*
    -042     Copyright (c) 2013, Michael Angstadt
    -043     All rights reserved.
    -044    
    -045     Redistribution and use in source and binary forms, with or without
    -046     modification, are permitted provided that the following conditions are met: 
    -047    
    -048     1. Redistributions of source code must retain the above copyright notice, this
    -049     list of conditions and the following disclaimer. 
    -050     2. Redistributions in binary form must reproduce the above copyright notice,
    -051     this list of conditions and the following disclaimer in the documentation
    -052     and/or other materials provided with the distribution. 
    -053    
    -054     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -055     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -056     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -057     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -058     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -059     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -060     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -061     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -062     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -063     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -064     */
    -065    
    -066    /**
    -067     * <p>
    -068     * Defines a scheduled activity, such as a meeting that's two hours long.
    -069     * </p>
    -070     * <p>
    -071     * <b>Examples:</b>
    -072     * 
    -073     * <pre class="brush:java">
    -074     * VEvent event = new VEvent();
    -075     * Date start = ...
    -076     * event.setDateStart(start);
    -077     * Date end = ...
    -078     * event.setDateEnd(end);
    -079     * event.setSummary("Team Meeting");
    -080     * event.setLocation("Room 21C");
    -081     * event.setCreated(new Date());
    -082     * event.setRecurrenceRule(new Recurrence.Builder(Frequency.WEEKLY).build());
    -083     * </pre>
    -084     * 
    -085     * </p>
    -086     * @author Michael Angstadt
    -087     * @rfc 5545 p.52-5
    -088     */
    -089    public class VEvent extends ICalComponent {
    -090            /**
    -091             * <p>
    -092             * Creates a new event.
    -093             * </p>
    -094             * <p>
    -095             * The following properties are auto-generated on object creation. These
    -096             * properties <b>must</b> be present in order for the event to be valid:
    -097             * <ul>
    -098             * <li>{@link Uid} - Set to a UUID.</li>
    -099             * <li>{@link DateTimeStamp} - Set to the current date-time.</li>
    -100             * </ul>
    -101             * </p>
    -102             */
    -103            public VEvent() {
    -104                    setUid(Uid.random());
    -105                    setDateTimeStamp(new Date());
    -106            }
    -107    
    -108            /**
    -109             * Gets the unique identifier for this event. This component object comes
    -110             * populated with a UID on creation. This is a <b>required</b> property.
    -111             * @return the UID or null if not set
    -112             * @rfc 5545 p.117-8
    -113             */
    -114            public Uid getUid() {
    -115                    return getProperty(Uid.class);
    -116            }
    -117    
    -118            /**
    -119             * Sets the unique identifier for this event. This component object comes
    -120             * populated with a UID on creation. This is a <b>required</b> property.
    -121             * @param uid the UID or null to remove
    -122             * @rfc 5545 p.117-8
    -123             */
    -124            public void setUid(Uid uid) {
    -125                    setProperty(Uid.class, uid);
    -126            }
    -127    
    -128            /**
    -129             * Sets the unique identifier for this event. This component object comes
    -130             * populated with a UID on creation. This is a <b>required</b> property.
    -131             * @param uid the UID or null to remove
    -132             * @return the property that was created
    -133             * @rfc 5545 p.117-8
    -134             */
    -135            public Uid setUid(String uid) {
    -136                    Uid prop = (uid == null) ? null : new Uid(uid);
    -137                    setUid(prop);
    -138                    return prop;
    -139            }
    -140    
    -141            /**
    -142             * Gets either (a) the creation date of the iCalendar object (if the
    -143             * {@link Method} property is defined) or (b) the date that the event was
    -144             * last modified (the {@link LastModified} property also holds this
    -145             * information). This event object comes populated with a
    -146             * {@link DateTimeStamp} property that is set to the current time. This is a
    -147             * <b>required</b> property.
    -148             * @return the date time stamp or null if not set
    -149             * @rfc 5545 p.137-8
    -150             */
    -151            public DateTimeStamp getDateTimeStamp() {
    -152                    return getProperty(DateTimeStamp.class);
    -153            }
    -154    
    -155            /**
    -156             * Sets either (a) the creation date of the iCalendar object (if the
    -157             * {@link Method} property is defined) or (b) the date that the event was
    -158             * last modified (the {@link LastModified} property also holds this
    -159             * information). This event object comes populated with a
    -160             * {@link DateTimeStamp} property that is set to the current time. This is a
    -161             * <b>required</b> property.
    -162             * @param dateTimeStamp the date time stamp or null to remove
    -163             * @rfc 5545 p.137-8
    -164             */
    -165            public void setDateTimeStamp(DateTimeStamp dateTimeStamp) {
    -166                    setProperty(DateTimeStamp.class, dateTimeStamp);
    -167            }
    -168    
    -169            /**
    -170             * Sets either (a) the creation date of the iCalendar object (if the
    -171             * {@link Method} property is defined) or (b) the date that the event was
    -172             * last modified (the {@link LastModified} property also holds this
    -173             * information). This event object comes populated with a
    -174             * {@link DateTimeStamp} property that is set to the current time. This is a
    -175             * <b>required</b> property.
    -176             * @param dateTimeStamp the date time stamp or null to remove
    -177             * @return the property that was created
    -178             * @rfc 5545 p.137-8
    -179             */
    -180            public DateTimeStamp setDateTimeStamp(Date dateTimeStamp) {
    -181                    DateTimeStamp prop = (dateTimeStamp == null) ? null : new DateTimeStamp(dateTimeStamp);
    -182                    setDateTimeStamp(prop);
    -183                    return prop;
    -184            }
    -185    
    -186            /**
    -187             * Gets the date that the event starts.
    -188             * @return the start date or null if not set
    -189             * @rfc 5545 p.97-8
    -190             */
    -191            public DateStart getDateStart() {
    -192                    return getProperty(DateStart.class);
    -193            }
    -194    
    -195            /**
    -196             * Sets the date that the event starts (required if no {@link Method}
    -197             * property is defined).
    -198             * @param dateStart the start date or null to remove
    -199             * @rfc 5545 p.97-8
    -200             */
    -201            public void setDateStart(DateStart dateStart) {
    -202                    setProperty(DateStart.class, dateStart);
    -203            }
    -204    
    -205            /**
    -206             * Sets the date that the event starts (required if no {@link Method}
    -207             * property is defined).
    -208             * @param dateStart the start date or null to remove
    -209             * @return the property that was created
    -210             * @rfc 5545 p.97-8
    -211             */
    -212            public DateStart setDateStart(Date dateStart) {
    -213                    DateStart prop = (dateStart == null) ? null : new DateStart(dateStart);
    -214                    setDateStart(prop);
    -215                    return prop;
    -216            }
    -217    
    -218            /**
    -219             * Gets the level of sensitivity of the event data. If not specified, the
    -220             * data within the event should be considered "public".
    -221             * @return the classification level or null if not set
    -222             * @rfc 5545 p.82-3
    -223             */
    -224            public Classification getClassification() {
    -225                    return getProperty(Classification.class);
    -226            }
    -227    
    -228            /**
    -229             * Sets the level of sensitivity of the event data. If not specified, the
    -230             * data within the event should be considered "public".
    -231             * @param classification the classification level or null to remove
    -232             * @rfc 5545 p.82-3
    -233             */
    -234            public void setClassification(Classification classification) {
    -235                    setProperty(Classification.class, classification);
    -236            }
    -237    
    -238            /**
    -239             * Sets the level of sensitivity of the event data. If not specified, the
    -240             * data within the event should be considered "public".
    -241             * @param classification the classification level (e.g. "CONFIDENTIAL") or
    -242             * null to remove
    -243             * @return the property that was created
    -244             * @rfc 5545 p.82-3
    -245             */
    -246            public Classification setClassification(String classification) {
    -247                    Classification prop = (classification == null) ? null : new Classification(classification);
    -248                    setClassification(prop);
    -249                    return prop;
    -250            }
    -251    
    -252            /**
    -253             * Gets a detailed description of the event. The description should be more
    -254             * detailed than the one provided by the {@link Summary} property.
    -255             * @return the description or null if not set
    -256             * @rfc 5545 p.84-5
    -257             */
    -258            public Description getDescription() {
    -259                    return getProperty(Description.class);
    -260            }
    -261    
    -262            /**
    -263             * Sets a detailed description of the event. The description should be more
    -264             * detailed than the one provided by the {@link Summary} property.
    -265             * @param description the description or null to remove
    -266             * @rfc 5545 p.84-5
    -267             */
    -268            public void setDescription(Description description) {
    -269                    setProperty(Description.class, description);
    -270            }
    -271    
    -272            /**
    -273             * Sets a detailed description of the event. The description should be more
    -274             * detailed than the one provided by the {@link Summary} property.
    -275             * @param description the description or null to remove
    -276             * @return the property that was created
    -277             * @rfc 5545 p.84-5
    -278             */
    -279            public Description setDescription(String description) {
    -280                    Description prop = (description == null) ? null : new Description(description);
    -281                    setDescription(prop);
    -282                    return prop;
    -283            }
    -284    
    -285            /**
    -286             * Gets a set of geographical coordinates.
    -287             * @return the geographical coordinates or null if not set
    -288             * @rfc 5545 p.85-7
    -289             */
    -290            public Geo getGeo() {
    -291                    return getProperty(Geo.class);
    -292            }
    -293    
    -294            /**
    -295             * Sets a set of geographical coordinates.
    -296             * @param geo the geographical coordinates or null to remove
    -297             * @rfc 5545 p.85-7
    -298             */
    -299            public void setGeo(Geo geo) {
    -300                    setProperty(Geo.class, geo);
    -301            }
    -302    
    -303            /**
    -304             * Gets the physical location of the event.
    -305             * @return the location or null if not set
    -306             * @rfc 5545 p.87-8
    -307             */
    -308            public Location getLocation() {
    -309                    return getProperty(Location.class);
    -310            }
    -311    
    -312            /**
    -313             * Sets the physical location of the event.
    -314             * @param location the location or null to remove
    -315             * @rfc 5545 p.87-8
    -316             */
    -317            public void setLocation(Location location) {
    -318                    setProperty(Location.class, location);
    -319            }
    -320    
    -321            /**
    -322             * Sets the physical location of the event.
    -323             * @param location the location (e.g. "Room 101") or null to remove
    -324             * @return the property that was created
    -325             * @rfc 5545 p.87-8
    -326             */
    -327            public Location setLocation(String location) {
    -328                    Location prop = (location == null) ? null : new Location(location);
    -329                    setLocation(prop);
    -330                    return prop;
    -331            }
    -332    
    -333            /**
    -334             * Gets the priority of the event.
    -335             * @return the priority or null if not set
    -336             * @rfc 5545 p.89-90
    -337             */
    -338            public Priority getPriority() {
    -339                    return getProperty(Priority.class);
    -340            }
    -341    
    -342            /**
    -343             * Sets the priority of the event.
    -344             * @param priority the priority or null to remove
    -345             * @rfc 5545 p.89-90
    -346             */
    -347            public void setPriority(Priority priority) {
    -348                    setProperty(Priority.class, priority);
    -349            }
    -350    
    -351            /**
    -352             * Sets the priority of the event.
    -353             * @param priority the priority ("0" is undefined, "1" is the highest, "9"
    -354             * is the lowest) or null to remove
    -355             * @return the property that was created
    -356             * @rfc 5545 p.89-90
    -357             */
    -358            public Priority setPriority(Integer priority) {
    -359                    Priority prop = (priority == null) ? null : new Priority(priority);
    -360                    setPriority(prop);
    -361                    return prop;
    -362            }
    -363    
    -364            /**
    -365             * Gets the status of the event.
    -366             * @return the status or null if not set
    -367             * @rfc 5545 p.92-3
    -368             */
    -369            public Status getStatus() {
    -370                    return getProperty(Status.class);
    -371            }
    -372    
    -373            /**
    -374             * Sets the status of the event.
    -375             * <p>
    -376             * Valid event status codes are:
    -377             * <ul>
    -378             * <li>TENTATIVE</li>
    -379             * <li>CONFIRMED</li>
    -380             * <li>CANCELLED</li>
    -381             * </ul>
    -382             * </p>
    -383             * @param status the status or null to remove
    -384             * @rfc 5545 p.92-3
    -385             */
    -386            public void setStatus(Status status) {
    -387                    setProperty(Status.class, status);
    -388            }
    -389    
    -390            /**
    -391             * Gets the summary of the event.
    -392             * @return the summary or null if not set
    -393             * @rfc 5545 p.93-4
    -394             */
    -395            public Summary getSummary() {
    -396                    return getProperty(Summary.class);
    -397            }
    -398    
    -399            /**
    -400             * Sets the summary of the event.
    -401             * @param summary the summary or null to remove
    -402             * @rfc 5545 p.93-4
    -403             */
    -404            public void setSummary(Summary summary) {
    -405                    setProperty(Summary.class, summary);
    -406            }
    -407    
    -408            /**
    -409             * Sets the summary of the event.
    -410             * @param summary the summary or null to remove
    -411             * @return the property that was created
    -412             * @rfc 5545 p.93-4
    -413             */
    -414            public Summary setSummary(String summary) {
    -415                    Summary prop = (summary == null) ? null : new Summary(summary);
    -416                    setSummary(prop);
    -417                    return prop;
    -418            }
    -419    
    -420            /**
    -421             * Gets whether an event is visible to free/busy time searches. If the event
    -422             * does not have this property, it should be considered visible ("opaque").
    -423             * @return the transparency or null if not set
    -424             * @rfc 5545 p.101-2
    -425             */
    -426            public Transparency getTransparency() {
    -427                    return getProperty(Transparency.class);
    -428            }
    -429    
    -430            /**
    -431             * Sets whether an event is visible to free/busy time searches.
    -432             * @param transparency the transparency or null to remove
    -433             * @rfc 5545 p.101-2
    -434             */
    -435            public void setTransparency(Transparency transparency) {
    -436                    setProperty(Transparency.class, transparency);
    -437            }
    -438    
    -439            /**
    -440             * Sets whether an event is visible to free/busy time searches.
    -441             * @param transparent true to hide the event, false to make it visible it,
    -442             * or null to remove the property
    -443             * @return the property that was created
    -444             * @rfc 5545 p.101-2
    -445             */
    -446            public Transparency setTransparency(Boolean transparent) {
    -447                    Transparency prop = null;
    -448                    if (transparent != null) {
    -449                            prop = transparent ? Transparency.transparent() : Transparency.opaque();
    -450                    }
    -451                    setTransparency(prop);
    -452                    return prop;
    -453            }
    -454    
    -455            /**
    -456             * Gets the organizer of the event.
    -457             * @return the organizer or null if not set
    -458             * @rfc 5545 p.111-2
    -459             */
    -460            public Organizer getOrganizer() {
    -461                    return getProperty(Organizer.class);
    -462            }
    -463    
    -464            /**
    -465             * Sets the organizer of the event.
    -466             * @param organizer the organizer or null to remove
    -467             * @rfc 5545 p.111-2
    -468             */
    -469            public void setOrganizer(Organizer organizer) {
    -470                    setProperty(Organizer.class, organizer);
    -471            }
    -472    
    -473            /**
    -474             * Sets the organizer of the event.
    -475             * @param email the organizer's email address (e.g. "johndoe@example.com")
    -476             * or null to remove
    -477             * @return the property that was created
    -478             * @rfc 5545 p.111-2
    -479             */
    -480            public Organizer setOrganizer(String email) {
    -481                    Organizer prop = (email == null) ? null : Organizer.email(email);
    -482                    setOrganizer(prop);
    -483                    return prop;
    -484            }
    -485    
    -486            /**
    -487             * Gets the original value of the {@link DateStart} property if the event is
    -488             * recurring and has been modified. Used in conjunction with the {@link Uid}
    -489             * and {@link Sequence} properties to uniquely identify a recurrence
    -490             * instance.
    -491             * @return the recurrence ID or null if not set
    -492             * @rfc 5545 p.112-4
    -493             */
    -494            public RecurrenceId getRecurrenceId() {
    -495                    return getProperty(RecurrenceId.class);
    -496            }
    -497    
    -498            /**
    -499             * Sets the original value of the {@link DateStart} property if the event is
    -500             * recurring and has been modified. Used in conjunction with the {@link Uid}
    -501             * and {@link Sequence} properties to uniquely identify a recurrence
    -502             * instance.
    -503             * @param recurrenceId the recurrence ID or null to remove
    -504             * @rfc 5545 p.112-4
    -505             */
    -506            public void setRecurrenceId(RecurrenceId recurrenceId) {
    -507                    setProperty(RecurrenceId.class, recurrenceId);
    -508            }
    -509    
    -510            /**
    -511             * Sets the original value of the {@link DateStart} property if the event is
    -512             * recurring and has been modified. Used in conjunction with the {@link Uid}
    -513             * and {@link Sequence} properties to uniquely identify a recurrence
    -514             * instance.
    -515             * @param originalStartDate the original start date or null to remove
    -516             * @return the property that was created
    -517             * @rfc 5545 p.112-4
    -518             */
    -519            public RecurrenceId setRecurrenceId(Date originalStartDate) {
    -520                    RecurrenceId prop = (originalStartDate == null) ? null : new RecurrenceId(originalStartDate);
    -521                    setRecurrenceId(prop);
    -522                    return prop;
    -523            }
    -524    
    -525            /**
    -526             * Gets a URL to a resource that contains additional information about the
    -527             * event.
    -528             * @return the URL or null if not set
    -529             * @rfc 5545 p.116-7
    -530             */
    -531            public Url getUrl() {
    -532                    return getProperty(Url.class);
    -533            }
    -534    
    -535            /**
    -536             * Sets a URL to a resource that contains additional information about the
    -537             * event.
    -538             * @param url the URL or null to remove
    -539             * @rfc 5545 p.116-7
    -540             */
    -541            public void setUrl(Url url) {
    -542                    setProperty(Url.class, url);
    -543            }
    -544    
    -545            /**
    -546             * Sets a URL to a resource that contains additional information about the
    -547             * event.
    -548             * @param url the URL (e.g. "http://example.com/resource.ics") or null to
    -549             * remove
    -550             * @return the property that was created
    -551             * @rfc 5545 p.116-7
    -552             */
    -553            public Url setUrl(String url) {
    -554                    Url prop = (url == null) ? null : new Url(url);
    -555                    setUrl(prop);
    -556                    return prop;
    -557            }
    -558    
    -559            /**
    -560             * Gets how often the event repeats.
    -561             * @return the recurrence rule or null if not set
    -562             * @rfc 5545 p.122-32
    -563             */
    -564            public RecurrenceRule getRecurrenceRule() {
    -565                    return getProperty(RecurrenceRule.class);
    -566            }
    -567    
    -568            /**
    -569             * Sets how often the event repeats.
    -570             * @param recur the recurrence rule or null to remove
    -571             * @return the property that was created
    -572             * @rfc 5545 p.122-32
    -573             */
    -574            public RecurrenceRule setRecurrenceRule(Recurrence recur) {
    -575                    RecurrenceRule prop = (recur == null) ? null : new RecurrenceRule(recur);
    -576                    setRecurrenceRule(prop);
    -577                    return prop;
    -578            }
    -579    
    -580            /**
    -581             * Sets how often the event repeats.
    -582             * @param recurrenceRule the recurrence rule or null to remove
    -583             * @rfc 5545 p.122-32
    -584             */
    -585            public void setRecurrenceRule(RecurrenceRule recurrenceRule) {
    -586                    setProperty(RecurrenceRule.class, recurrenceRule);
    -587            }
    -588    
    -589            /**
    -590             * Gets the date that the event ends.
    -591             * @return the end date or null if not set
    -592             * @rfc 5545 p.95-6
    -593             */
    -594            public DateEnd getDateEnd() {
    -595                    return getProperty(DateEnd.class);
    -596            }
    -597    
    -598            /**
    -599             * Sets the date that the event ends. This must NOT be set if a
    -600             * {@link DurationProperty} is defined.
    -601             * @param dateEnd the end date or null to remove
    -602             * @rfc 5545 p.95-6
    -603             */
    -604            public void setDateEnd(DateEnd dateEnd) {
    -605                    setProperty(DateEnd.class, dateEnd);
    -606            }
    -607    
    -608            /**
    -609             * Sets the date that the event ends. This must NOT be set if a
    -610             * {@link DurationProperty} is defined.
    -611             * @param dateEnd the end date or null to remove
    -612             * @return the property that was created
    -613             * @rfc 5545 p.95-6
    -614             */
    -615            public DateEnd setDateEnd(Date dateEnd) {
    -616                    DateEnd prop = (dateEnd == null) ? null : new DateEnd(dateEnd);
    -617                    setDateEnd(prop);
    -618                    return prop;
    -619            }
    -620    
    -621            /**
    -622             * Gets the duration of the event.
    -623             * @return the duration or null if not set
    -624             * @rfc 5545 p.99
    -625             */
    -626            public DurationProperty getDuration() {
    -627                    return getProperty(DurationProperty.class);
    -628            }
    -629    
    -630            /**
    -631             * Sets the duration of the event. This must NOT be set if a {@link DateEnd}
    -632             * is defined.
    -633             * @param duration the duration or null to remove
    -634             * @rfc 5545 p.99
    -635             */
    -636            public void setDuration(DurationProperty duration) {
    -637                    setProperty(DurationProperty.class, duration);
    -638            }
    -639    
    -640            /**
    -641             * Sets the duration of the event. This must NOT be set if a {@link DateEnd}
    -642             * is defined.
    -643             * @param duration the duration or null to remove
    -644             * @return the property that was created
    -645             * @rfc 5545 p.99
    -646             */
    -647            public DurationProperty setDuration(Duration duration) {
    -648                    DurationProperty prop = (duration == null) ? null : new DurationProperty(duration);
    -649                    setDuration(prop);
    -650                    return prop;
    -651            }
    -652    
    -653            /**
    -654             * Gets the date-time that the event was initially created.
    -655             * @return the creation date-time or null if not set
    -656             * @rfc 5545 p.136
    -657             */
    -658            public Created getCreated() {
    -659                    return getProperty(Created.class);
    -660            }
    -661    
    -662            /**
    -663             * Sets the date-time that the event was initially created.
    -664             * @param created the creation date-time or null to remove
    -665             * @rfc 5545 p.136
    -666             */
    -667            public void setCreated(Created created) {
    -668                    setProperty(Created.class, created);
    -669            }
    -670    
    -671            /**
    -672             * Sets the date-time that the event was initially created.
    -673             * @param created the creation date-time or null to remove
    -674             * @return the property that was created
    -675             * @rfc 5545 p.136
    -676             */
    -677            public Created setCreated(Date created) {
    -678                    Created prop = (created == null) ? null : new Created(created);
    -679                    setCreated(prop);
    -680                    return prop;
    -681            }
    -682    
    -683            /**
    -684             * Gets the date-time that the event was last changed.
    -685             * @return the last modified date or null if not set
    -686             * @rfc 5545 p.138
    -687             */
    -688            public LastModified getLastModified() {
    -689                    return getProperty(LastModified.class);
    -690            }
    -691    
    -692            /**
    -693             * Sets the date-time that event was last changed.
    -694             * @param lastModified the last modified date or null to remove
    -695             * @rfc 5545 p.138
    -696             */
    -697            public void setLastModified(LastModified lastModified) {
    -698                    setProperty(LastModified.class, lastModified);
    -699            }
    -700    
    -701            /**
    -702             * Sets the date-time that the event was last changed.
    -703             * @param lastModified the last modified date or null to remove
    -704             * @return the property that was created
    -705             * @rfc 5545 p.138
    -706             */
    -707            public LastModified setLastModified(Date lastModified) {
    -708                    LastModified prop = (lastModified == null) ? null : new LastModified(lastModified);
    -709                    setLastModified(prop);
    -710                    return prop;
    -711            }
    -712    
    -713            /**
    -714             * Gets the revision number of the event. The organizer can increment this
    -715             * number every time he or she makes a significant change.
    -716             * @return the sequence number
    -717             * @rfc 5545 p.138-9
    -718             */
    -719            public Sequence getSequence() {
    -720                    return getProperty(Sequence.class);
    -721            }
    -722    
    -723            /**
    -724             * Sets the revision number of the event. The organizer can increment this
    -725             * number every time he or she makes a significant change.
    -726             * @param sequence the sequence number
    -727             * @rfc 5545 p.138-9
    -728             */
    -729            public void setSequence(Sequence sequence) {
    -730                    setProperty(Sequence.class, sequence);
    -731            }
    -732    
    -733            /**
    -734             * Sets the revision number of the event. The organizer can increment this
    -735             * number every time he or she makes a significant change.
    -736             * @param sequence the sequence number
    -737             * @return the property that was created
    -738             * @rfc 5545 p.138-9
    -739             */
    -740            public Sequence setSequence(Integer sequence) {
    -741                    Sequence prop = (sequence == null) ? null : new Sequence(sequence);
    -742                    setSequence(prop);
    -743                    return prop;
    -744            }
    -745    
    -746            /**
    -747             * Increments the revision number of the event. The organizer can increment
    -748             * this number every time he or she makes a significant change.
    -749             * @rfc 5545 p.138-9
    -750             */
    -751            public void incrementSequence() {
    -752                    Sequence sequence = getSequence();
    -753                    if (sequence == null) {
    -754                            setSequence(1);
    -755                    } else {
    -756                            sequence.increment();
    -757                    }
    -758            }
    -759    
    -760            /**
    -761             * Gets any attachments that are associated with the event.
    -762             * @return the attachments
    -763             * @rfc 5545 p.80-1
    -764             */
    -765            public List<Attachment> getAttachments() {
    -766                    return getProperties(Attachment.class);
    -767            }
    -768    
    -769            /**
    -770             * Adds an attachment to the event.
    -771             * @param attachment the attachment to add
    -772             * @rfc 5545 p.80-1
    -773             */
    -774            public void addAttachment(Attachment attachment) {
    -775                    addProperty(attachment);
    -776            }
    -777    
    -778            /**
    -779             * Gets the people who are attending the event.
    -780             * @return the attendees
    -781             * @rfc 5545 p.107-9
    -782             */
    -783            public List<Attendee> getAttendees() {
    -784                    return getProperties(Attendee.class);
    -785            }
    -786    
    -787            /**
    -788             * Adds a person who is attending the event.
    -789             * @param attendee the attendee
    -790             * @rfc 5545 p.107-9
    -791             */
    -792            public void addAttendee(Attendee attendee) {
    -793                    addProperty(attendee);
    -794            }
    -795    
    -796            /**
    -797             * Adds a person who is attending the event.
    -798             * @param email the attendee's email address
    -799             * @return the property that was created
    -800             * @rfc 5545 p.107-9
    -801             */
    -802            public Attendee addAttendee(String email) {
    -803                    Attendee prop = Attendee.email(email);
    -804                    addAttendee(prop);
    -805                    return prop;
    -806            }
    -807    
    -808            /**
    -809             * Gets a list of "tags" or "keywords" that describe the event.
    -810             * @return the categories
    -811             * @rfc 5545 p.81-2
    -812             */
    -813            public List<Categories> getCategories() {
    -814                    return getProperties(Categories.class);
    -815            }
    -816    
    -817            /**
    -818             * Adds a list of "tags" or "keywords" that describe the event. Note that a
    -819             * single property can hold multiple keywords.
    -820             * @param categories the categories to add
    -821             * @rfc 5545 p.81-2
    -822             */
    -823            public void addCategories(Categories categories) {
    -824                    addProperty(categories);
    -825            }
    -826    
    -827            /**
    -828             * Adds a list of "tags" or "keywords" that describe the event.
    -829             * @param categories the categories to add
    -830             * @return the property that was created
    -831             * @rfc 5545 p.81-2
    -832             */
    -833            public Categories addCategories(String... categories) {
    -834                    Categories prop = new Categories(categories);
    -835                    addCategories(prop);
    -836                    return prop;
    -837            }
    -838    
    -839            /**
    -840             * Adds a list of "tags" or "keywords" that describe the event.
    -841             * @param categories the categories to add
    -842             * @return the property that was created
    -843             * @rfc 5545 p.81-2
    -844             */
    -845            public Categories addCategories(List<String> categories) {
    -846                    Categories prop = new Categories(categories);
    -847                    addCategories(prop);
    -848                    return prop;
    -849            }
    -850    
    -851            /**
    -852             * Gets the comments attached to the event.
    -853             * @return the comments
    -854             * @rfc 5545 p.83-4
    -855             */
    -856            public List<Comment> getComments() {
    -857                    return getProperties(Comment.class);
    -858            }
    -859    
    -860            /**
    -861             * Adds a comment to the event.
    -862             * @param comment the comment to add
    -863             * @rfc 5545 p.83-4
    -864             */
    -865            public void addComment(Comment comment) {
    -866                    addProperty(comment);
    -867            }
    -868    
    -869            /**
    -870             * Adds a comment to the event.
    -871             * @param comment the comment to add
    -872             * @return the property that was created
    -873             * @rfc 5545 p.83-4
    -874             */
    -875            public Comment addComment(String comment) {
    -876                    Comment prop = new Comment(comment);
    -877                    addComment(prop);
    -878                    return prop;
    -879            }
    -880    
    -881            /**
    -882             * Gets the contacts associated with the event.
    -883             * @return the contacts
    -884             * @rfc 5545 p.109-11
    -885             */
    -886            public List<Contact> getContacts() {
    -887                    return getProperties(Contact.class);
    -888            }
    -889    
    -890            /**
    -891             * Adds a contact to the event.
    -892             * @param contact the contact
    -893             * @rfc 5545 p.109-11
    -894             */
    -895            public void addContact(Contact contact) {
    -896                    addProperty(contact);
    -897            }
    -898    
    -899            /**
    -900             * Adds a contact to the event.
    -901             * @param contact the contact (e.g. "ACME Co - (123) 555-1234")
    -902             * @return the property that was created
    -903             * @rfc 5545 p.109-11
    -904             */
    -905            public Contact addContact(String contact) {
    -906                    Contact prop = new Contact(contact);
    -907                    addContact(prop);
    -908                    return prop;
    -909            }
    -910    
    -911            /**
    -912             * Gets the list of exceptions to the recurrence rule defined in the event
    -913             * (if one is defined).
    -914             * @return the list of exceptions
    -915             * @rfc 5545 p.118-20
    -916             */
    -917            public List<ExceptionDates> getExceptionDates() {
    -918                    return getProperties(ExceptionDates.class);
    -919            }
    -920    
    -921            /**
    -922             * Adds a list of exceptions to the recurrence rule defined in the event (if
    -923             * one is defined). Note that this property can contain multiple dates.
    -924             * @param exceptionDates the list of exceptions
    -925             * @rfc 5545 p.118-20
    -926             */
    -927            public void addExceptionDates(ExceptionDates exceptionDates) {
    -928                    addProperty(exceptionDates);
    -929            }
    -930    
    -931            /**
    -932             * Gets the response to a scheduling request.
    -933             * @return the response
    -934             * @rfc 5545 p.141-3
    -935             */
    -936            public RequestStatus getRequestStatus() {
    -937                    return getProperty(RequestStatus.class);
    -938            }
    -939    
    -940            /**
    -941             * Sets the response to a scheduling request.
    -942             * @param requestStatus the response
    -943             * @rfc 5545 p.141-3
    -944             */
    -945            public void setRequestStatus(RequestStatus requestStatus) {
    -946                    setProperty(RequestStatus.class, requestStatus);
    -947            }
    -948    
    -949            /**
    -950             * Gets the components that the event is related to.
    -951             * @return the relationships
    -952             * @rfc 5545 p.115-6
    -953             */
    -954            public List<RelatedTo> getRelatedTo() {
    -955                    return getProperties(RelatedTo.class);
    -956            }
    -957    
    -958            /**
    -959             * Adds a component that the event is related to.
    -960             * @param relatedTo the relationship
    -961             * @rfc 5545 p.115-6
    -962             */
    -963            public void addRelatedTo(RelatedTo relatedTo) {
    -964                    //TODO create a method that accepts a component and make the RelatedTo property invisible to the user
    -965                    //@formatter:off
    -966                    /*
    -967                     * addRelation(RelationshipType relType, ICalComponent component){
    -968                     *   RelatedTo prop = new RelatedTo(component.getUid().getValue());
    -969                     *   prop.setRelationshipType(relType);
    -970                     *   addProperty(prop);
    -971                     * }
    -972                     */
    -973                    //@formatter:on
    -974                    addProperty(relatedTo);
    -975            }
    -976    
    -977            /**
    -978             * Adds a component that the event is related to.
    -979             * @param uid the UID of the other component
    -980             * @return the property that was created
    -981             * @rfc 5545 p.115-6
    -982             */
    -983            public RelatedTo addRelatedTo(String uid) {
    -984                    RelatedTo prop = new RelatedTo(uid);
    -985                    addRelatedTo(prop);
    -986                    return prop;
    -987            }
    -988    
    -989            /**
    -990             * Gets the resources that are needed for the event.
    -991             * @return the resources
    -992             * @rfc 5545 p.91
    -993             */
    -994            public List<Resources> getResources() {
    -995                    return getProperties(Resources.class);
    -996            }
    -997    
    -998            /**
    -999             * Adds a list of resources that are needed for the event. Note that a
    -1000             * single property can hold multiple resources.
    -1001             * @param resources the resources to add
    -1002             * @rfc 5545 p.91
    -1003             */
    -1004            public void addResources(Resources resources) {
    -1005                    addProperty(resources);
    -1006            }
    -1007    
    -1008            /**
    -1009             * Adds a list of resources that are needed for the event.
    -1010             * @param resources the resources to add (e.g. "easel", "projector")
    -1011             * @return the property that was created
    -1012             * @rfc 5545 p.91
    -1013             */
    -1014            public Resources addResources(String... resources) {
    -1015                    Resources prop = new Resources(resources);
    -1016                    addResources(prop);
    -1017                    return prop;
    -1018            }
    -1019    
    -1020            /**
    -1021             * Adds a list of resources that are needed for the event.
    -1022             * @param resources the resources to add (e.g. "easel", "projector")
    -1023             * @return the property that was created
    -1024             * @rfc 5545 p.91
    -1025             */
    -1026            public Resources addResources(List<String> resources) {
    -1027                    Resources prop = new Resources(resources);
    -1028                    addResources(prop);
    -1029                    return prop;
    -1030            }
    -1031    
    -1032            /**
    -1033             * Gets the list of dates/periods that help define the recurrence rule of
    -1034             * this event (if one is defined).
    -1035             * @return the recurrence dates
    -1036             * @rfc 5545 p.120-2
    -1037             */
    -1038            public List<RecurrenceDates> getRecurrenceDates() {
    -1039                    return getProperties(RecurrenceDates.class);
    -1040            }
    -1041    
    -1042            /**
    -1043             * Adds a list of dates/periods that help define the recurrence rule of this
    -1044             * event (if one is defined).
    -1045             * @param recurrenceDates the recurrence dates
    -1046             * @rfc 5545 p.120-2
    -1047             */
    -1048            public void addRecurrenceDates(RecurrenceDates recurrenceDates) {
    -1049                    addProperty(recurrenceDates);
    -1050            }
    -1051    
    -1052            /**
    -1053             * Gets the alarms that are assigned to this event.
    -1054             * @return the alarms
    -1055             * @rfc 5545 p.71-6
    -1056             */
    -1057            public List<VAlarm> getAlarms() {
    -1058                    return getComponents(VAlarm.class);
    -1059            }
    -1060    
    -1061            /**
    -1062             * Adds an alarm to this event.
    -1063             * @param alarm the alarm
    -1064             * @rfc 5545 p.71-6
    -1065             */
    -1066            public void addAlarm(VAlarm alarm) {
    -1067                    addComponent(alarm);
    -1068            }
    -1069    
    -1070            /**
    -1071             * <p>
    -1072             * Gets the exceptions for the {@link RecurrenceRule} property.
    -1073             * </p>
    -1074             * <p>
    -1075             * Note that this property has been removed from the latest version of the
    -1076             * iCal specification. Its use should be avoided.
    -1077             * </p>
    -1078             * @return the exception rules
    -1079             * @rfc 2445 p.114-15
    -1080             */
    -1081            public List<ExceptionRule> getExceptionRules() {
    -1082                    return getProperties(ExceptionRule.class);
    -1083            }
    -1084    
    -1085            /**
    -1086             * <p>
    -1087             * Adds an exception for the {@link RecurrenceRule} property.
    -1088             * </p>
    -1089             * <p>
    -1090             * Note that this property has been removed from the latest version of the
    -1091             * iCal specification. Its use should be avoided.
    -1092             * </p>
    -1093             * @param recur the exception rule to add
    -1094             * @return the property that was created
    -1095             * @rfc 2445 p.114-15
    -1096             */
    -1097            public ExceptionRule addExceptionRule(Recurrence recur) {
    -1098                    ExceptionRule prop = (recur == null) ? null : new ExceptionRule(recur);
    -1099                    addExceptionRule(prop);
    -1100                    return prop;
    -1101            }
    -1102    
    -1103            /**
    -1104             * <p>
    -1105             * Adds an exception for the {@link RecurrenceRule} property.
    -1106             * </p>
    -1107             * <p>
    -1108             * Note that this property has been removed from the latest version of the
    -1109             * iCal specification. Its use should be avoided.
    -1110             * </p>
    -1111             * @param exceptionRule the exception rule to add
    -1112             * @rfc 2445 p.114-15
    -1113             */
    -1114            public void addExceptionRule(ExceptionRule exceptionRule) {
    -1115                    addProperty(exceptionRule);
    -1116            }
    -1117    
    -1118            @SuppressWarnings("unchecked")
    -1119            @Override
    -1120            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -1121                    checkRequiredCardinality(warnings, Uid.class, DateTimeStamp.class);
    -1122                    checkOptionalCardinality(warnings, Classification.class, Created.class, Description.class, Geo.class, LastModified.class, Location.class, Organizer.class, Priority.class, Priority.class, Status.class, Summary.class, Transparency.class, Url.class, RecurrenceId.class);
    -1123    
    -1124                    Status status = getStatus();
    -1125                    if (status != null && (status.isNeedsAction() || status.isCompleted() || status.isInProgress() || status.isDraft() || status.isFinal())) {
    -1126                            warnings.add("Invalid status value of \"" + status.getValue() + "\".  Valid status values for events are \"tentative\", \"confirmed\", and \"cancelled\".");
    -1127                    }
    -1128    
    -1129                    DateStart dateStart = getDateStart();
    -1130                    DateEnd dateEnd = getDateEnd();
    -1131    
    -1132                    ICalComponent ical = components.get(0);
    -1133                    if (dateStart == null && ical.getProperty(Method.class) == null) {
    -1134                            warnings.add("A " + DateStart.class.getSimpleName() + " property is required if no " + Method.class.getSimpleName() + " property is set at the top level of the iCalendar object.");
    -1135                    }
    -1136    
    -1137                    if (dateEnd != null && dateStart == null) {
    -1138                            warnings.add("A " + DateStart.class.getSimpleName() + " property must be defined if a " + DateEnd.class.getSimpleName() + " property is defined.");
    -1139                    }
    -1140    
    -1141                    if (dateStart != null && dateEnd != null) {
    -1142                            Date start = dateStart.getValue();
    -1143                            Date end = dateEnd.getValue();
    -1144                            if (start != null && end != null && start.compareTo(end) > 0) {
    -1145                                    warnings.add(DateStart.class.getSimpleName() + " must come before " + DateEnd.class.getSimpleName() + ".");
    -1146                            }
    -1147    
    -1148                            if (dateStart.hasTime() != dateEnd.hasTime()) {
    -1149                                    warnings.add("Both " + DateStart.class.getSimpleName() + " and " + DateEnd.class.getSimpleName() + " must have the same data type (they must either both be dates or both be date-times).");
    -1150                            }
    -1151                    }
    -1152    
    -1153                    if (dateEnd != null && getDuration() != null) {
    -1154                            warnings.add("A DateEnd and a Duration cannot both be defined in the same event.");
    -1155                    }
    -1156    
    -1157                    RecurrenceId recurrenceId = getRecurrenceId();
    -1158                    if (recurrenceId != null && dateStart != null && dateStart.hasTime() != recurrenceId.hasTime()) {
    -1159                            warnings.add("Both " + DateStart.class.getSimpleName() + " and " + RecurrenceId.class.getSimpleName() + " must have the same data type (they must either both be dates or both be date-times).");
    -1160                    }
    -1161    
    -1162                    //RFC 5545 p. 167
    -1163                    RecurrenceRule rrule = getRecurrenceRule();
    -1164                    if (dateStart != null && rrule != null) {
    -1165                            Date start = dateStart.getValue();
    -1166                            Recurrence recur = rrule.getValue();
    -1167                            if (start != null && recur != null) {
    -1168                                    if (!dateStart.hasTime() && (!recur.getByHour().isEmpty() || !recur.getByMinute().isEmpty() || !recur.getBySecond().isEmpty())) {
    -1169                                            warnings.add("The BYHOUR, BYMINUTE, and BYSECOND rule parts cannot be specified in the " + RecurrenceRule.class.getSimpleName() + " property when the " + DateStart.class.getSimpleName() + " property contains a date value (as opposed to a date-time value).");
    -1170                                    }
    -1171                            }
    -1172                    }
    -1173    
    -1174                    //RFC 5545 p. 167
    -1175                    if (getProperties(RecurrenceRule.class).size() > 1) {
    -1176                            warnings.add("There should be only one instance of the " + RecurrenceRule.class.getSimpleName() + " property.");
    -1177                    }
    -1178    
    -1179                    //TODO check for properties which shouldn't be added to VEVENTs
    -1180            }
    -1181    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VFreeBusy.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VFreeBusy.html deleted file mode 100644 index 175ea703..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VFreeBusy.html +++ /dev/null @@ -1,570 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.parameter.FreeBusyType;
    -007    import biweekly.property.Attendee;
    -008    import biweekly.property.Comment;
    -009    import biweekly.property.Contact;
    -010    import biweekly.property.DateEnd;
    -011    import biweekly.property.DateStart;
    -012    import biweekly.property.DateTimeStamp;
    -013    import biweekly.property.FreeBusy;
    -014    import biweekly.property.LastModified;
    -015    import biweekly.property.Method;
    -016    import biweekly.property.Organizer;
    -017    import biweekly.property.RequestStatus;
    -018    import biweekly.property.Uid;
    -019    import biweekly.property.Url;
    -020    import biweekly.util.Duration;
    -021    
    -022    /*
    -023     Copyright (c) 2013, Michael Angstadt
    -024     All rights reserved.
    -025    
    -026     Redistribution and use in source and binary forms, with or without
    -027     modification, are permitted provided that the following conditions are met: 
    -028    
    -029     1. Redistributions of source code must retain the above copyright notice, this
    -030     list of conditions and the following disclaimer. 
    -031     2. Redistributions in binary form must reproduce the above copyright notice,
    -032     this list of conditions and the following disclaimer in the documentation
    -033     and/or other materials provided with the distribution. 
    -034    
    -035     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -036     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -037     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -038     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -039     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -040     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -041     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -042     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -043     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -044     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -045     */
    -046    
    -047    /**
    -048     * <p>
    -049     * Defines a collection of time ranges that describe when the person is
    -050     * available or unavailable.
    -051     * </p>
    -052     * <p>
    -053     * <b>Examples:</b>
    -054     * 
    -055     * <pre class="brush:java">
    -056     * VFreeBusy freebusy = new VFreeBusy();
    -057     * 
    -058     * Date start = ...
    -059     * Date end = ...
    -060     * freebusy.addFreeBusy(FreeBusyType.FREE, start, end);
    -061     * 
    -062     * start = ...
    -063     * Duration duration = Duration.builder().hours(2).build();
    -064     * freebusy.addFreeBusy(FreeBusyType.BUSY, start, duration);
    -065     * </pre>
    -066     * 
    -067     * </p>
    -068     * @author Michael Angstadt
    -069     * @rfc 5545 p.59-62
    -070     */
    -071    public class VFreeBusy extends ICalComponent {
    -072            /**
    -073             * <p>
    -074             * Creates a new free/busy component.
    -075             * </p>
    -076             * <p>
    -077             * The following properties are auto-generated on object creation. These
    -078             * properties <b>must</b> be present in order for the free/busy component to
    -079             * be valid:
    -080             * <ul>
    -081             * <li>{@link Uid} - Set to a UUID.</li>
    -082             * <li>{@link DateTimeStamp} - Set to the current date-time.</li>
    -083             * </ul>
    -084             * </p>
    -085             */
    -086            public VFreeBusy() {
    -087                    setUid(Uid.random());
    -088                    setDateTimeStamp(new Date());
    -089            }
    -090    
    -091            /**
    -092             * Gets the unique identifier for this free/busy entry. This component
    -093             * object comes populated with a UID on creation. This is a <b>required</b>
    -094             * property.
    -095             * @return the UID or null if not set
    -096             * @rfc 5545 p.117-8
    -097             */
    -098            public Uid getUid() {
    -099                    return getProperty(Uid.class);
    -100            }
    -101    
    -102            /**
    -103             * Sets the unique identifier for this free/busy entry. This component
    -104             * object comes populated with a UID on creation. This is a <b>required</b>
    -105             * property.
    -106             * @param uid the UID or null to remove
    -107             * @rfc 5545 p.117-8
    -108             */
    -109            public void setUid(Uid uid) {
    -110                    setProperty(Uid.class, uid);
    -111            }
    -112    
    -113            /**
    -114             * Sets the unique identifier for this free/busy entry. This component
    -115             * object comes populated with a UID on creation. This is a <b>required</b>
    -116             * property.
    -117             * @param uid the UID or null to remove
    -118             * @return the property that was created
    -119             * @rfc 5545 p.117-8
    -120             */
    -121            public Uid setUid(String uid) {
    -122                    Uid prop = (uid == null) ? null : new Uid(uid);
    -123                    setUid(prop);
    -124                    return prop;
    -125            }
    -126    
    -127            /**
    -128             * Gets either (a) the creation date of the iCalendar object (if the
    -129             * {@link Method} property is defined) or (b) the date that the free/busy
    -130             * entry was last modified (the {@link LastModified} property also holds
    -131             * this information). This free/busy object comes populated with a
    -132             * {@link DateTimeStamp} property that is set to the current time. This is a
    -133             * <b>required</b> property.
    -134             * @return the date time stamp or null if not set
    -135             * @rfc 5545 p.137-8
    -136             */
    -137            public DateTimeStamp getDateTimeStamp() {
    -138                    return getProperty(DateTimeStamp.class);
    -139            }
    -140    
    -141            /**
    -142             * Sets either (a) the creation date of the iCalendar object (if the
    -143             * {@link Method} property is defined) or (b) the date that the free/busy
    -144             * entry was last modified (the {@link LastModified} property also holds
    -145             * this information). This free/busy object comes populated with a
    -146             * {@link DateTimeStamp} property that is set to the current time. This is a
    -147             * <b>required</b> property.
    -148             * @param dateTimeStamp the date time stamp or null to remove
    -149             * @rfc 5545 p.137-8
    -150             */
    -151            public void setDateTimeStamp(DateTimeStamp dateTimeStamp) {
    -152                    setProperty(DateTimeStamp.class, dateTimeStamp);
    -153            }
    -154    
    -155            /**
    -156             * Sets either (a) the creation date of the iCalendar object (if the
    -157             * {@link Method} property is defined) or (b) the date that the free/busy
    -158             * entry was last modified (the {@link LastModified} property also holds
    -159             * this information). This free/busy object comes populated with a
    -160             * {@link DateTimeStamp} property that is set to the current time. This is a
    -161             * <b>required</b> property.
    -162             * @param dateTimeStamp the date time stamp or null to remove
    -163             * @return the property that was created
    -164             * @rfc 5545 p.137-8
    -165             */
    -166            public DateTimeStamp setDateTimeStamp(Date dateTimeStamp) {
    -167                    DateTimeStamp prop = (dateTimeStamp == null) ? null : new DateTimeStamp(dateTimeStamp);
    -168                    setDateTimeStamp(prop);
    -169                    return prop;
    -170            }
    -171    
    -172            /**
    -173             * Gets the contact associated with the free/busy entry.
    -174             * @return the contact or null if not set
    -175             * @rfc 5545 p.109-11
    -176             */
    -177            public Contact getContact() {
    -178                    return getProperty(Contact.class);
    -179            }
    -180    
    -181            /**
    -182             * Sets the contact for the free/busy entry.
    -183             * @param contact the contact or null to remove
    -184             * @rfc 5545 p.109-11
    -185             */
    -186            public void setContact(Contact contact) {
    -187                    setProperty(Contact.class, contact);
    -188            }
    -189    
    -190            /**
    -191             * Sets the contact for the free/busy entry.
    -192             * @param contact the contact (e.g. "ACME Co - (123) 555-1234")
    -193             * @return the property that was created
    -194             * @rfc 5545 p.109-11
    -195             */
    -196            public Contact addContact(String contact) {
    -197                    Contact prop = new Contact(contact);
    -198                    setContact(prop);
    -199                    return prop;
    -200            }
    -201    
    -202            /**
    -203             * Gets the date that the free/busy entry starts.
    -204             * @return the start date or null if not set
    -205             * @rfc 5545 p.97-8
    -206             */
    -207            public DateStart getDateStart() {
    -208                    return getProperty(DateStart.class);
    -209            }
    -210    
    -211            /**
    -212             * Sets the date that the free/busy entry starts.
    -213             * @param dateStart the start date or null to remove
    -214             * @rfc 5545 p.97-8
    -215             */
    -216            public void setDateStart(DateStart dateStart) {
    -217                    setProperty(DateStart.class, dateStart);
    -218            }
    -219    
    -220            /**
    -221             * Sets the date that the free/busy entry starts.
    -222             * @param dateStart the start date or null to remove
    -223             * @return the property that was created
    -224             * @rfc 5545 p.97-8
    -225             */
    -226            public DateStart setDateStart(Date dateStart) {
    -227                    DateStart prop = (dateStart == null) ? null : new DateStart(dateStart);
    -228                    setDateStart(prop);
    -229                    return prop;
    -230            }
    -231    
    -232            /**
    -233             * Gets the date that the free/busy entry ends.
    -234             * @return the end date or null if not set
    -235             * @rfc 5545 p.95-6
    -236             */
    -237            public DateEnd getDateEnd() {
    -238                    return getProperty(DateEnd.class);
    -239            }
    -240    
    -241            /**
    -242             * Sets the date that the free/busy entry ends.
    -243             * @param dateEnd the end date or null to remove
    -244             * @rfc 5545 p.95-6
    -245             */
    -246            public void setDateEnd(DateEnd dateEnd) {
    -247                    setProperty(DateEnd.class, dateEnd);
    -248            }
    -249    
    -250            /**
    -251             * Sets the date that the free/busy entry ends.
    -252             * @param dateEnd the end date or null to remove
    -253             * @return the property that was created
    -254             * @rfc 5545 p.95-6
    -255             */
    -256            public DateEnd setDateEnd(Date dateEnd) {
    -257                    DateEnd prop = (dateEnd == null) ? null : new DateEnd(dateEnd);
    -258                    setDateEnd(prop);
    -259                    return prop;
    -260            }
    -261    
    -262            /**
    -263             * Gets the person requesting the free/busy time.
    -264             * @return the person requesting the free/busy time or null if not set
    -265             * @rfc 5545 p.111-2
    -266             */
    -267            public Organizer getOrganizer() {
    -268                    return getProperty(Organizer.class);
    -269            }
    -270    
    -271            /**
    -272             * Sets the person requesting the free/busy time.
    -273             * @param organizer the person requesting the free/busy time or null to
    -274             * remove
    -275             * @rfc 5545 p.111-2
    -276             */
    -277            public void setOrganizer(Organizer organizer) {
    -278                    setProperty(Organizer.class, organizer);
    -279            }
    -280    
    -281            /**
    -282             * Sets the person requesting the free/busy time.
    -283             * @param email the email address of the person requesting the free/busy
    -284             * time (e.g. "johndoe@example.com") or null to remove
    -285             * @return the property that was created
    -286             * @rfc 5545 p.111-2
    -287             */
    -288            public Organizer setOrganizer(String email) {
    -289                    Organizer prop = (email == null) ? null : Organizer.email(email);
    -290                    setOrganizer(prop);
    -291                    return prop;
    -292            }
    -293    
    -294            /**
    -295             * Gets a URL to a resource that contains additional information about the
    -296             * free/busy entry.
    -297             * @return the URL or null if not set
    -298             * @rfc 5545 p.116-7
    -299             */
    -300            public Url getUrl() {
    -301                    return getProperty(Url.class);
    -302            }
    -303    
    -304            /**
    -305             * Sets a URL to a resource that contains additional information about the
    -306             * free/busy entry.
    -307             * @param url the URL or null to remove
    -308             * @rfc 5545 p.116-7
    -309             */
    -310            public void setUrl(Url url) {
    -311                    setProperty(Url.class, url);
    -312            }
    -313    
    -314            /**
    -315             * Sets a URL to a resource that contains additional information about the
    -316             * free/busy entry.
    -317             * @param url the URL (e.g. "http://example.com/resource.ics") or null to
    -318             * remove
    -319             * @return the property that was created
    -320             * @rfc 5545 p.116-7
    -321             */
    -322            public Url setUrl(String url) {
    -323                    Url prop = (url == null) ? null : new Url(url);
    -324                    setUrl(prop);
    -325                    return prop;
    -326            }
    -327    
    -328            //
    -329            //zero or more
    -330            //      private List<Attendee> attendees;
    -331            //      private List<Comment> comments;
    -332            //      private List<FreeBusy> freeBusy;
    -333            //      private List<Rstatus> rstatus;
    -334    
    -335            /**
    -336             * Gets the people who are involved in the free/busy entry.
    -337             * @return the attendees
    -338             * @rfc 5545 p.107-9
    -339             */
    -340            public List<Attendee> getAttendees() {
    -341                    return getProperties(Attendee.class);
    -342            }
    -343    
    -344            /**
    -345             * Adds a person who is involved in the free/busy entry.
    -346             * @param attendee the attendee
    -347             * @rfc 5545 p.107-9
    -348             */
    -349            public void addAttendee(Attendee attendee) {
    -350                    addProperty(attendee);
    -351            }
    -352    
    -353            /**
    -354             * Gets the comments attached to the free/busy entry.
    -355             * @return the comments
    -356             * @rfc 5545 p.83-4
    -357             */
    -358            public List<Comment> getComments() {
    -359                    return getProperties(Comment.class);
    -360            }
    -361    
    -362            /**
    -363             * Adds a comment to the free/busy entry.
    -364             * @param comment the comment to add
    -365             * @rfc 5545 p.83-4
    -366             */
    -367            public void addComment(Comment comment) {
    -368                    addProperty(comment);
    -369            }
    -370    
    -371            /**
    -372             * Adds a comment to the free/busy entry.
    -373             * @param comment the comment to add
    -374             * @return the property that was created
    -375             * @rfc 5545 p.83-4
    -376             */
    -377            public Comment addComment(String comment) {
    -378                    Comment prop = new Comment(comment);
    -379                    addComment(prop);
    -380                    return prop;
    -381            }
    -382    
    -383            /**
    -384             * Gets the person's availabilities over certain time periods (for example,
    -385             * "free" between 1pm-3pm, but "busy" between 3pm-4pm).
    -386             * @return the availabilities
    -387             * @rfc 5545 p.100-1
    -388             */
    -389            public List<FreeBusy> getFreeBusy() {
    -390                    return getProperties(FreeBusy.class);
    -391            }
    -392    
    -393            /**
    -394             * Adds a list of time periods for which the person is free or busy (for
    -395             * example, "free" between 1pm-3pm and 4pm-5pm). Note that a
    -396             * {@link FreeBusy} property can contain multiple time periods, but only one
    -397             * availability type (e.g. "busy").
    -398             * @param freeBusy the availabilities
    -399             * @rfc 5545 p.100-1
    -400             */
    -401            public void addFreeBusy(FreeBusy freeBusy) {
    -402                    addProperty(freeBusy);
    -403            }
    -404    
    -405            /**
    -406             * Adds a single time period for which the person is free or busy (for
    -407             * example, "free" between 1pm-3pm). This method will look for an existing
    -408             * property that has the given {@link FreeBusyType} and add the time period
    -409             * to it, or create a new property is one cannot be found.
    -410             * @param type the availability type (e.g. "free" or "busy")
    -411             * @param start the start date-time
    -412             * @param end the end date-time
    -413             * @return the property that was created/modified
    -414             * @rfc 5545 p.100-1
    -415             */
    -416            public FreeBusy addFreeBusy(FreeBusyType type, Date start, Date end) {
    -417                    FreeBusy found = findByFbType(type);
    -418                    found.addValue(start, end);
    -419                    return found;
    -420            }
    -421    
    -422            /**
    -423             * Adds a single time period for which the person is free or busy (for
    -424             * example, "free" for 2 hours after 1pm). This method will look for an
    -425             * existing property that has the given {@link FreeBusyType} and add the
    -426             * time period to it, or create a new property is one cannot be found.
    -427             * @param type the availability type (e.g. "free" or "busy")
    -428             * @param start the start date-time
    -429             * @param duration the length of time
    -430             * @return the property that was created/modified
    -431             * @rfc 5545 p.100-1
    -432             */
    -433            public FreeBusy addFreeBusy(FreeBusyType type, Date start, Duration duration) {
    -434                    FreeBusy found = findByFbType(type);
    -435                    found.addValue(start, duration);
    -436                    return found;
    -437            }
    -438    
    -439            private FreeBusy findByFbType(FreeBusyType type) {
    -440                    FreeBusy found = null;
    -441    
    -442                    for (FreeBusy fb : getFreeBusy()) {
    -443                            if (fb.getType() == type) {
    -444                                    found = fb;
    -445                                    break;
    -446                            }
    -447                    }
    -448    
    -449                    if (found == null) {
    -450                            found = new FreeBusy();
    -451                            found.setType(type);
    -452                            addFreeBusy(found);
    -453                    }
    -454                    return found;
    -455            }
    -456    
    -457            /**
    -458             * Gets the response to a scheduling request.
    -459             * @return the response
    -460             * @rfc 5545 p.141-3
    -461             */
    -462            public RequestStatus getRequestStatus() {
    -463                    return getProperty(RequestStatus.class);
    -464            }
    -465    
    -466            /**
    -467             * Sets the response to a scheduling request.
    -468             * @param requestStatus the response
    -469             * @rfc 5545 p.141-3
    -470             */
    -471            public void setRequestStatus(RequestStatus requestStatus) {
    -472                    setProperty(RequestStatus.class, requestStatus);
    -473            }
    -474    
    -475            @SuppressWarnings("unchecked")
    -476            @Override
    -477            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -478                    checkRequiredCardinality(warnings, Uid.class, DateTimeStamp.class);
    -479                    checkOptionalCardinality(warnings, Contact.class, DateStart.class, DateEnd.class, Organizer.class, Url.class);
    -480    
    -481                    DateStart dateStart = getDateStart();
    -482                    DateEnd dateEnd = getDateEnd();
    -483    
    -484                    if (dateEnd != null && dateStart == null) {
    -485                            warnings.add("A " + DateStart.class.getSimpleName() + " property must be defined if a " + DateEnd.class.getSimpleName() + " property is defined.");
    -486                    }
    -487    
    -488                    if (dateStart != null && dateStart.getValue() != null && !dateStart.hasTime()) {
    -489                            warnings.add(DateStart.class.getSimpleName() + " properties in free/busy components must always have a time component.");
    -490                    }
    -491    
    -492                    if (dateEnd != null && dateEnd.getValue() != null && !dateEnd.hasTime()) {
    -493                            warnings.add(DateEnd.class.getSimpleName() + " properties in free/busy components must always have a time component.");
    -494                    }
    -495    
    -496                    if (dateStart != null && dateEnd != null) {
    -497                            Date start = dateStart.getValue();
    -498                            Date end = dateEnd.getValue();
    -499                            if (start != null && end != null && start.compareTo(end) >= 0) {
    -500                                    warnings.add(DateStart.class.getSimpleName() + " must come before " + DateEnd.class.getSimpleName() + ".");
    -501                            }
    -502                    }
    -503            }
    -504    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VJournal.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VJournal.html deleted file mode 100644 index b0b81131..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VJournal.html +++ /dev/null @@ -1,973 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.property.Attachment;
    -007    import biweekly.property.Attendee;
    -008    import biweekly.property.Categories;
    -009    import biweekly.property.Classification;
    -010    import biweekly.property.Comment;
    -011    import biweekly.property.Contact;
    -012    import biweekly.property.Created;
    -013    import biweekly.property.DateStart;
    -014    import biweekly.property.DateTimeStamp;
    -015    import biweekly.property.Description;
    -016    import biweekly.property.ExceptionDates;
    -017    import biweekly.property.ExceptionRule;
    -018    import biweekly.property.LastModified;
    -019    import biweekly.property.Method;
    -020    import biweekly.property.Organizer;
    -021    import biweekly.property.RecurrenceDates;
    -022    import biweekly.property.RecurrenceId;
    -023    import biweekly.property.RecurrenceRule;
    -024    import biweekly.property.RelatedTo;
    -025    import biweekly.property.RequestStatus;
    -026    import biweekly.property.Sequence;
    -027    import biweekly.property.Status;
    -028    import biweekly.property.Summary;
    -029    import biweekly.property.Uid;
    -030    import biweekly.property.Url;
    -031    import biweekly.util.Recurrence;
    -032    
    -033    /*
    -034     Copyright (c) 2013, Michael Angstadt
    -035     All rights reserved.
    -036    
    -037     Redistribution and use in source and binary forms, with or without
    -038     modification, are permitted provided that the following conditions are met: 
    -039    
    -040     1. Redistributions of source code must retain the above copyright notice, this
    -041     list of conditions and the following disclaimer. 
    -042     2. Redistributions in binary form must reproduce the above copyright notice,
    -043     this list of conditions and the following disclaimer in the documentation
    -044     and/or other materials provided with the distribution. 
    -045    
    -046     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -047     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -048     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -049     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -050     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -051     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -052     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -053     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -054     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -055     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -056     */
    -057    
    -058    /**
    -059     * <p>
    -060     * Defines descriptive text associated with the calendar data.
    -061     * </p>
    -062     * <p>
    -063     * <b>Examples:</b>
    -064     * 
    -065     * <pre class="brush:java">
    -066     * VJournal journal = new VJournal();
    -067     * journal.setSummary("Team Meeting");
    -068     * journal.setDescription("The following items were discussed: ...");
    -069     * byte[] slides = ...
    -070     * journal.addAttachment(new Attachment("application/vnd.ms-powerpoint", slides));
    -071     * </pre>
    -072     * 
    -073     * </p>
    -074     * @author Michael Angstadt
    -075     * @rfc 5545 p.57-9
    -076     */
    -077    public class VJournal extends ICalComponent {
    -078            /**
    -079             * <p>
    -080             * Creates a new journal entry.
    -081             * </p>
    -082             * <p>
    -083             * The following properties are auto-generated on object creation. These
    -084             * properties <b>must</b> be present in order for the journal entry to be
    -085             * valid:
    -086             * <ul>
    -087             * <li>{@link Uid} - Set to a UUID.</li>
    -088             * <li>{@link DateTimeStamp} - Set to the current date-time.</li>
    -089             * </ul>
    -090             * </p>
    -091             */
    -092            public VJournal() {
    -093                    setUid(Uid.random());
    -094                    setDateTimeStamp(new Date());
    -095            }
    -096    
    -097            /**
    -098             * Gets the unique identifier for this journal entry. This component object
    -099             * comes populated with a UID on creation. This is a <b>required</b>
    -100             * property.
    -101             * @return the UID or null if not set
    -102             * @rfc 5545 p.117-8
    -103             */
    -104            public Uid getUid() {
    -105                    return getProperty(Uid.class);
    -106            }
    -107    
    -108            /**
    -109             * Sets the unique identifier for this journal entry. This component object
    -110             * comes populated with a UID on creation. This is a <b>required</b>
    -111             * property.
    -112             * @param uid the UID or null to remove
    -113             * @rfc 5545 p.117-8
    -114             */
    -115            public void setUid(Uid uid) {
    -116                    setProperty(Uid.class, uid);
    -117            }
    -118    
    -119            /**
    -120             * Sets the unique identifier for this journal entry. This component object
    -121             * comes populated with a UID on creation. This is a <b>required</b>
    -122             * property.
    -123             * @param uid the UID or null to remove
    -124             * @return the property that was created
    -125             * @rfc 5545 p.117-8
    -126             */
    -127            public Uid setUid(String uid) {
    -128                    Uid prop = (uid == null) ? null : new Uid(uid);
    -129                    setUid(prop);
    -130                    return prop;
    -131            }
    -132    
    -133            /**
    -134             * Gets either (a) the creation date of the iCalendar object (if the
    -135             * {@link Method} property is defined) or (b) the date that the journal
    -136             * entry was last modified (the {@link LastModified} property also holds
    -137             * this information). This journal entry object comes populated with a
    -138             * {@link DateTimeStamp} property that is set to the current time. This is a
    -139             * <b>required</b> property.
    -140             * @return the date time stamp or null if not set
    -141             * @rfc 5545 p.137-8
    -142             */
    -143            public DateTimeStamp getDateTimeStamp() {
    -144                    return getProperty(DateTimeStamp.class);
    -145            }
    -146    
    -147            /**
    -148             * Sets either (a) the creation date of the iCalendar object (if the
    -149             * {@link Method} property is defined) or (b) the date that the journal
    -150             * entry was last modified (the {@link LastModified} property also holds
    -151             * this information). This journal entry object comes populated with a
    -152             * {@link DateTimeStamp} property that is set to the current time. This is a
    -153             * <b>required</b> property.
    -154             * @param dateTimeStamp the date time stamp or null to remove
    -155             * @rfc 5545 p.137-8
    -156             */
    -157            public void setDateTimeStamp(DateTimeStamp dateTimeStamp) {
    -158                    setProperty(DateTimeStamp.class, dateTimeStamp);
    -159            }
    -160    
    -161            /**
    -162             * Sets either (a) the creation date of the iCalendar object (if the
    -163             * {@link Method} property is defined) or (b) the date that the journal
    -164             * entry was last modified (the {@link LastModified} property also holds
    -165             * this information). This journal entry object comes populated with a
    -166             * {@link DateTimeStamp} property that is set to the current time. This is a
    -167             * <b>required</b> property.
    -168             * @param dateTimeStamp the date time stamp or null to remove
    -169             * @return the property that was created
    -170             * @rfc 5545 p.137-8
    -171             */
    -172            public DateTimeStamp setDateTimeStamp(Date dateTimeStamp) {
    -173                    DateTimeStamp prop = (dateTimeStamp == null) ? null : new DateTimeStamp(dateTimeStamp);
    -174                    setDateTimeStamp(prop);
    -175                    return prop;
    -176            }
    -177    
    -178            /**
    -179             * Gets the level of sensitivity of the journal entry. If not specified, the
    -180             * data within the journal entry should be considered "public".
    -181             * @return the classification level or null if not set
    -182             * @rfc 5545 p.82-3
    -183             */
    -184            public Classification getClassification() {
    -185                    return getProperty(Classification.class);
    -186            }
    -187    
    -188            /**
    -189             * Sets the level of sensitivity of the journal entry. If not specified, the
    -190             * data within the journal entry should be considered "public".
    -191             * @param classification the classification level or null to remove
    -192             * @rfc 5545 p.82-3
    -193             */
    -194            public void setClassification(Classification classification) {
    -195                    setProperty(Classification.class, classification);
    -196            }
    -197    
    -198            /**
    -199             * Sets the level of sensitivity of the journal entry. If not specified, the
    -200             * data within the journal entry should be considered "public".
    -201             * @param classification the classification level (e.g. "CONFIDENTIAL") or
    -202             * null to remove
    -203             * @return the property that was created
    -204             * @rfc 5545 p.82-3
    -205             */
    -206            public Classification setClassification(String classification) {
    -207                    Classification prop = (classification == null) ? null : new Classification(classification);
    -208                    setClassification(prop);
    -209                    return prop;
    -210            }
    -211    
    -212            /**
    -213             * Gets the date-time that the journal entry was initially created.
    -214             * @return the creation date-time or null if not set
    -215             * @rfc 5545 p.136
    -216             */
    -217            public Created getCreated() {
    -218                    return getProperty(Created.class);
    -219            }
    -220    
    -221            /**
    -222             * Sets the date-time that the journal entry was initially created.
    -223             * @param created the creation date-time or null to remove
    -224             * @rfc 5545 p.136
    -225             */
    -226            public void setCreated(Created created) {
    -227                    setProperty(Created.class, created);
    -228            }
    -229    
    -230            /**
    -231             * Sets the date-time that the journal entry was initially created.
    -232             * @param created the creation date-time or null to remove
    -233             * @return the property that was created
    -234             * @rfc 5545 p.136
    -235             */
    -236            public Created setCreated(Date created) {
    -237                    Created prop = (created == null) ? null : new Created(created);
    -238                    setCreated(prop);
    -239                    return prop;
    -240            }
    -241    
    -242            /**
    -243             * Gets the date that the journal entry starts.
    -244             * @return the start date or null if not set
    -245             * @rfc 5545 p.97-8
    -246             */
    -247            public DateStart getDateStart() {
    -248                    return getProperty(DateStart.class);
    -249            }
    -250    
    -251            /**
    -252             * Sets the date that the journal entry starts.
    -253             * @param dateStart the start date or null to remove
    -254             * @rfc 5545 p.97-8
    -255             */
    -256            public void setDateStart(DateStart dateStart) {
    -257                    setProperty(DateStart.class, dateStart);
    -258            }
    -259    
    -260            /**
    -261             * Sets the date that the journal entry starts.
    -262             * @param dateStart the start date or null to remove
    -263             * @return the property that was created
    -264             * @rfc 5545 p.97-8
    -265             */
    -266            public DateStart setDateStart(Date dateStart) {
    -267                    DateStart prop = (dateStart == null) ? null : new DateStart(dateStart);
    -268                    setDateStart(prop);
    -269                    return prop;
    -270            }
    -271    
    -272            /**
    -273             * Gets the date-time that the journal entry was last changed.
    -274             * @return the last modified date or null if not set
    -275             * @rfc 5545 p.138
    -276             */
    -277            public LastModified getLastModified() {
    -278                    return getProperty(LastModified.class);
    -279            }
    -280    
    -281            /**
    -282             * Sets the date-time that the journal entry was last changed.
    -283             * @param lastModified the last modified date or null to remove
    -284             * @rfc 5545 p.138
    -285             */
    -286            public void setLastModified(LastModified lastModified) {
    -287                    setProperty(LastModified.class, lastModified);
    -288            }
    -289    
    -290            /**
    -291             * Sets the date-time that the journal entry was last changed.
    -292             * @param lastModified the last modified date or null to remove
    -293             * @return the property that was created
    -294             * @rfc 5545 p.138
    -295             */
    -296            public LastModified setLastModified(Date lastModified) {
    -297                    LastModified prop = (lastModified == null) ? null : new LastModified(lastModified);
    -298                    setLastModified(prop);
    -299                    return prop;
    -300            }
    -301    
    -302            /**
    -303             * Gets the organizer of the journal entry.
    -304             * @return the organizer or null if not set
    -305             * @rfc 5545 p.111-2
    -306             */
    -307            public Organizer getOrganizer() {
    -308                    return getProperty(Organizer.class);
    -309            }
    -310    
    -311            /**
    -312             * Sets the organizer of the journal entry.
    -313             * @param organizer the organizer or null to remove
    -314             * @rfc 5545 p.111-2
    -315             */
    -316            public void setOrganizer(Organizer organizer) {
    -317                    setProperty(Organizer.class, organizer);
    -318            }
    -319    
    -320            /**
    -321             * Sets the organizer of the journal entry.
    -322             * @param email the organizer's email address (e.g. "johndoe@example.com")
    -323             * or null to remove
    -324             * @return the property that was created
    -325             * @rfc 5545 p.111-2
    -326             */
    -327            public Organizer setOrganizer(String email) {
    -328                    Organizer prop = (email == null) ? null : Organizer.email(email);
    -329                    setOrganizer(prop);
    -330                    return prop;
    -331            }
    -332    
    -333            /**
    -334             * Gets the original value of the {@link DateStart} property if the event is
    -335             * recurring and has been modified. Used in conjunction with the {@link Uid}
    -336             * and {@link Sequence} properties to uniquely identify a recurrence
    -337             * instance.
    -338             * @return the recurrence ID or null if not set
    -339             * @rfc 5545 p.112-4
    -340             */
    -341            public RecurrenceId getRecurrenceId() {
    -342                    return getProperty(RecurrenceId.class);
    -343            }
    -344    
    -345            /**
    -346             * Sets the original value of the {@link DateStart} property if the event is
    -347             * recurring and has been modified. Used in conjunction with the {@link Uid}
    -348             * and {@link Sequence} properties to uniquely identify a recurrence
    -349             * instance.
    -350             * @param recurrenceId the recurrence ID or null to remove
    -351             * @rfc 5545 p.112-4
    -352             */
    -353            public void setRecurrenceId(RecurrenceId recurrenceId) {
    -354                    setProperty(RecurrenceId.class, recurrenceId);
    -355            }
    -356    
    -357            /**
    -358             * Sets the original value of the {@link DateStart} property if the journal
    -359             * entry is recurring and has been modified. Used in conjunction with the
    -360             * {@link Uid} and {@link Sequence} properties to uniquely identify a
    -361             * recurrence instance.
    -362             * @param originalStartDate the original start date or null to remove
    -363             * @return the property that was created
    -364             * @rfc 5545 p.112-4
    -365             */
    -366            public RecurrenceId setRecurrenceId(Date originalStartDate) {
    -367                    RecurrenceId prop = (originalStartDate == null) ? null : new RecurrenceId(originalStartDate);
    -368                    setRecurrenceId(prop);
    -369                    return prop;
    -370            }
    -371    
    -372            /**
    -373             * Gets the revision number of the journal entry. The organizer can
    -374             * increment this number every time he or she makes a significant change.
    -375             * @return the sequence number
    -376             * @rfc 5545 p.138-9
    -377             */
    -378            public Sequence getSequence() {
    -379                    return getProperty(Sequence.class);
    -380            }
    -381    
    -382            /**
    -383             * Sets the revision number of the journal entry. The organizer can
    -384             * increment this number every time he or she makes a significant change.
    -385             * @param sequence the sequence number
    -386             * @rfc 5545 p.138-9
    -387             */
    -388            public void setSequence(Sequence sequence) {
    -389                    setProperty(Sequence.class, sequence);
    -390            }
    -391    
    -392            /**
    -393             * Sets the revision number of the journal entry. The organizer can
    -394             * increment this number every time he or she makes a significant change.
    -395             * @param sequence the sequence number
    -396             * @return the property that was created
    -397             * @rfc 5545 p.138-9
    -398             */
    -399            public Sequence setSequence(Integer sequence) {
    -400                    Sequence prop = (sequence == null) ? null : new Sequence(sequence);
    -401                    setSequence(prop);
    -402                    return prop;
    -403            }
    -404    
    -405            /**
    -406             * Increments the revision number of the journal entry. The organizer can
    -407             * increment this number every time he or she makes a significant change.
    -408             * @rfc 5545 p.138-9
    -409             */
    -410            public void incrementSequence() {
    -411                    Sequence sequence = getSequence();
    -412                    if (sequence == null) {
    -413                            setSequence(1);
    -414                    } else {
    -415                            sequence.increment();
    -416                    }
    -417            }
    -418    
    -419            /**
    -420             * Gets the status of the journal entry.
    -421             * @return the status or null if not set
    -422             * @rfc 5545 p.92-3
    -423             */
    -424            public Status getStatus() {
    -425                    return getProperty(Status.class);
    -426            }
    -427    
    -428            /**
    -429             * Sets the status of the journal entry.
    -430             * <p>
    -431             * Valid journal status codes are:
    -432             * <ul>
    -433             * <li>DRAFT</li>
    -434             * <li>FINAL</li>
    -435             * <li>CANCELLED</li>
    -436             * </ul>
    -437             * </p>
    -438             * @param status the status or null to remove
    -439             * @rfc 5545 p.92-3
    -440             */
    -441            public void setStatus(Status status) {
    -442                    setProperty(Status.class, status);
    -443            }
    -444    
    -445            /**
    -446             * Gets the summary of the journal entry.
    -447             * @return the summary or null if not set
    -448             * @rfc 5545 p.93-4
    -449             */
    -450            public Summary getSummary() {
    -451                    return getProperty(Summary.class);
    -452            }
    -453    
    -454            /**
    -455             * Sets the summary of the journal entry.
    -456             * @param summary the summary or null to remove
    -457             * @rfc 5545 p.93-4
    -458             */
    -459            public void setSummary(Summary summary) {
    -460                    setProperty(Summary.class, summary);
    -461            }
    -462    
    -463            /**
    -464             * Sets the summary of the journal entry.
    -465             * @param summary the summary or null to remove
    -466             * @return the property that was created
    -467             * @rfc 5545 p.93-4
    -468             */
    -469            public Summary setSummary(String summary) {
    -470                    Summary prop = (summary == null) ? null : new Summary(summary);
    -471                    setSummary(prop);
    -472                    return prop;
    -473            }
    -474    
    -475            /**
    -476             * Gets a URL to a resource that contains additional information about the
    -477             * journal entry.
    -478             * @return the URL or null if not set
    -479             * @rfc 5545 p.116-7
    -480             */
    -481            public Url getUrl() {
    -482                    return getProperty(Url.class);
    -483            }
    -484    
    -485            /**
    -486             * Sets a URL to a resource that contains additional information about the
    -487             * journal entry.
    -488             * @param url the URL or null to remove
    -489             * @rfc 5545 p.116-7
    -490             */
    -491            public void setUrl(Url url) {
    -492                    setProperty(Url.class, url);
    -493            }
    -494    
    -495            /**
    -496             * Sets a URL to a resource that contains additional information about the
    -497             * journal entry.
    -498             * @param url the URL (e.g. "http://example.com/resource.ics") or null to
    -499             * remove
    -500             * @return the property that was created
    -501             * @rfc 5545 p.116-7
    -502             */
    -503            public Url setUrl(String url) {
    -504                    Url prop = (url == null) ? null : new Url(url);
    -505                    setUrl(prop);
    -506                    return prop;
    -507            }
    -508    
    -509            /**
    -510             * Gets how often the journal entry repeats.
    -511             * @return the recurrence rule or null if not set
    -512             * @rfc 5545 p.122-32
    -513             */
    -514            public RecurrenceRule getRecurrenceRule() {
    -515                    return getProperty(RecurrenceRule.class);
    -516            }
    -517    
    -518            /**
    -519             * Sets how often the journal entry repeats.
    -520             * @param recur the recurrence rule or null to remove
    -521             * @return the property that was created
    -522             * @rfc 5545 p.122-32
    -523             */
    -524            public RecurrenceRule setRecurrenceRule(Recurrence recur) {
    -525                    RecurrenceRule prop = (recur == null) ? null : new RecurrenceRule(recur);
    -526                    setRecurrenceRule(prop);
    -527                    return prop;
    -528            }
    -529    
    -530            /**
    -531             * Sets how often the journal entry repeats.
    -532             * @param recurrenceRule the recurrence rule or null to remove
    -533             * @rfc 5545 p.122-32
    -534             */
    -535            public void setRecurrenceRule(RecurrenceRule recurrenceRule) {
    -536                    setProperty(RecurrenceRule.class, recurrenceRule);
    -537            }
    -538    
    -539            /**
    -540             * Gets any attachments that are associated with the journal entry.
    -541             * @return the attachments
    -542             * @rfc 5545 p.80-1
    -543             */
    -544            public List<Attachment> getAttachments() {
    -545                    return getProperties(Attachment.class);
    -546            }
    -547    
    -548            /**
    -549             * Adds an attachment to the journal entry.
    -550             * @param attachment the attachment to add
    -551             * @rfc 5545 p.80-1
    -552             */
    -553            public void addAttachment(Attachment attachment) {
    -554                    addProperty(attachment);
    -555            }
    -556    
    -557            /**
    -558             * Gets the people who are involved in the journal entry.
    -559             * @return the attendees
    -560             * @rfc 5545 p.107-9
    -561             */
    -562            public List<Attendee> getAttendees() {
    -563                    return getProperties(Attendee.class);
    -564            }
    -565    
    -566            /**
    -567             * Adds a person who is involved in the journal entry.
    -568             * @param attendee the attendee
    -569             * @rfc 5545 p.107-9
    -570             */
    -571            public void addAttendee(Attendee attendee) {
    -572                    addProperty(attendee);
    -573            }
    -574    
    -575            /**
    -576             * Adds a person who is involved in the journal entry.
    -577             * @param email the attendee's email address
    -578             * @return the property that was created
    -579             * @rfc 5545 p.107-9
    -580             */
    -581            public Attendee addAttendee(String email) {
    -582                    Attendee prop = Attendee.email(email);
    -583                    addAttendee(prop);
    -584                    return prop;
    -585            }
    -586    
    -587            /**
    -588             * Gets a list of "tags" or "keywords" that describe the journal entry.
    -589             * @return the categories
    -590             * @rfc 5545 p.81-2
    -591             */
    -592            public List<Categories> getCategories() {
    -593                    return getProperties(Categories.class);
    -594            }
    -595    
    -596            /**
    -597             * Adds a list of "tags" or "keywords" that describe the journal entry. Note
    -598             * that a single property can hold multiple keywords.
    -599             * @param categories the categories to add
    -600             * @rfc 5545 p.81-2
    -601             */
    -602            public void addCategories(Categories categories) {
    -603                    addProperty(categories);
    -604            }
    -605    
    -606            /**
    -607             * Adds a list of "tags" or "keywords" that describe the journal entry.
    -608             * @param categories the categories to add
    -609             * @return the property that was created
    -610             * @rfc 5545 p.81-2
    -611             */
    -612            public Categories addCategories(String... categories) {
    -613                    Categories prop = new Categories(categories);
    -614                    addCategories(prop);
    -615                    return prop;
    -616            }
    -617    
    -618            /**
    -619             * Adds a list of "tags" or "keywords" that describe the journal entry.
    -620             * @param categories the categories to add
    -621             * @return the property that was created
    -622             * @rfc 5545 p.81-2
    -623             */
    -624            public Categories addCategories(List<String> categories) {
    -625                    Categories prop = new Categories(categories);
    -626                    addCategories(prop);
    -627                    return prop;
    -628            }
    -629    
    -630            /**
    -631             * Gets the comments attached to the journal entry.
    -632             * @return the comments
    -633             * @rfc 5545 p.83-4
    -634             */
    -635            public List<Comment> getComments() {
    -636                    return getProperties(Comment.class);
    -637            }
    -638    
    -639            /**
    -640             * Adds a comment to the journal entry.
    -641             * @param comment the comment to add
    -642             * @rfc 5545 p.83-4
    -643             */
    -644            public void addComment(Comment comment) {
    -645                    addProperty(comment);
    -646            }
    -647    
    -648            /**
    -649             * Adds a comment to the journal entry.
    -650             * @param comment the comment to add
    -651             * @return the property that was created
    -652             * @rfc 5545 p.83-4
    -653             */
    -654            public Comment addComment(String comment) {
    -655                    Comment prop = new Comment(comment);
    -656                    addComment(prop);
    -657                    return prop;
    -658            }
    -659    
    -660            /**
    -661             * Gets the contacts associated with the journal entry.
    -662             * @return the contacts
    -663             * @rfc 5545 p.109-11
    -664             */
    -665            public List<Contact> getContacts() {
    -666                    return getProperties(Contact.class);
    -667            }
    -668    
    -669            /**
    -670             * Adds a contact to the journal entry.
    -671             * @param contact the contact
    -672             * @rfc 5545 p.109-11
    -673             */
    -674            public void addContact(Contact contact) {
    -675                    addProperty(contact);
    -676            }
    -677    
    -678            /**
    -679             * Adds a contact to the journal entry.
    -680             * @param contact the contact (e.g. "ACME Co - (123) 555-1234")
    -681             * @return the property that was created
    -682             * @rfc 5545 p.109-11
    -683             */
    -684            public Contact addContact(String contact) {
    -685                    Contact prop = new Contact(contact);
    -686                    addContact(prop);
    -687                    return prop;
    -688            }
    -689    
    -690            /**
    -691             * Gets the detailed descriptions to the journal entry. The descriptions
    -692             * should be a more detailed version of the one provided by the
    -693             * {@link Summary} property.
    -694             * @return the descriptions
    -695             * @rfc 5545 p.84-5
    -696             */
    -697            public List<Description> getDescriptions() {
    -698                    return getProperties(Description.class);
    -699            }
    -700    
    -701            /**
    -702             * Adds a detailed description to the journal entry. The description should
    -703             * be a more detailed version of the one provided by the {@link Summary}
    -704             * property.
    -705             * @param description the description
    -706             * @rfc 5545 p.84-5
    -707             */
    -708            public void addDescription(Description description) {
    -709                    addProperty(description);
    -710            }
    -711    
    -712            /**
    -713             * Adds a detailed description to the journal entry. The description should
    -714             * be a more detailed version of the one provided by the {@link Summary}
    -715             * property.
    -716             * @param description the description
    -717             * @return the property that was created
    -718             * @rfc 5545 p.84-5
    -719             */
    -720            public Description addDescription(String description) {
    -721                    Description prop = new Description(description);
    -722                    addDescription(prop);
    -723                    return prop;
    -724            }
    -725    
    -726            /**
    -727             * Gets the list of exceptions to the recurrence rule defined in the journal
    -728             * entry (if one is defined).
    -729             * @return the list of exceptions
    -730             * @rfc 5545 p.118-20
    -731             */
    -732            public List<ExceptionDates> getExceptionDates() {
    -733                    return getProperties(ExceptionDates.class);
    -734            }
    -735    
    -736            /**
    -737             * Adds a list of exceptions to the recurrence rule defined in the journal
    -738             * entry (if one is defined). Note that this property can contain multiple
    -739             * dates.
    -740             * @param exceptionDates the list of exceptions
    -741             * @rfc 5545 p.118-20
    -742             */
    -743            public void addExceptionDates(ExceptionDates exceptionDates) {
    -744                    addProperty(exceptionDates);
    -745            }
    -746    
    -747            /**
    -748             * Gets the components that the journal entry is related to.
    -749             * @return the relationships
    -750             * @rfc 5545 p.115-6
    -751             */
    -752            public List<RelatedTo> getRelatedTo() {
    -753                    return getProperties(RelatedTo.class);
    -754            }
    -755    
    -756            /**
    -757             * Adds a component that the journal entry is related to.
    -758             * @param relatedTo the relationship
    -759             * @rfc 5545 p.115-6
    -760             */
    -761            public void addRelatedTo(RelatedTo relatedTo) {
    -762                    //TODO create a method that accepts a component and make the RelatedTo property invisible to the user
    -763                    //@formatter:off
    -764                    /*
    -765                     * addRelation(RelationshipType relType, ICalComponent component){
    -766                     *   RelatedTo prop = new RelatedTo(component.getUid().getValue());
    -767                     *   prop.setRelationshipType(relType);
    -768                     *   addProperty(prop);
    -769                     * }
    -770                     */
    -771                    //@formatter:on
    -772                    addProperty(relatedTo);
    -773            }
    -774    
    -775            /**
    -776             * Adds a component that the journal entry is related to.
    -777             * @param uid the UID of the other component
    -778             * @return the property that was created
    -779             * @rfc 5545 p.115-6
    -780             */
    -781            public RelatedTo addRelatedTo(String uid) {
    -782                    RelatedTo prop = new RelatedTo(uid);
    -783                    addRelatedTo(prop);
    -784                    return prop;
    -785            }
    -786    
    -787            /**
    -788             * Gets the list of dates/periods that help define the recurrence rule of
    -789             * this journal entry (if one is defined).
    -790             * @return the recurrence dates
    -791             * @rfc 5545 p.120-2
    -792             */
    -793            public List<RecurrenceDates> getRecurrenceDates() {
    -794                    return getProperties(RecurrenceDates.class);
    -795            }
    -796    
    -797            /**
    -798             * Adds a list of dates/periods that help define the recurrence rule of this
    -799             * journal entry (if one is defined).
    -800             * @param recurrenceDates the recurrence dates
    -801             * @rfc 5545 p.120-2
    -802             */
    -803            public void addRecurrenceDates(RecurrenceDates recurrenceDates) {
    -804                    addProperty(recurrenceDates);
    -805            }
    -806    
    -807            /**
    -808             * Gets the response to a scheduling request.
    -809             * @return the response
    -810             * @rfc 5545 p.141-3
    -811             */
    -812            public RequestStatus getRequestStatus() {
    -813                    return getProperty(RequestStatus.class);
    -814            }
    -815    
    -816            /**
    -817             * Sets the response to a scheduling request.
    -818             * @param requestStatus the response
    -819             * @rfc 5545 p.141-3
    -820             */
    -821            public void setRequestStatus(RequestStatus requestStatus) {
    -822                    setProperty(RequestStatus.class, requestStatus);
    -823            }
    -824    
    -825            /**
    -826             * <p>
    -827             * Gets the exceptions for the {@link RecurrenceRule} property.
    -828             * </p>
    -829             * <p>
    -830             * Note that this property has been removed from the latest version of the
    -831             * iCal specification. Its use should be avoided.
    -832             * </p>
    -833             * @return the exception rules
    -834             * @rfc 2445 p.114-15
    -835             */
    -836            public List<ExceptionRule> getExceptionRules() {
    -837                    return getProperties(ExceptionRule.class);
    -838            }
    -839    
    -840            /**
    -841             * <p>
    -842             * Adds an exception for the {@link RecurrenceRule} property.
    -843             * </p>
    -844             * <p>
    -845             * Note that this property has been removed from the latest version of the
    -846             * iCal specification. Its use should be avoided.
    -847             * </p>
    -848             * @param recur the exception rule to add
    -849             * @return the property that was created
    -850             * @rfc 2445 p.114-15
    -851             */
    -852            public ExceptionRule addExceptionRule(Recurrence recur) {
    -853                    ExceptionRule prop = (recur == null) ? null : new ExceptionRule(recur);
    -854                    addExceptionRule(prop);
    -855                    return prop;
    -856            }
    -857    
    -858            /**
    -859             * <p>
    -860             * Adds an exception for the {@link RecurrenceRule} property.
    -861             * </p>
    -862             * <p>
    -863             * Note that this property has been removed from the latest version of the
    -864             * iCal specification. Its use should be avoided.
    -865             * </p>
    -866             * @param exceptionRule the exception rule to add
    -867             * @rfc 2445 p.114-15
    -868             */
    -869            public void addExceptionRule(ExceptionRule exceptionRule) {
    -870                    addProperty(exceptionRule);
    -871            }
    -872    
    -873            @SuppressWarnings("unchecked")
    -874            @Override
    -875            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -876                    checkRequiredCardinality(warnings, Uid.class, DateTimeStamp.class);
    -877                    checkOptionalCardinality(warnings, Classification.class, Created.class, DateStart.class, LastModified.class, Organizer.class, RecurrenceId.class, Sequence.class, Status.class, Summary.class, Url.class);
    -878    
    -879                    Status status = getStatus();
    -880                    if (status != null && (status.isTentative() || status.isConfirmed() || status.isNeedsAction() || status.isCompleted() || status.isInProgress())) {
    -881                            warnings.add("Invalid status value (\"" + status.getValue() + "\").  Valid status values are \"draft\", \"final\", and \"cancelled\".");
    -882                    }
    -883    
    -884                    RecurrenceId recurrenceId = getRecurrenceId();
    -885                    DateStart dateStart = getDateStart();
    -886                    if (recurrenceId != null && dateStart != null && dateStart.hasTime() != recurrenceId.hasTime()) {
    -887                            warnings.add("Both " + DateStart.class.getSimpleName() + " and " + RecurrenceId.class.getSimpleName() + " must have the same data type (they must either both be dates or both be datetimes).");
    -888                    }
    -889    
    -890                    //RFC 5545 p. 167
    -891                    RecurrenceRule rrule = getRecurrenceRule();
    -892                    if (dateStart != null && rrule != null) {
    -893                            Date start = dateStart.getValue();
    -894                            Recurrence recur = rrule.getValue();
    -895                            if (start != null && recur != null) {
    -896                                    if (!dateStart.hasTime() && (!recur.getByHour().isEmpty() || !recur.getByMinute().isEmpty() || !recur.getBySecond().isEmpty())) {
    -897                                            warnings.add("The BYHOUR, BYMINUTE, and BYSECOND rule parts cannot be specified in the " + RecurrenceRule.class.getSimpleName() + " property when the " + DateStart.class.getSimpleName() + " property contains a date value (as opposed to a date-time value).");
    -898                                    }
    -899                            }
    -900                    }
    -901    
    -902                    //RFC 5545 p. 167
    -903                    if (getProperties(RecurrenceRule.class).size() > 1) {
    -904                            warnings.add("There should be only one instance of the " + RecurrenceRule.class.getSimpleName() + " property.");
    -905                    }
    -906            }
    -907    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VTimezone.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VTimezone.html deleted file mode 100644 index a43c2249..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VTimezone.html +++ /dev/null @@ -1,277 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.property.LastModified;
    -007    import biweekly.property.TimezoneId;
    -008    import biweekly.property.TimezoneUrl;
    -009    
    -010    /*
    -011     Copyright (c) 2013, Michael Angstadt
    -012     All rights reserved.
    -013    
    -014     Redistribution and use in source and binary forms, with or without
    -015     modification, are permitted provided that the following conditions are met: 
    -016    
    -017     1. Redistributions of source code must retain the above copyright notice, this
    -018     list of conditions and the following disclaimer. 
    -019     2. Redistributions in binary form must reproduce the above copyright notice,
    -020     this list of conditions and the following disclaimer in the documentation
    -021     and/or other materials provided with the distribution. 
    -022    
    -023     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -024     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -025     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -026     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -027     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -028     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -029     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -030     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -031     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -032     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -033     */
    -034    
    -035    /**
    -036     * <p>
    -037     * Defines a timezone's UTC offsets throughout the year.
    -038     * </p>
    -039     * 
    -040     * <p>
    -041     * <b>Examples:</b>
    -042     * 
    -043     * <pre class="brush:java">
    -044     * VTimezone timezone = new VTimezone(&quot;Eastern Standard Time&quot;);
    -045     * 
    -046     * StandardTime standard = new StandardTime();
    -047     * DateTimeComponents componentsStandard = new DateTimeComponents(1998, 10, 25, 2, 0, 0, false);
    -048     * standard.setDateStart(componentsStandard);
    -049     * standard.setTimezoneOffsetFrom(-4, 0);
    -050     * standard.setTimezoneOffsetTo(-5, 0);
    -051     * timezone.addStandardTime(standard);
    -052     * 
    -053     * DaylightSavingsTime daylight = new DaylightSavingsTime();
    -054     * DateTimeComponents componentsDaylight = new DateTimeComponents(1999, 4, 4, 2, 0, 0, false);
    -055     * daylight.setDateStart(componentsDaylight);
    -056     * daylight.setTimezoneOffsetFrom(-5, 0);
    -057     * daylight.setTimezoneOffsetTo(-4, 0);
    -058     * timezone.addDaylightSavingsTime(daylight);
    -059     * </pre>
    -060     * 
    -061     * </p>
    -062     * @author Michael Angstadt
    -063     * @rfc 5545 p.62-71
    -064     */
    -065    public class VTimezone extends ICalComponent {
    -066            /**
    -067             * Creates a new timezone component.
    -068             * @param identifier a unique identifier for this timezone (allows it to be
    -069             * referenced by date-time properties that support timezones).
    -070             */
    -071            public VTimezone(String identifier) {
    -072                    setTimezoneId(identifier);
    -073            }
    -074    
    -075            /**
    -076             * Gets the ID for this timezone. This is a <b>required</b> property.
    -077             * @return the timezone ID or null if not set
    -078             * @rfc 5545 p.102-3
    -079             */
    -080            public TimezoneId getTimezoneId() {
    -081                    return getProperty(TimezoneId.class);
    -082            }
    -083    
    -084            /**
    -085             * Sets an ID for this timezone. This is a <b>required</b> property.
    -086             * @param timezoneId the timezone ID or null to remove
    -087             * @rfc 5545 p.102-3
    -088             */
    -089            public void setTimezoneId(TimezoneId timezoneId) {
    -090                    setProperty(TimezoneId.class, timezoneId);
    -091            }
    -092    
    -093            /**
    -094             * Sets an ID for this timezone. This is a <b>required</b> property.
    -095             * @param timezoneId the timezone ID or null to remove
    -096             * @return the property that was created
    -097             * @rfc 5545 p.102-3
    -098             */
    -099            public TimezoneId setTimezoneId(String timezoneId) {
    -100                    TimezoneId prop = (timezoneId == null) ? null : new TimezoneId(timezoneId);
    -101                    setTimezoneId(prop);
    -102                    return prop;
    -103            }
    -104    
    -105            /**
    -106             * Gets the date-time that the timezone data was last changed.
    -107             * @return the last modified date or null if not set
    -108             * @rfc 5545 p.138
    -109             */
    -110            public LastModified getLastModified() {
    -111                    return getProperty(LastModified.class);
    -112            }
    -113    
    -114            /**
    -115             * Sets the date-time that the timezone data was last changed.
    -116             * @param lastModified the last modified date or null to remove
    -117             * @rfc 5545 p.138
    -118             */
    -119            public void setLastModified(LastModified lastModified) {
    -120                    setProperty(LastModified.class, lastModified);
    -121            }
    -122    
    -123            /**
    -124             * Sets the date-time that the timezone data was last changed.
    -125             * @param lastModified the last modified date or null to remove
    -126             * @return the property that was created
    -127             * @rfc 5545 p.138
    -128             */
    -129            public LastModified setLastModified(Date lastModified) {
    -130                    LastModified prop = (lastModified == null) ? null : new LastModified(lastModified);
    -131                    setLastModified(prop);
    -132                    return prop;
    -133            }
    -134    
    -135            /**
    -136             * Gets the timezone URL, which points to an iCalendar object that contains
    -137             * further information on the timezone.
    -138             * @return the URL or null if not set
    -139             * @rfc 5545 p.106
    -140             */
    -141            public TimezoneUrl getTimezoneUrl() {
    -142                    return getProperty(TimezoneUrl.class);
    -143            }
    -144    
    -145            /**
    -146             * Sets the timezone URL, which points to an iCalendar object that contains
    -147             * further information on the timezone.
    -148             * @param url the URL or null to remove
    -149             * @rfc 5545 p.106
    -150             */
    -151            public void setTimezoneUrl(TimezoneUrl url) {
    -152                    setProperty(TimezoneUrl.class, url);
    -153            }
    -154    
    -155            /**
    -156             * Sets the timezone URL, which points to an iCalendar object that contains
    -157             * further information on the timezone.
    -158             * @param url the timezone URL (e.g.
    -159             * "http://example.com/America-New_York.ics") or null to remove
    -160             * @return the property that was created
    -161             * @rfc 5545 p.106
    -162             */
    -163            public TimezoneUrl setTimezoneUrl(String url) {
    -164                    TimezoneUrl prop = (url == null) ? null : new TimezoneUrl(url);
    -165                    setTimezoneUrl(prop);
    -166                    return prop;
    -167            }
    -168    
    -169            /**
    -170             * Gets the timezone's "standard" observance time ranges.
    -171             * @return the "standard" observance time ranges
    -172             */
    -173            public List<StandardTime> getStandardTimes() {
    -174                    return getComponents(StandardTime.class);
    -175            }
    -176    
    -177            /**
    -178             * Adds a "standard" observance time range.
    -179             * @param standardTime the "standard" observance time
    -180             */
    -181            public void addStandardTime(StandardTime standardTime) {
    -182                    addComponent(standardTime);
    -183            }
    -184    
    -185            /**
    -186             * Gets the timezone's "daylight savings" observance time ranges.
    -187             * @return the "daylight savings" observance time ranges
    -188             */
    -189            public List<DaylightSavingsTime> getDaylightSavingsTime() {
    -190                    return getComponents(DaylightSavingsTime.class);
    -191            }
    -192    
    -193            /**
    -194             * Adds a "daylight savings" observance time range.
    -195             * @param daylightSavingsTime the "daylight savings" observance time
    -196             */
    -197            public void addDaylightSavingsTime(DaylightSavingsTime daylightSavingsTime) {
    -198                    addComponent(daylightSavingsTime);
    -199            }
    -200    
    -201            @SuppressWarnings("unchecked")
    -202            @Override
    -203            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -204                    checkRequiredCardinality(warnings, TimezoneId.class);
    -205                    checkOptionalCardinality(warnings, LastModified.class, TimezoneUrl.class);
    -206    
    -207                    if (getStandardTimes().isEmpty() && getDaylightSavingsTime().isEmpty()) {
    -208                            warnings.add("At least one " + StandardTime.class.getSimpleName() + " or one " + DaylightSavingsTime.class.getSimpleName() + " must be specified.");
    -209                    }
    -210            }
    -211    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VTodo.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VTodo.html deleted file mode 100644 index ce00d20c..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/VTodo.html +++ /dev/null @@ -1,1260 +0,0 @@ - - -
    -001    package biweekly.component;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.property.Attachment;
    -007    import biweekly.property.Attendee;
    -008    import biweekly.property.Categories;
    -009    import biweekly.property.Classification;
    -010    import biweekly.property.Comment;
    -011    import biweekly.property.Completed;
    -012    import biweekly.property.Contact;
    -013    import biweekly.property.Created;
    -014    import biweekly.property.DateDue;
    -015    import biweekly.property.DateStart;
    -016    import biweekly.property.DateTimeStamp;
    -017    import biweekly.property.Description;
    -018    import biweekly.property.DurationProperty;
    -019    import biweekly.property.ExceptionDates;
    -020    import biweekly.property.ExceptionRule;
    -021    import biweekly.property.Geo;
    -022    import biweekly.property.LastModified;
    -023    import biweekly.property.Location;
    -024    import biweekly.property.Method;
    -025    import biweekly.property.Organizer;
    -026    import biweekly.property.PercentComplete;
    -027    import biweekly.property.Priority;
    -028    import biweekly.property.RecurrenceDates;
    -029    import biweekly.property.RecurrenceId;
    -030    import biweekly.property.RecurrenceRule;
    -031    import biweekly.property.RelatedTo;
    -032    import biweekly.property.RequestStatus;
    -033    import biweekly.property.Resources;
    -034    import biweekly.property.Sequence;
    -035    import biweekly.property.Status;
    -036    import biweekly.property.Summary;
    -037    import biweekly.property.Uid;
    -038    import biweekly.property.Url;
    -039    import biweekly.util.Duration;
    -040    import biweekly.util.Recurrence;
    -041    
    -042    /*
    -043     Copyright (c) 2013, Michael Angstadt
    -044     All rights reserved.
    -045    
    -046     Redistribution and use in source and binary forms, with or without
    -047     modification, are permitted provided that the following conditions are met: 
    -048    
    -049     1. Redistributions of source code must retain the above copyright notice, this
    -050     list of conditions and the following disclaimer. 
    -051     2. Redistributions in binary form must reproduce the above copyright notice,
    -052     this list of conditions and the following disclaimer in the documentation
    -053     and/or other materials provided with the distribution. 
    -054    
    -055     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -056     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -057     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -058     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -059     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -060     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -061     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -062     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -063     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -064     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -065     */
    -066    
    -067    /**
    -068     * <p>
    -069     * Defines a task or assignment.
    -070     * </p>
    -071     * <p>
    -072     * <b>Examples:</b>
    -073     * 
    -074     * <pre class="brush:java">
    -075     * VTodo todo = new VTodo();
    -076     * todo.setSummary("Complete report");
    -077     * Date due = ...
    -078     * todo.setDateDue(due);
    -079     * todo.setStatus(Status.confirmed());
    -080     * </pre>
    -081     * 
    -082     * </p>
    -083     * @author Michael Angstadt
    -084     * @rfc 5545 p.55-7
    -085     */
    -086    public class VTodo extends ICalComponent {
    -087            /**
    -088             * <p>
    -089             * Creates a new to-do entry.
    -090             * </p>
    -091             * <p>
    -092             * The following properties are auto-generated on object creation. These
    -093             * properties <b>must</b> be present in order for the to-do to be valid:
    -094             * <ul>
    -095             * <li>{@link Uid} - Set to a UUID.</li>
    -096             * <li>{@link DateTimeStamp} - Set to the current date-time.</li>
    -097             * </ul>
    -098             * </p>
    -099             */
    -100            public VTodo() {
    -101                    setUid(Uid.random());
    -102                    setDateTimeStamp(new Date());
    -103            }
    -104    
    -105            /**
    -106             * Gets the unique identifier for this to-do. This component object comes
    -107             * populated with a UID on creation. This is a <b>required</b> property.
    -108             * @return the UID or null if not set
    -109             * @rfc 5545 p.117-8
    -110             */
    -111            public Uid getUid() {
    -112                    return getProperty(Uid.class);
    -113            }
    -114    
    -115            /**
    -116             * Sets the unique identifier for this to-do. This component object comes
    -117             * populated with a UID on creation. This is a <b>required</b> property.
    -118             * @param uid the UID or null to remove
    -119             * @rfc 5545 p.117-8
    -120             */
    -121            public void setUid(Uid uid) {
    -122                    setProperty(Uid.class, uid);
    -123            }
    -124    
    -125            /**
    -126             * Sets the unique identifier for this to-do. This component object comes
    -127             * populated with a UID on creation. This is a <b>required</b> property.
    -128             * @param uid the UID or null to remove
    -129             * @return the property that was created
    -130             * @rfc 5545 p.117-8
    -131             */
    -132            public Uid setUid(String uid) {
    -133                    Uid prop = (uid == null) ? null : new Uid(uid);
    -134                    setUid(prop);
    -135                    return prop;
    -136            }
    -137    
    -138            /**
    -139             * Gets either (a) the creation date of the iCalendar object (if the
    -140             * {@link Method} property is defined) or (b) the date that the to-do was
    -141             * last modified (the {@link LastModified} property also holds this
    -142             * information). This to-do object comes populated with a
    -143             * {@link DateTimeStamp} property that is set to the current time. This is a
    -144             * <b>required</b> property.
    -145             * @return the date time stamp or null if not set
    -146             * @rfc 5545 p.137-8
    -147             */
    -148            public DateTimeStamp getDateTimeStamp() {
    -149                    return getProperty(DateTimeStamp.class);
    -150            }
    -151    
    -152            /**
    -153             * Sets either (a) the creation date of the iCalendar object (if the
    -154             * {@link Method} property is defined) or (b) the date that the to-do was
    -155             * last modified (the {@link LastModified} property also holds this
    -156             * information). This to-do object comes populated with a
    -157             * {@link DateTimeStamp} property that is set to the current time. This is a
    -158             * <b>required</b> property.
    -159             * @param dateTimeStamp the date time stamp or null to remove
    -160             * @rfc 5545 p.137-8
    -161             */
    -162            public void setDateTimeStamp(DateTimeStamp dateTimeStamp) {
    -163                    setProperty(DateTimeStamp.class, dateTimeStamp);
    -164            }
    -165    
    -166            /**
    -167             * Sets either (a) the creation date of the iCalendar object (if the
    -168             * {@link Method} property is defined) or (b) the date that the to-do was
    -169             * last modified (the {@link LastModified} property also holds this
    -170             * information). This to-do object comes populated with a
    -171             * {@link DateTimeStamp} property that is set to the current time. This is a
    -172             * <b>required</b> property.
    -173             * @param dateTimeStamp the date time stamp or null to remove
    -174             * @return the property that was created
    -175             * @rfc 5545 p.137-8
    -176             */
    -177            public DateTimeStamp setDateTimeStamp(Date dateTimeStamp) {
    -178                    DateTimeStamp prop = (dateTimeStamp == null) ? null : new DateTimeStamp(dateTimeStamp);
    -179                    setDateTimeStamp(prop);
    -180                    return prop;
    -181            }
    -182    
    -183            /**
    -184             * Gets the level of sensitivity of the to-do data. If not specified, the
    -185             * data within the to-do should be considered "public".
    -186             * @return the classification level or null if not set
    -187             * @rfc 5545 p.82-3
    -188             */
    -189            public Classification getClassification() {
    -190                    return getProperty(Classification.class);
    -191            }
    -192    
    -193            /**
    -194             * Sets the level of sensitivity of the to-do data. If not specified, the
    -195             * data within the to-do should be considered "public".
    -196             * @param classification the classification level or null to remove
    -197             * @rfc 5545 p.82-3
    -198             */
    -199            public void setClassification(Classification classification) {
    -200                    setProperty(Classification.class, classification);
    -201            }
    -202    
    -203            /**
    -204             * Sets the level of sensitivity of the to-do data. If not specified, the
    -205             * data within the to-do should be considered "public".
    -206             * @param classification the classification level (e.g. "CONFIDENTIAL") or
    -207             * null to remove
    -208             * @return the property that was created
    -209             * @rfc 5545 p.82-3
    -210             */
    -211            public Classification setClassification(String classification) {
    -212                    Classification prop = (classification == null) ? null : new Classification(classification);
    -213                    setClassification(prop);
    -214                    return prop;
    -215            }
    -216    
    -217            /**
    -218             * Gets the date and time that the to-do was completed.
    -219             * @return the completion date or null if not set
    -220             * @rfc 5545 p.94-5
    -221             */
    -222            public Completed getCompleted() {
    -223                    return getProperty(Completed.class);
    -224            }
    -225    
    -226            /**
    -227             * Sets the date and time that the to-do was completed.
    -228             * @param completed the completion date or null to remove
    -229             * @rfc 5545 p.94-5
    -230             */
    -231            public void setCompleted(Completed completed) {
    -232                    setProperty(Completed.class, completed);
    -233            }
    -234    
    -235            /**
    -236             * Sets the date and time that the to-do was completed.
    -237             * @param completed the completion date or null to remove
    -238             * @return the property that was created
    -239             * @rfc 5545 p.94-5
    -240             */
    -241            public Completed setCompleted(Date completed) {
    -242                    Completed prop = (completed == null) ? null : new Completed(completed);
    -243                    setCompleted(prop);
    -244                    return prop;
    -245            }
    -246    
    -247            /**
    -248             * Gets the date-time that the to-do was initially created.
    -249             * @return the creation date-time or null if not set
    -250             * @rfc 5545 p.136
    -251             */
    -252            public Created getCreated() {
    -253                    return getProperty(Created.class);
    -254            }
    -255    
    -256            /**
    -257             * Sets the date-time that the to-do was initially created.
    -258             * @param created the creation date-time or null to remove
    -259             * @rfc 5545 p.136
    -260             */
    -261            public void setCreated(Created created) {
    -262                    setProperty(Created.class, created);
    -263            }
    -264    
    -265            /**
    -266             * Sets the date-time that the to-do was initially created.
    -267             * @param created the creation date-time or null to remove
    -268             * @return the property that was created
    -269             * @rfc 5545 p.136
    -270             */
    -271            public Created setCreated(Date created) {
    -272                    Created prop = (created == null) ? null : new Created(created);
    -273                    setCreated(prop);
    -274                    return prop;
    -275            }
    -276    
    -277            /**
    -278             * Gets a detailed description of the to-do. The description should be more
    -279             * detailed than the one provided by the {@link Summary} property.
    -280             * @return the description or null if not set
    -281             * @rfc 5545 p.84-5
    -282             */
    -283            public Description getDescription() {
    -284                    return getProperty(Description.class);
    -285            }
    -286    
    -287            /**
    -288             * Sets a detailed description of the to-do. The description should be more
    -289             * detailed than the one provided by the {@link Summary} property.
    -290             * @param description the description or null to remove
    -291             * @rfc 5545 p.84-5
    -292             */
    -293            public void setDescription(Description description) {
    -294                    setProperty(Description.class, description);
    -295            }
    -296    
    -297            /**
    -298             * Sets a detailed description of the to-do. The description should be more
    -299             * detailed than the one provided by the {@link Summary} property.
    -300             * @param description the description or null to remove
    -301             * @return the property that was created
    -302             * @rfc 5545 p.84-5
    -303             */
    -304            public Description setDescription(String description) {
    -305                    Description prop = (description == null) ? null : new Description(description);
    -306                    setDescription(prop);
    -307                    return prop;
    -308            }
    -309    
    -310            /**
    -311             * Gets the date that the to-do starts.
    -312             * @return the start date or null if not set
    -313             * @rfc 5545 p.97-8
    -314             */
    -315            public DateStart getDateStart() {
    -316                    return getProperty(DateStart.class);
    -317            }
    -318    
    -319            /**
    -320             * Sets the date that the to-do starts.
    -321             * @param dateStart the start date or null to remove
    -322             * @rfc 5545 p.97-8
    -323             */
    -324            public void setDateStart(DateStart dateStart) {
    -325                    setProperty(DateStart.class, dateStart);
    -326            }
    -327    
    -328            /**
    -329             * Sets the date that the to-do starts.
    -330             * @param dateStart the start date or null to remove
    -331             * @return the property that was created
    -332             * @rfc 5545 p.97-8
    -333             */
    -334            public DateStart setDateStart(Date dateStart) {
    -335                    DateStart prop = (dateStart == null) ? null : new DateStart(dateStart);
    -336                    setDateStart(prop);
    -337                    return prop;
    -338            }
    -339    
    -340            /**
    -341             * Gets a set of geographical coordinates.
    -342             * @return the geographical coordinates or null if not set
    -343             * @rfc 5545 p.85-7
    -344             */
    -345            public Geo getGeo() {
    -346                    return getProperty(Geo.class);
    -347            }
    -348    
    -349            /**
    -350             * Sets a set of geographical coordinates.
    -351             * @param geo the geographical coordinates or null to remove
    -352             * @rfc 5545 p.85-7
    -353             */
    -354            public void setGeo(Geo geo) {
    -355                    setProperty(Geo.class, geo);
    -356            }
    -357    
    -358            /**
    -359             * Gets the date-time that the to-do was last changed.
    -360             * @return the last modified date or null if not set
    -361             * @rfc 5545 p.138
    -362             */
    -363            public LastModified getLastModified() {
    -364                    return getProperty(LastModified.class);
    -365            }
    -366    
    -367            /**
    -368             * Sets the date-time that the to-do was last changed.
    -369             * @param lastModified the last modified date or null to remove
    -370             * @rfc 5545 p.138
    -371             */
    -372            public void setLastModified(LastModified lastModified) {
    -373                    setProperty(LastModified.class, lastModified);
    -374            }
    -375    
    -376            /**
    -377             * Sets the date-time that the to-do was last changed.
    -378             * @param lastModified the last modified date or null to remove
    -379             * @return the property that was created
    -380             * @rfc 5545 p.138
    -381             */
    -382            public LastModified setLastModified(Date lastModified) {
    -383                    LastModified prop = (lastModified == null) ? null : new LastModified(lastModified);
    -384                    setLastModified(prop);
    -385                    return prop;
    -386            }
    -387    
    -388            /**
    -389             * Gets the physical location of the to-do.
    -390             * @return the location or null if not set
    -391             * @rfc 5545 p.87-8
    -392             */
    -393            public Location getLocation() {
    -394                    return getProperty(Location.class);
    -395            }
    -396    
    -397            /**
    -398             * Sets the physical location of the to-do.
    -399             * @param location the location or null to remove
    -400             * @rfc 5545 p.87-8
    -401             */
    -402            public void setLocation(Location location) {
    -403                    setProperty(Location.class, location);
    -404            }
    -405    
    -406            /**
    -407             * Sets the physical location of the to-do.
    -408             * @param location the location (e.g. "Room 101") or null to remove
    -409             * @return the property that was created
    -410             * @rfc 5545 p.87-8
    -411             */
    -412            public Location setLocation(String location) {
    -413                    Location prop = (location == null) ? null : new Location(location);
    -414                    setLocation(prop);
    -415                    return prop;
    -416            }
    -417    
    -418            /**
    -419             * Gets the organizer of the to-do.
    -420             * @return the organizer or null if not set
    -421             * @rfc 5545 p.111-2
    -422             */
    -423            public Organizer getOrganizer() {
    -424                    return getProperty(Organizer.class);
    -425            }
    -426    
    -427            /**
    -428             * Sets the organizer of the to-do.
    -429             * @param organizer the organizer or null to remove
    -430             * @rfc 5545 p.111-2
    -431             */
    -432            public void setOrganizer(Organizer organizer) {
    -433                    setProperty(Organizer.class, organizer);
    -434            }
    -435    
    -436            /**
    -437             * Sets the organizer of the to-do.
    -438             * @param email the organizer's email address (e.g. "johndoe@example.com")
    -439             * or null to remove
    -440             * @return the property that was created
    -441             * @rfc 5545 p.111-2
    -442             */
    -443            public Organizer setOrganizer(String email) {
    -444                    Organizer prop = (email == null) ? null : Organizer.email(email);
    -445                    setOrganizer(prop);
    -446                    return prop;
    -447            }
    -448    
    -449            /**
    -450             * Gets the amount that the to-do task has been completed.
    -451             * @return the percent complete or null if not set
    -452             * @rfc 5545 p.88-9
    -453             */
    -454            public PercentComplete getPercentComplete() {
    -455                    return getProperty(PercentComplete.class);
    -456            }
    -457    
    -458            /**
    -459             * Sets the amount that the to-do task has been completed.
    -460             * @param percentComplete the percent complete or null to remove
    -461             * @rfc 5545 p.88-9
    -462             */
    -463            public void setPercentComplete(PercentComplete percentComplete) {
    -464                    setProperty(PercentComplete.class, percentComplete);
    -465            }
    -466    
    -467            /**
    -468             * Sets the amount that the to-do task has been completed.
    -469             * @param percent the percent complete (e.g. "50" for 50%) or null to remove
    -470             * @return the property that was created
    -471             * @rfc 5545 p.88-9
    -472             */
    -473            public PercentComplete setPercentComplete(Integer percent) {
    -474                    PercentComplete prop = (percent == null) ? null : new PercentComplete(percent);
    -475                    setPercentComplete(prop);
    -476                    return prop;
    -477            }
    -478    
    -479            /**
    -480             * Gets the priority of the to-do.
    -481             * @return the priority or null if not set
    -482             * @rfc 5545 p.89-90
    -483             */
    -484            public Priority getPriority() {
    -485                    return getProperty(Priority.class);
    -486            }
    -487    
    -488            /**
    -489             * Sets the priority of the to-do.
    -490             * @param priority the priority or null to remove
    -491             * @rfc 5545 p.89-90
    -492             */
    -493            public void setPriority(Priority priority) {
    -494                    setProperty(Priority.class, priority);
    -495            }
    -496    
    -497            /**
    -498             * Sets the priority of the to-do.
    -499             * @param priority the priority ("0" is undefined, "1" is the highest, "9"
    -500             * is the lowest) or null to remove
    -501             * @return the property that was created
    -502             * @rfc 5545 p.89-90
    -503             */
    -504            public Priority setPriority(Integer priority) {
    -505                    Priority prop = (priority == null) ? null : new Priority(priority);
    -506                    setPriority(prop);
    -507                    return prop;
    -508            }
    -509    
    -510            /**
    -511             * Gets the original value of the {@link DateStart} property if the to-do is
    -512             * recurring and has been modified. Used in conjunction with the {@link Uid}
    -513             * and {@link Sequence} properties to uniquely identify a recurrence
    -514             * instance.
    -515             * @return the recurrence ID or null if not set
    -516             * @rfc 5545 p.112-4
    -517             */
    -518            public RecurrenceId getRecurrenceId() {
    -519                    return getProperty(RecurrenceId.class);
    -520            }
    -521    
    -522            /**
    -523             * Sets the original value of the {@link DateStart} property if the to-do is
    -524             * recurring and has been modified. Used in conjunction with the {@link Uid}
    -525             * and {@link Sequence} properties to uniquely identify a recurrence
    -526             * instance.
    -527             * @param recurrenceId the recurrence ID or null to remove
    -528             * @rfc 5545 p.112-4
    -529             */
    -530            public void setRecurrenceId(RecurrenceId recurrenceId) {
    -531                    setProperty(RecurrenceId.class, recurrenceId);
    -532            }
    -533    
    -534            /**
    -535             * Sets the original value of the {@link DateStart} property if the to-do is
    -536             * recurring and has been modified. Used in conjunction with the {@link Uid}
    -537             * and {@link Sequence} properties to uniquely identify a recurrence
    -538             * instance.
    -539             * @param originalStartDate the original start date or null to remove
    -540             * @return the property that was created
    -541             * @rfc 5545 p.112-4
    -542             */
    -543            public RecurrenceId setRecurrenceId(Date originalStartDate) {
    -544                    RecurrenceId prop = (originalStartDate == null) ? null : new RecurrenceId(originalStartDate);
    -545                    setRecurrenceId(prop);
    -546                    return prop;
    -547            }
    -548    
    -549            /**
    -550             * Gets the revision number of the to-do. The organizer can increment this
    -551             * number every time he or she makes a significant change.
    -552             * @return the sequence number
    -553             * @rfc 5545 p.138-9
    -554             */
    -555            public Sequence getSequence() {
    -556                    return getProperty(Sequence.class);
    -557            }
    -558    
    -559            /**
    -560             * Sets the revision number of the to-do. The organizer can increment this
    -561             * number every time he or she makes a significant change.
    -562             * @param sequence the sequence number
    -563             * @rfc 5545 p.138-9
    -564             */
    -565            public void setSequence(Sequence sequence) {
    -566                    setProperty(Sequence.class, sequence);
    -567            }
    -568    
    -569            /**
    -570             * Sets the revision number of the to-do. The organizer can increment this
    -571             * number every time he or she makes a significant change.
    -572             * @param sequence the sequence number
    -573             * @return the property that was created
    -574             * @rfc 5545 p.138-9
    -575             */
    -576            public Sequence setSequence(Integer sequence) {
    -577                    Sequence prop = (sequence == null) ? null : new Sequence(sequence);
    -578                    setSequence(prop);
    -579                    return prop;
    -580            }
    -581    
    -582            /**
    -583             * Increments the revision number of the to-do. The organizer can increment
    -584             * this number every time he or she makes a significant change.
    -585             * @rfc 5545 p.138-9
    -586             */
    -587            public void incrementSequence() {
    -588                    Sequence sequence = getSequence();
    -589                    if (sequence == null) {
    -590                            setSequence(1);
    -591                    } else {
    -592                            sequence.increment();
    -593                    }
    -594            }
    -595    
    -596            /**
    -597             * Gets the status of the to-do.
    -598             * @return the status or null if not set
    -599             * @rfc 5545 p.92-3
    -600             */
    -601            public Status getStatus() {
    -602                    return getProperty(Status.class);
    -603            }
    -604    
    -605            /**
    -606             * Sets the status of the to-do.
    -607             * <p>
    -608             * Valid to-do status codes are:
    -609             * <ul>
    -610             * <li>NEEDS-ACTION</li>
    -611             * <li>COMPLETED</li>
    -612             * <li>IN-PROGRESS</li>
    -613             * <li>CANCELLED</li>
    -614             * </ul>
    -615             * </p>
    -616             * @param status the status or null to remove
    -617             * @rfc 5545 p.92-3
    -618             */
    -619            public void setStatus(Status status) {
    -620                    setProperty(Status.class, status);
    -621            }
    -622    
    -623            /**
    -624             * Gets the summary of the to-do.
    -625             * @return the summary or null if not set
    -626             * @rfc 5545 p.93-4
    -627             */
    -628            public Summary getSummary() {
    -629                    return getProperty(Summary.class);
    -630            }
    -631    
    -632            /**
    -633             * Sets the summary of the to-do.
    -634             * @param summary the summary or null to remove
    -635             * @rfc 5545 p.93-4
    -636             */
    -637            public void setSummary(Summary summary) {
    -638                    setProperty(Summary.class, summary);
    -639            }
    -640    
    -641            /**
    -642             * Sets the summary of the to-do.
    -643             * @param summary the summary or null to remove
    -644             * @return the property that was created
    -645             * @rfc 5545 p.93-4
    -646             */
    -647            public Summary setSummary(String summary) {
    -648                    Summary prop = (summary == null) ? null : new Summary(summary);
    -649                    setSummary(prop);
    -650                    return prop;
    -651            }
    -652    
    -653            /**
    -654             * Gets a URL to a resource that contains additional information about the
    -655             * to-do.
    -656             * @return the URL or null if not set
    -657             * @rfc 5545 p.116-7
    -658             */
    -659            public Url getUrl() {
    -660                    return getProperty(Url.class);
    -661            }
    -662    
    -663            /**
    -664             * Sets a URL to a resource that contains additional information about the
    -665             * to-do.
    -666             * @param url the URL or null to remove
    -667             * @rfc 5545 p.116-7
    -668             */
    -669            public void setUrl(Url url) {
    -670                    setProperty(Url.class, url);
    -671            }
    -672    
    -673            /**
    -674             * Sets a URL to a resource that contains additional information about the
    -675             * to-do.
    -676             * @param url the URL (e.g. "http://example.com/resource.ics") or null to
    -677             * remove
    -678             * @return the property that was created
    -679             * @rfc 5545 p.116-7
    -680             */
    -681            public Url setUrl(String url) {
    -682                    Url prop = (url == null) ? null : new Url(url);
    -683                    setUrl(prop);
    -684                    return prop;
    -685            }
    -686    
    -687            /**
    -688             * Gets how often the to-do repeats.
    -689             * @return the recurrence rule or null if not set
    -690             * @rfc 5545 p.122-32
    -691             */
    -692            public RecurrenceRule getRecurrenceRule() {
    -693                    return getProperty(RecurrenceRule.class);
    -694            }
    -695    
    -696            /**
    -697             * Sets how often the to-do repeats.
    -698             * @param recur the recurrence rule or null to remove
    -699             * @return the property that was created
    -700             * @rfc 5545 p.122-32
    -701             */
    -702            public RecurrenceRule setRecurrenceRule(Recurrence recur) {
    -703                    RecurrenceRule prop = (recur == null) ? null : new RecurrenceRule(recur);
    -704                    setRecurrenceRule(prop);
    -705                    return prop;
    -706            }
    -707    
    -708            /**
    -709             * Sets how often the to-do repeats.
    -710             * @param recurrenceRule the recurrence rule or null to remove
    -711             * @rfc 5545 p.122-32
    -712             */
    -713            public void setRecurrenceRule(RecurrenceRule recurrenceRule) {
    -714                    setProperty(RecurrenceRule.class, recurrenceRule);
    -715            }
    -716    
    -717            /**
    -718             * Gets the date that a to-do is due by.
    -719             * @return the due date or null if not set
    -720             * @rfc 5545 p.96-7
    -721             */
    -722            public DateDue getDateDue() {
    -723                    return getProperty(DateDue.class);
    -724            }
    -725    
    -726            /**
    -727             * Sets the date that a to-do is due by. This must NOT be set if a
    -728             * {@link DurationProperty} is defined.
    -729             * @param dateDue the due date or null to remove
    -730             * @rfc 5545 p.96-7
    -731             */
    -732            public void setDateDue(DateDue dateDue) {
    -733                    setProperty(DateDue.class, dateDue);
    -734            }
    -735    
    -736            /**
    -737             * Sets the date that a to-do is due by. This must NOT be set if a
    -738             * {@link DurationProperty} is defined.
    -739             * @param dateDue the due date or null to remove
    -740             * @return the property that was created
    -741             * @rfc 5545 p.96-7
    -742             */
    -743            public DateDue setDateDue(Date dateDue) {
    -744                    DateDue prop = (dateDue == null) ? null : new DateDue(dateDue);
    -745                    setDateDue(prop);
    -746                    return prop;
    -747            }
    -748    
    -749            /**
    -750             * Gets the duration of the to-do.
    -751             * @return the duration or null if not set
    -752             * @rfc 5545 p.99
    -753             */
    -754            public DurationProperty getDuration() {
    -755                    return getProperty(DurationProperty.class);
    -756            }
    -757    
    -758            /**
    -759             * Sets the duration of the to-do. This must NOT be set if a {@link DateDue}
    -760             * is defined.
    -761             * @param duration the duration or null to remove
    -762             * @rfc 5545 p.99
    -763             */
    -764            public void setDuration(DurationProperty duration) {
    -765                    setProperty(DurationProperty.class, duration);
    -766            }
    -767    
    -768            /**
    -769             * Sets the duration of the to-do. This must NOT be set if a {@link DateDue}
    -770             * is defined.
    -771             * @param duration the duration or null to remove
    -772             * @return the property that was created
    -773             * @rfc 5545 p.99
    -774             */
    -775            public DurationProperty setDuration(Duration duration) {
    -776                    DurationProperty prop = (duration == null) ? null : new DurationProperty(duration);
    -777                    setDuration(prop);
    -778                    return prop;
    -779            }
    -780    
    -781            /**
    -782             * Gets any attachments that are associated with the to-do.
    -783             * @return the attachments
    -784             * @rfc 5545 p.80-1
    -785             */
    -786            public List<Attachment> getAttachments() {
    -787                    return getProperties(Attachment.class);
    -788            }
    -789    
    -790            /**
    -791             * Adds an attachment to the to-do.
    -792             * @param attachment the attachment to add
    -793             * @rfc 5545 p.80-1
    -794             */
    -795            public void addAttachment(Attachment attachment) {
    -796                    addProperty(attachment);
    -797            }
    -798    
    -799            /**
    -800             * Gets the people who are involved in the to-do.
    -801             * @return the attendees
    -802             * @rfc 5545 p.107-9
    -803             */
    -804            public List<Attendee> getAttendees() {
    -805                    return getProperties(Attendee.class);
    -806            }
    -807    
    -808            /**
    -809             * Adds a person who is involved in the to-do.
    -810             * @param attendee the attendee
    -811             * @rfc 5545 p.107-9
    -812             */
    -813            public void addAttendee(Attendee attendee) {
    -814                    addProperty(attendee);
    -815            }
    -816    
    -817            /**
    -818             * Adds a person who is involved in the to-do.
    -819             * @param email the attendee's email address
    -820             * @return the property that was created
    -821             * @rfc 5545 p.107-9
    -822             */
    -823            public Attendee addAttendee(String email) {
    -824                    Attendee prop = Attendee.email(email);
    -825                    addAttendee(prop);
    -826                    return prop;
    -827            }
    -828    
    -829            /**
    -830             * Gets a list of "tags" or "keywords" that describe the to-do.
    -831             * @return the categories
    -832             * @rfc 5545 p.81-2
    -833             */
    -834            public List<Categories> getCategories() {
    -835                    return getProperties(Categories.class);
    -836            }
    -837    
    -838            /**
    -839             * Adds a list of "tags" or "keywords" that describe the to-do. Note that a
    -840             * single property can hold multiple keywords.
    -841             * @param categories the categories to add
    -842             * @rfc 5545 p.81-2
    -843             */
    -844            public void addCategories(Categories categories) {
    -845                    addProperty(categories);
    -846            }
    -847    
    -848            /**
    -849             * Adds a list of "tags" or "keywords" that describe the to-do.
    -850             * @param categories the categories to add
    -851             * @return the property that was created
    -852             * @rfc 5545 p.81-2
    -853             */
    -854            public Categories addCategories(String... categories) {
    -855                    Categories prop = new Categories(categories);
    -856                    addCategories(prop);
    -857                    return prop;
    -858            }
    -859    
    -860            /**
    -861             * Adds a list of "tags" or "keywords" that describe the to-do.
    -862             * @param categories the categories to add
    -863             * @return the property that was created
    -864             * @rfc 5545 p.81-2
    -865             */
    -866            public Categories addCategories(List<String> categories) {
    -867                    Categories prop = new Categories(categories);
    -868                    addCategories(prop);
    -869                    return prop;
    -870            }
    -871    
    -872            /**
    -873             * Gets the comments attached to the to-do.
    -874             * @return the comments
    -875             * @rfc 5545 p.83-4
    -876             */
    -877            public List<Comment> getComments() {
    -878                    return getProperties(Comment.class);
    -879            }
    -880    
    -881            /**
    -882             * Adds a comment to the to-do.
    -883             * @param comment the comment to add
    -884             * @rfc 5545 p.83-4
    -885             */
    -886            public void addComment(Comment comment) {
    -887                    addProperty(comment);
    -888            }
    -889    
    -890            /**
    -891             * Adds a comment to the to-do.
    -892             * @param comment the comment to add
    -893             * @return the property that was created
    -894             * @rfc 5545 p.83-4
    -895             */
    -896            public Comment addComment(String comment) {
    -897                    Comment prop = new Comment(comment);
    -898                    addComment(prop);
    -899                    return prop;
    -900            }
    -901    
    -902            /**
    -903             * Gets the contacts associated with the to-do.
    -904             * @return the contacts
    -905             * @rfc 5545 p.109-11
    -906             */
    -907            public List<Contact> getContacts() {
    -908                    return getProperties(Contact.class);
    -909            }
    -910    
    -911            /**
    -912             * Adds a contact to the to-do.
    -913             * @param contact the contact
    -914             * @rfc 5545 p.109-11
    -915             */
    -916            public void addContact(Contact contact) {
    -917                    addProperty(contact);
    -918            }
    -919    
    -920            /**
    -921             * Adds a contact to the to-do.
    -922             * @param contact the contact (e.g. "ACME Co - (123) 555-1234")
    -923             * @return the property that was created
    -924             * @rfc 5545 p.109-11
    -925             */
    -926            public Contact addContact(String contact) {
    -927                    Contact prop = new Contact(contact);
    -928                    addContact(prop);
    -929                    return prop;
    -930            }
    -931    
    -932            /**
    -933             * Gets the list of exceptions to the recurrence rule defined in the to-do
    -934             * (if one is defined).
    -935             * @return the list of exceptions
    -936             * @rfc 5545 p.118-20
    -937             */
    -938            public List<ExceptionDates> getExceptionDates() {
    -939                    return getProperties(ExceptionDates.class);
    -940            }
    -941    
    -942            /**
    -943             * Adds a list of exceptions to the recurrence rule defined in the to-do (if
    -944             * one is defined). Note that this property can contain multiple dates.
    -945             * @param exceptionDates the list of exceptions
    -946             * @rfc 5545 p.118-20
    -947             */
    -948            public void addExceptionDates(ExceptionDates exceptionDates) {
    -949                    addProperty(exceptionDates);
    -950            }
    -951    
    -952            /**
    -953             * Gets the response to a scheduling request.
    -954             * @return the response
    -955             * @rfc 5545 p.141-3
    -956             */
    -957            public RequestStatus getRequestStatus() {
    -958                    return getProperty(RequestStatus.class);
    -959            }
    -960    
    -961            /**
    -962             * Sets the response to a scheduling request.
    -963             * @param requestStatus the response
    -964             * @rfc 5545 p.141-3
    -965             */
    -966            public void setRequestStatus(RequestStatus requestStatus) {
    -967                    setProperty(RequestStatus.class, requestStatus);
    -968            }
    -969    
    -970            /**
    -971             * Gets the components that the to-do is related to.
    -972             * @return the relationships
    -973             * @rfc 5545 p.115-6
    -974             */
    -975            public List<RelatedTo> getRelatedTo() {
    -976                    return getProperties(RelatedTo.class);
    -977            }
    -978    
    -979            /**
    -980             * Adds a component that the to-do is related to.
    -981             * @param relatedTo the relationship
    -982             * @rfc 5545 p.115-6
    -983             */
    -984            public void addRelatedTo(RelatedTo relatedTo) {
    -985                    //TODO create a method that accepts a component and make the RelatedTo property invisible to the user
    -986                    //@formatter:off
    -987                    /*
    -988                     * addRelation(RelationshipType relType, ICalComponent component){
    -989                     *   RelatedTo prop = new RelatedTo(component.getUid().getValue());
    -990                     *   prop.setRelationshipType(relType);
    -991                     *   addProperty(prop);
    -992                     * }
    -993                     */
    -994                    //@formatter:on
    -995                    addProperty(relatedTo);
    -996            }
    -997    
    -998            /**
    -999             * Adds a component that the to-do is related to.
    -1000             * @param uid the UID of the other component
    -1001             * @return the property that was created
    -1002             * @rfc 5545 p.115-6
    -1003             */
    -1004            public RelatedTo addRelatedTo(String uid) {
    -1005                    RelatedTo prop = new RelatedTo(uid);
    -1006                    addRelatedTo(prop);
    -1007                    return prop;
    -1008            }
    -1009    
    -1010            /**
    -1011             * Gets the resources that are needed for the to-do.
    -1012             * @return the resources
    -1013             * @rfc 5545 p.91
    -1014             */
    -1015            public List<Resources> getResources() {
    -1016                    return getProperties(Resources.class);
    -1017            }
    -1018    
    -1019            /**
    -1020             * Adds a list of resources that are needed for the to-do. Note that a
    -1021             * single property can hold multiple resources.
    -1022             * @param resources the resources to add
    -1023             * @rfc 5545 p.91
    -1024             */
    -1025            public void addResources(Resources resources) {
    -1026                    addProperty(resources);
    -1027            }
    -1028    
    -1029            /**
    -1030             * Adds a list of resources that are needed for the to-do.
    -1031             * @param resources the resources to add (e.g. "easel", "projector")
    -1032             * @return the property that was created
    -1033             * @rfc 5545 p.91
    -1034             */
    -1035            public Resources addResources(String... resources) {
    -1036                    Resources prop = new Resources(resources);
    -1037                    addResources(prop);
    -1038                    return prop;
    -1039            }
    -1040    
    -1041            /**
    -1042             * Adds a list of resources that are needed for the to-do.
    -1043             * @param resources the resources to add (e.g. "easel", "projector")
    -1044             * @return the property that was created
    -1045             * @rfc 5545 p.91
    -1046             */
    -1047            public Resources addResources(List<String> resources) {
    -1048                    Resources prop = new Resources(resources);
    -1049                    addResources(prop);
    -1050                    return prop;
    -1051            }
    -1052    
    -1053            /**
    -1054             * Gets the list of dates/periods that help define the recurrence rule of
    -1055             * this to-do (if one is defined).
    -1056             * @return the recurrence dates
    -1057             * @rfc 5545 p.120-2
    -1058             */
    -1059            public List<RecurrenceDates> getRecurrenceDates() {
    -1060                    return getProperties(RecurrenceDates.class);
    -1061            }
    -1062    
    -1063            /**
    -1064             * Adds a list of dates/periods that help define the recurrence rule of this
    -1065             * to-do (if one is defined).
    -1066             * @param recurrenceDates the recurrence dates
    -1067             * @rfc 5545 p.120-2
    -1068             */
    -1069            public void addRecurrenceDates(RecurrenceDates recurrenceDates) {
    -1070                    addProperty(recurrenceDates);
    -1071            }
    -1072    
    -1073            /**
    -1074             * Gets the alarms that are assigned to this to-do.
    -1075             * @return the alarms
    -1076             * @rfc 5545 p.71-6
    -1077             */
    -1078            public List<VAlarm> getAlarms() {
    -1079                    return getComponents(VAlarm.class);
    -1080            }
    -1081    
    -1082            /**
    -1083             * Adds an alarm to this to-do.
    -1084             * @param alarm the alarm
    -1085             * @rfc 5545 p.71-6
    -1086             */
    -1087            public void addAlarm(VAlarm alarm) {
    -1088                    addComponent(alarm);
    -1089            }
    -1090    
    -1091            /**
    -1092             * <p>
    -1093             * Gets the exceptions for the {@link RecurrenceRule} property.
    -1094             * </p>
    -1095             * <p>
    -1096             * Note that this property has been removed from the latest version of the
    -1097             * iCal specification. Its use should be avoided.
    -1098             * </p>
    -1099             * @return the exception rules
    -1100             * @rfc 2445 p.114-15
    -1101             */
    -1102            public List<ExceptionRule> getExceptionRules() {
    -1103                    return getProperties(ExceptionRule.class);
    -1104            }
    -1105    
    -1106            /**
    -1107             * <p>
    -1108             * Adds an exception for the {@link RecurrenceRule} property.
    -1109             * </p>
    -1110             * <p>
    -1111             * Note that this property has been removed from the latest version of the
    -1112             * iCal specification. Its use should be avoided.
    -1113             * </p>
    -1114             * @param recur the exception rule to add
    -1115             * @return the property that was created
    -1116             * @rfc 2445 p.114-15
    -1117             */
    -1118            public ExceptionRule addExceptionRule(Recurrence recur) {
    -1119                    ExceptionRule prop = (recur == null) ? null : new ExceptionRule(recur);
    -1120                    addExceptionRule(prop);
    -1121                    return prop;
    -1122            }
    -1123    
    -1124            /**
    -1125             * <p>
    -1126             * Adds an exception for the {@link RecurrenceRule} property.
    -1127             * </p>
    -1128             * <p>
    -1129             * Note that this property has been removed from the latest version of the
    -1130             * iCal specification. Its use should be avoided.
    -1131             * </p>
    -1132             * @param exceptionRule the exception rule to add
    -1133             * @rfc 2445 p.114-15
    -1134             */
    -1135            public void addExceptionRule(ExceptionRule exceptionRule) {
    -1136                    addProperty(exceptionRule);
    -1137            }
    -1138    
    -1139            @SuppressWarnings("unchecked")
    -1140            @Override
    -1141            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -1142                    checkRequiredCardinality(warnings, Uid.class, DateTimeStamp.class);
    -1143                    checkOptionalCardinality(warnings, Classification.class, Completed.class, Created.class, Description.class, DateStart.class, Geo.class, LastModified.class, Location.class, Organizer.class, PercentComplete.class, Priority.class, RecurrenceId.class, Sequence.class, Status.class, Summary.class, Url.class);
    -1144    
    -1145                    Status status = getStatus();
    -1146                    if (status != null && (status.isTentative() || status.isConfirmed() || status.isDraft() || status.isFinal())) {
    -1147                            warnings.add("Invalid status value of \"" + status.getValue() + "\".  Valid status values for to-do tasks are \"needs-action\", \"completed\", \"in-progress\", and \"cancelled\".");
    -1148                    }
    -1149    
    -1150                    DateStart dateStart = getDateStart();
    -1151                    DateDue dateDue = getDateDue();
    -1152                    if (dateStart != null && dateDue != null) {
    -1153                            Date start = dateStart.getValue();
    -1154                            Date due = dateDue.getValue();
    -1155                            if (start != null && due != null && start.compareTo(due) > 0) {
    -1156                                    warnings.add("" + DateStart.class.getSimpleName() + " must come before " + DateDue.class.getSimpleName() + ".");
    -1157                            }
    -1158    
    -1159                            if (dateStart.hasTime() != dateDue.hasTime()) {
    -1160                                    warnings.add("Both " + DateStart.class.getSimpleName() + " and " + DateDue.class.getSimpleName() + " must have the same data type (they must either both be dates or both be date-times).");
    -1161                            }
    -1162                    }
    -1163    
    -1164                    DurationProperty duration = getDuration();
    -1165                    if (dateDue != null && duration != null) {
    -1166                            warnings.add("A " + DateDue.class.getSimpleName() + " and a " + DurationProperty.class.getSimpleName() + " cannot both be defined in the same to-do.");
    -1167                    }
    -1168                    if (dateStart == null && duration != null) {
    -1169                            warnings.add("A " + DateStart.class.getSimpleName() + " must be defined if a " + DurationProperty.class.getSimpleName() + " is defined.");
    -1170                    }
    -1171    
    -1172                    RecurrenceId recurrenceId = getRecurrenceId();
    -1173                    if (recurrenceId != null && dateStart != null && dateStart.hasTime() != recurrenceId.hasTime()) {
    -1174                            warnings.add("Both " + DateStart.class.getSimpleName() + " and " + RecurrenceId.class.getSimpleName() + " must have the same data type (they must either both be dates or both be date-times).");
    -1175                    }
    -1176    
    -1177                    //RFC 5545 p. 167
    -1178                    RecurrenceRule rrule = getRecurrenceRule();
    -1179                    if (dateStart != null && rrule != null) {
    -1180                            Date start = dateStart.getValue();
    -1181                            Recurrence recur = rrule.getValue();
    -1182                            if (start != null && recur != null) {
    -1183                                    if (!dateStart.hasTime() && (!recur.getByHour().isEmpty() || !recur.getByMinute().isEmpty() || !recur.getBySecond().isEmpty())) {
    -1184                                            warnings.add("The BYHOUR, BYMINUTE, and BYSECOND rule parts cannot be specified in the " + RecurrenceRule.class.getSimpleName() + " property when the " + DateStart.class.getSimpleName() + " property contains a date value (as opposed to a date-time value).");
    -1185                                    }
    -1186                            }
    -1187                    }
    -1188    
    -1189                    //RFC 5545 p. 167
    -1190                    if (getProperties(RecurrenceRule.class).size() > 1) {
    -1191                            warnings.add("There should be only one instance of the " + RecurrenceRule.class.getSimpleName() + " property.");
    -1192                    }
    -1193            }
    -1194    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/DaylightSavingsTimeMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/DaylightSavingsTimeMarshaller.html deleted file mode 100644 index 586bd0fc..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/DaylightSavingsTimeMarshaller.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.component.DaylightSavingsTime;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class DaylightSavingsTimeMarshaller extends ICalComponentMarshaller<DaylightSavingsTime> {
    -034            public DaylightSavingsTimeMarshaller() {
    -035                    super(DaylightSavingsTime.class, "DAYLIGHT");
    -036            }
    -037    
    -038            @Override
    -039            protected DaylightSavingsTime _newInstance() {
    -040                    return new DaylightSavingsTime();
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/ICalComponentMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/ICalComponentMarshaller.html deleted file mode 100644 index 757b5a5d..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/ICalComponentMarshaller.html +++ /dev/null @@ -1,175 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import java.util.Collection;
    -004    import java.util.List;
    -005    
    -006    import biweekly.component.ICalComponent;
    -007    import biweekly.property.ICalProperty;
    -008    
    -009    /*
    -010     Copyright (c) 2013, Michael Angstadt
    -011     All rights reserved.
    -012    
    -013     Redistribution and use in source and binary forms, with or without
    -014     modification, are permitted provided that the following conditions are met: 
    -015    
    -016     1. Redistributions of source code must retain the above copyright notice, this
    -017     list of conditions and the following disclaimer. 
    -018     2. Redistributions in binary form must reproduce the above copyright notice,
    -019     this list of conditions and the following disclaimer in the documentation
    -020     and/or other materials provided with the distribution. 
    -021    
    -022     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -023     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -024     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -025     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -026     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -027     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -028     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -029     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -030     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -031     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -032     */
    -033    
    -034    /**
    -035     * Base class for iCalendar component marshallers.
    -036     * @param <T> the component class
    -037     * @author Michael Angstadt
    -038     */
    -039    public abstract class ICalComponentMarshaller<T extends ICalComponent> {
    -040            protected final Class<T> clazz;
    -041            protected final String componentName;
    -042    
    -043            /**
    -044             * Creates a new component marshaller.
    -045             * @param clazz the component's class
    -046             * @param componentName the component's name (e.g. "VEVENT")
    -047             */
    -048            public ICalComponentMarshaller(Class<T> clazz, String componentName) {
    -049                    this.clazz = clazz;
    -050                    this.componentName = componentName;
    -051            }
    -052    
    -053            /**
    -054             * Gets the component class.
    -055             * @return the component class.
    -056             */
    -057            public Class<T> getComponentClass() {
    -058                    return clazz;
    -059            }
    -060    
    -061            /**
    -062             * Gets the component's name.
    -063             * @return the compent's name (e.g. "VEVENT")
    -064             */
    -065            public String getComponentName() {
    -066                    return componentName;
    -067            }
    -068    
    -069            /**
    -070             * Creates a new instance of the component class that doesn't have any
    -071             * properties or sub-components.
    -072             * @return the new instance
    -073             */
    -074            public T emptyInstance() {
    -075                    T component = _newInstance();
    -076    
    -077                    //remove any properties/components that were created in the constructor
    -078                    component.getProperties().clear();
    -079                    component.getComponents().clear();
    -080    
    -081                    return component;
    -082            }
    -083    
    -084            /**
    -085             * Creates a new instance of the component class.
    -086             * @return the new instance
    -087             */
    -088            protected abstract T _newInstance();
    -089    
    -090            /**
    -091             * Gets the sub-components to marshal. Child classes can override this for
    -092             * better control over which components are marshalled.
    -093             * @param component the component
    -094             * @return the sub-components to marshal
    -095             */
    -096            public Collection<ICalComponent> getComponents(T component) {
    -097                    return component.getComponents().values();
    -098            }
    -099    
    -100            /**
    -101             * Gets the properties to marshal. Child classes can override this for
    -102             * better control over which properties are marshalled.
    -103             * @param component the component
    -104             * @return the properties to marshal
    -105             */
    -106            public List<ICalProperty> getProperties(T component) {
    -107                    return component.getProperties().values();
    -108            }
    -109    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/ICalendarMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/ICalendarMarshaller.html deleted file mode 100644 index 39f0e506..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/ICalendarMarshaller.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.ICalendar;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class ICalendarMarshaller extends ICalComponentMarshaller<ICalendar> {
    -034            public ICalendarMarshaller() {
    -035                    super(ICalendar.class, "VCALENDAR");
    -036            }
    -037    
    -038            @Override
    -039            protected ICalendar _newInstance() {
    -040                    return new ICalendar();
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/RawComponentMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/RawComponentMarshaller.html deleted file mode 100644 index de714eb8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/RawComponentMarshaller.html +++ /dev/null @@ -1,112 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.component.RawComponent;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class RawComponentMarshaller extends ICalComponentMarshaller<RawComponent> {
    -034            /**
    -035             * Creates a new raw component marshaller.
    -036             * @param componentName the component's name (e.g. "X-PARTY")
    -037             */
    -038            public RawComponentMarshaller(String componentName) {
    -039                    super(RawComponent.class, componentName);
    -040            }
    -041    
    -042            @Override
    -043            protected RawComponent _newInstance() {
    -044                    return new RawComponent(componentName);
    -045            }
    -046    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/StandardTimeMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/StandardTimeMarshaller.html deleted file mode 100644 index e2191f0a..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/StandardTimeMarshaller.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.component.StandardTime;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class StandardTimeMarshaller extends ICalComponentMarshaller<StandardTime> {
    -034            public StandardTimeMarshaller() {
    -035                    super(StandardTime.class, "STANDARD");
    -036            }
    -037    
    -038            @Override
    -039            protected StandardTime _newInstance() {
    -040                    return new StandardTime();
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VAlarmMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VAlarmMarshaller.html deleted file mode 100644 index da1056a6..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VAlarmMarshaller.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.component.VAlarm;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class VAlarmMarshaller extends ICalComponentMarshaller<VAlarm> {
    -034            public VAlarmMarshaller() {
    -035                    super(VAlarm.class, "VALARM");
    -036            }
    -037    
    -038            @Override
    -039            protected VAlarm _newInstance() {
    -040                    return new VAlarm(null, null);
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VEventMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VEventMarshaller.html deleted file mode 100644 index 14cf28a7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VEventMarshaller.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.component.VEvent;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class VEventMarshaller extends ICalComponentMarshaller<VEvent> {
    -034            public VEventMarshaller() {
    -035                    super(VEvent.class, "VEVENT");
    -036            }
    -037    
    -038            @Override
    -039            protected VEvent _newInstance() {
    -040                    return new VEvent();
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VFreeBusyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VFreeBusyMarshaller.html deleted file mode 100644 index 9e24495c..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VFreeBusyMarshaller.html +++ /dev/null @@ -1,175 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Collections;
    -005    import java.util.Comparator;
    -006    import java.util.Date;
    -007    import java.util.List;
    -008    
    -009    import biweekly.component.VFreeBusy;
    -010    import biweekly.property.FreeBusy;
    -011    import biweekly.property.ICalProperty;
    -012    import biweekly.util.Period;
    -013    
    -014    /*
    -015     Copyright (c) 2013, Michael Angstadt
    -016     All rights reserved.
    -017    
    -018     Redistribution and use in source and binary forms, with or without
    -019     modification, are permitted provided that the following conditions are met: 
    -020    
    -021     1. Redistributions of source code must retain the above copyright notice, this
    -022     list of conditions and the following disclaimer. 
    -023     2. Redistributions in binary form must reproduce the above copyright notice,
    -024     this list of conditions and the following disclaimer in the documentation
    -025     and/or other materials provided with the distribution. 
    -026    
    -027     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -028     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -029     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -030     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -031     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -032     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -033     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -034     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -035     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -036     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -037     */
    -038    
    -039    /**
    -040     * @author Michael Angstadt
    -041     */
    -042    public class VFreeBusyMarshaller extends ICalComponentMarshaller<VFreeBusy> {
    -043            public VFreeBusyMarshaller() {
    -044                    super(VFreeBusy.class, "VFREEBUSY");
    -045            }
    -046    
    -047            @Override
    -048            public List<ICalProperty> getProperties(VFreeBusy component) {
    -049                    List<ICalProperty> properties = super.getProperties(component);
    -050    
    -051                    List<FreeBusy> fb = new ArrayList<FreeBusy>(component.getFreeBusy());
    -052                    if (fb.isEmpty()) {
    -053                            return properties;
    -054                    }
    -055    
    -056                    //sort FREEBUSY properties by start date (p.100)
    -057                    Collections.sort(fb, new Comparator<FreeBusy>() {
    -058                            public int compare(FreeBusy one, FreeBusy two) {
    -059                                    Date oneStart = getEarliestStartDate(one);
    -060                                    Date twoStart = getEarliestStartDate(two);
    -061                                    if (oneStart == null && twoStart == null) {
    -062                                            return 0;
    -063                                    }
    -064                                    if (oneStart == null) {
    -065                                            return 1;
    -066                                    }
    -067                                    if (twoStart == null) {
    -068                                            return -1;
    -069                                    }
    -070                                    return oneStart.compareTo(twoStart);
    -071                            }
    -072    
    -073                            private Date getEarliestStartDate(FreeBusy fb) {
    -074                                    Date date = null;
    -075                                    for (Period tp : fb.getValues()) {
    -076                                            if (tp.getStartDate() == null) {
    -077                                                    continue;
    -078                                            }
    -079                                            if (date == null || date.compareTo(tp.getStartDate()) > 0) {
    -080                                                    date = tp.getStartDate();
    -081                                            }
    -082                                    }
    -083                                    return date;
    -084                            }
    -085                    });
    -086    
    -087                    //find index of first FREEBUSY instance
    -088                    int index = 0;
    -089                    for (ICalProperty prop : properties) {
    -090                            if (prop instanceof FreeBusy) {
    -091                                    break;
    -092                            }
    -093                            index++;
    -094                    }
    -095    
    -096                    //remove and re-add the FREEBUSY instances in sorted order
    -097                    for (FreeBusy f : fb) {
    -098                            properties.remove(f);
    -099                            properties.add(index++, f);
    -100                    }
    -101    
    -102                    return properties;
    -103            }
    -104    
    -105            @Override
    -106            protected VFreeBusy _newInstance() {
    -107                    return new VFreeBusy();
    -108            }
    -109    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VJournalMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VJournalMarshaller.html deleted file mode 100644 index 22eba11f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VJournalMarshaller.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.component.VJournal;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class VJournalMarshaller extends ICalComponentMarshaller<VJournal> {
    -034            public VJournalMarshaller() {
    -035                    super(VJournal.class, "VJOURNAL");
    -036            }
    -037    
    -038            @Override
    -039            protected VJournal _newInstance() {
    -040                    return new VJournal();
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VTimezoneMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VTimezoneMarshaller.html deleted file mode 100644 index b0da9cf8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VTimezoneMarshaller.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.component.VTimezone;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class VTimezoneMarshaller extends ICalComponentMarshaller<VTimezone> {
    -034            public VTimezoneMarshaller() {
    -035                    super(VTimezone.class, "VTIMEZONE");
    -036            }
    -037    
    -038            @Override
    -039            protected VTimezone _newInstance() {
    -040                    return new VTimezone(null);
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VTodoMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VTodoMarshaller.html deleted file mode 100644 index fd7f598e..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/component/marshaller/VTodoMarshaller.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.component.marshaller;
    -002    
    -003    import biweekly.component.VTodo;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * @author Michael Angstadt
    -032     */
    -033    public class VTodoMarshaller extends ICalComponentMarshaller<VTodo> {
    -034            public VTodoMarshaller() {
    -035                    super(VTodo.class, "VTODO");
    -036            }
    -037    
    -038            @Override
    -039            protected VTodo _newInstance() {
    -040                    return new VTodo();
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/CannotParseException.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/CannotParseException.html deleted file mode 100644 index ff0220c9..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/CannotParseException.html +++ /dev/null @@ -1,118 +0,0 @@ - - -
    -001    package biweekly.io;
    -002    
    -003    import biweekly.ICalException;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Thrown during the unmarshalling of an iCalendar property to signal that the
    -032     * property's value could not be parsed (for example, being unable to parse a
    -033     * date string).
    -034     * @author Michael Angstadt
    -035     */
    -036    @SuppressWarnings("serial")
    -037    public class CannotParseException extends ICalException {
    -038            /**
    -039             * Creates a new "cannot parse" exception.
    -040             */
    -041            public CannotParseException() {
    -042                    super();
    -043            }
    -044    
    -045            /**
    -046             * Creates a new "cannot parse" exception.
    -047             * @param reason the reason why the property value cannot be parsed
    -048             */
    -049            public CannotParseException(String reason) {
    -050                    super(reason);
    -051            }
    -052    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/ICalMarshallerRegistrar.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/ICalMarshallerRegistrar.html deleted file mode 100644 index 1fbb3e05..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/ICalMarshallerRegistrar.html +++ /dev/null @@ -1,468 +0,0 @@ - - -
    -001    package biweekly.io;
    -002    
    -003    import java.util.HashMap;
    -004    import java.util.Map;
    -005    
    -006    import javax.xml.namespace.QName;
    -007    
    -008    import biweekly.ICalendar;
    -009    import biweekly.component.ICalComponent;
    -010    import biweekly.component.RawComponent;
    -011    import biweekly.component.marshaller.DaylightSavingsTimeMarshaller;
    -012    import biweekly.component.marshaller.ICalComponentMarshaller;
    -013    import biweekly.component.marshaller.ICalendarMarshaller;
    -014    import biweekly.component.marshaller.RawComponentMarshaller;
    -015    import biweekly.component.marshaller.StandardTimeMarshaller;
    -016    import biweekly.component.marshaller.VAlarmMarshaller;
    -017    import biweekly.component.marshaller.VEventMarshaller;
    -018    import biweekly.component.marshaller.VFreeBusyMarshaller;
    -019    import biweekly.component.marshaller.VJournalMarshaller;
    -020    import biweekly.component.marshaller.VTimezoneMarshaller;
    -021    import biweekly.component.marshaller.VTodoMarshaller;
    -022    import biweekly.io.xml.XCalNamespaceContext;
    -023    import biweekly.property.ICalProperty;
    -024    import biweekly.property.RawProperty;
    -025    import biweekly.property.Xml;
    -026    import biweekly.property.marshaller.ActionMarshaller;
    -027    import biweekly.property.marshaller.AttachmentMarshaller;
    -028    import biweekly.property.marshaller.AttendeeMarshaller;
    -029    import biweekly.property.marshaller.CalendarScaleMarshaller;
    -030    import biweekly.property.marshaller.CategoriesMarshaller;
    -031    import biweekly.property.marshaller.ClassificationMarshaller;
    -032    import biweekly.property.marshaller.CommentMarshaller;
    -033    import biweekly.property.marshaller.CompletedMarshaller;
    -034    import biweekly.property.marshaller.ContactMarshaller;
    -035    import biweekly.property.marshaller.CreatedMarshaller;
    -036    import biweekly.property.marshaller.DateDueMarshaller;
    -037    import biweekly.property.marshaller.DateEndMarshaller;
    -038    import biweekly.property.marshaller.DateStartMarshaller;
    -039    import biweekly.property.marshaller.DateTimeStampMarshaller;
    -040    import biweekly.property.marshaller.DescriptionMarshaller;
    -041    import biweekly.property.marshaller.DurationPropertyMarshaller;
    -042    import biweekly.property.marshaller.ExceptionDatesMarshaller;
    -043    import biweekly.property.marshaller.ExceptionRuleMarshaller;
    -044    import biweekly.property.marshaller.FreeBusyMarshaller;
    -045    import biweekly.property.marshaller.GeoMarshaller;
    -046    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -047    import biweekly.property.marshaller.LastModifiedMarshaller;
    -048    import biweekly.property.marshaller.LocationMarshaller;
    -049    import biweekly.property.marshaller.MethodMarshaller;
    -050    import biweekly.property.marshaller.OrganizerMarshaller;
    -051    import biweekly.property.marshaller.PercentCompleteMarshaller;
    -052    import biweekly.property.marshaller.PriorityMarshaller;
    -053    import biweekly.property.marshaller.ProductIdMarshaller;
    -054    import biweekly.property.marshaller.RawPropertyMarshaller;
    -055    import biweekly.property.marshaller.RecurrenceDatesMarshaller;
    -056    import biweekly.property.marshaller.RecurrenceIdMarshaller;
    -057    import biweekly.property.marshaller.RecurrenceRuleMarshaller;
    -058    import biweekly.property.marshaller.RelatedToMarshaller;
    -059    import biweekly.property.marshaller.RepeatMarshaller;
    -060    import biweekly.property.marshaller.RequestStatusMarshaller;
    -061    import biweekly.property.marshaller.ResourcesMarshaller;
    -062    import biweekly.property.marshaller.SequenceMarshaller;
    -063    import biweekly.property.marshaller.StatusMarshaller;
    -064    import biweekly.property.marshaller.SummaryMarshaller;
    -065    import biweekly.property.marshaller.TimezoneIdMarshaller;
    -066    import biweekly.property.marshaller.TimezoneNameMarshaller;
    -067    import biweekly.property.marshaller.TimezoneOffsetFromMarshaller;
    -068    import biweekly.property.marshaller.TimezoneOffsetToMarshaller;
    -069    import biweekly.property.marshaller.TimezoneUrlMarshaller;
    -070    import biweekly.property.marshaller.TransparencyMarshaller;
    -071    import biweekly.property.marshaller.TriggerMarshaller;
    -072    import biweekly.property.marshaller.UidMarshaller;
    -073    import biweekly.property.marshaller.UrlMarshaller;
    -074    import biweekly.property.marshaller.VersionMarshaller;
    -075    import biweekly.property.marshaller.XmlMarshaller;
    -076    
    -077    /*
    -078     Copyright (c) 2013, Michael Angstadt
    -079     All rights reserved.
    -080    
    -081     Redistribution and use in source and binary forms, with or without
    -082     modification, are permitted provided that the following conditions are met: 
    -083    
    -084     1. Redistributions of source code must retain the above copyright notice, this
    -085     list of conditions and the following disclaimer. 
    -086     2. Redistributions in binary form must reproduce the above copyright notice,
    -087     this list of conditions and the following disclaimer in the documentation
    -088     and/or other materials provided with the distribution. 
    -089    
    -090     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -091     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -092     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -093     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -094     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -095     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -096     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -097     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -098     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -099     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -100     */
    -101    
    -102    /**
    -103     * <p>
    -104     * Manages a listing of component and property marshallers. This is useful for
    -105     * injecting the marshallers of any experimental components or properties you
    -106     * have defined into a reader or writer object. The same object instance can be
    -107     * reused and injected into multiple reader/writer classes.
    -108     * </p>
    -109     * <p>
    -110     * <b>Example:</b>
    -111     * 
    -112     * <pre class="brush:java">
    -113     * //init the registrar
    -114     * ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -115     * registrar.register(new CustomPropertyMarshaller());
    -116     * registrar.register(new AnotherCustomPropertyMarshaller());
    -117     * registrar.register(new CustomComponentMarshaller());
    -118     * 
    -119     * //inject into a reader class
    -120     * ICalReader textReader = new ICalReader(...);
    -121     * textReader.setRegistrar(registrar);
    -122     * List&lt;ICalendar&gt; icals = new ArrayList&lt;ICalendar&gt;();
    -123     * ICalendar ical;
    -124     * while ((ical = textReader.readNext()) != null){
    -125     *   icals.add(ical);
    -126     * }
    -127     * 
    -128     * //inject the same instance in another reader/writer class
    -129     * JCalWriter writer = new JCalWriter(...);
    -130     * writer.setRegistrar(registrar);
    -131     * for (ICalendar ical : icals){
    -132     *   writer.write(ical);
    -133     * }
    -134     * </pre>
    -135     * 
    -136     * </p>
    -137     * @author Michael Angstadt
    -138     */
    -139    public class ICalMarshallerRegistrar {
    -140            //define standard component marshallers
    -141            private static final Map<String, ICalComponentMarshaller<? extends ICalComponent>> standardCompByName = new HashMap<String, ICalComponentMarshaller<? extends ICalComponent>>();
    -142            private static final Map<Class<? extends ICalComponent>, ICalComponentMarshaller<? extends ICalComponent>> standardCompByClass = new HashMap<Class<? extends ICalComponent>, ICalComponentMarshaller<? extends ICalComponent>>();
    -143            static {
    -144                    registerStandard(new ICalendarMarshaller());
    -145                    registerStandard(new VAlarmMarshaller());
    -146                    registerStandard(new VEventMarshaller());
    -147                    registerStandard(new VFreeBusyMarshaller());
    -148                    registerStandard(new VJournalMarshaller());
    -149                    registerStandard(new VTodoMarshaller());
    -150                    registerStandard(new VTimezoneMarshaller());
    -151                    registerStandard(new StandardTimeMarshaller());
    -152                    registerStandard(new DaylightSavingsTimeMarshaller());
    -153            }
    -154    
    -155            //define standard property marshallers
    -156            private static final Map<String, ICalPropertyMarshaller<? extends ICalProperty>> standardPropByName = new HashMap<String, ICalPropertyMarshaller<? extends ICalProperty>>();
    -157            private static final Map<Class<? extends ICalProperty>, ICalPropertyMarshaller<? extends ICalProperty>> standardPropByClass = new HashMap<Class<? extends ICalProperty>, ICalPropertyMarshaller<? extends ICalProperty>>();
    -158            private static final Map<QName, ICalPropertyMarshaller<? extends ICalProperty>> standardPropByQName = new HashMap<QName, ICalPropertyMarshaller<? extends ICalProperty>>();
    -159            static {
    -160                    //RFC 5545
    -161                    registerStandard(new ActionMarshaller());
    -162                    registerStandard(new AttachmentMarshaller());
    -163                    registerStandard(new AttendeeMarshaller());
    -164                    registerStandard(new CalendarScaleMarshaller());
    -165                    registerStandard(new CategoriesMarshaller());
    -166                    registerStandard(new ClassificationMarshaller());
    -167                    registerStandard(new CommentMarshaller());
    -168                    registerStandard(new CompletedMarshaller());
    -169                    registerStandard(new ContactMarshaller());
    -170                    registerStandard(new CreatedMarshaller());
    -171                    registerStandard(new DateDueMarshaller());
    -172                    registerStandard(new DateEndMarshaller());
    -173                    registerStandard(new DateStartMarshaller());
    -174                    registerStandard(new DateTimeStampMarshaller());
    -175                    registerStandard(new DescriptionMarshaller());
    -176                    registerStandard(new DurationPropertyMarshaller());
    -177                    registerStandard(new ExceptionDatesMarshaller());
    -178                    registerStandard(new FreeBusyMarshaller());
    -179                    registerStandard(new GeoMarshaller());
    -180                    registerStandard(new LastModifiedMarshaller());
    -181                    registerStandard(new LocationMarshaller());
    -182                    registerStandard(new MethodMarshaller());
    -183                    registerStandard(new OrganizerMarshaller());
    -184                    registerStandard(new PercentCompleteMarshaller());
    -185                    registerStandard(new PriorityMarshaller());
    -186                    registerStandard(new ProductIdMarshaller());
    -187                    registerStandard(new RecurrenceDatesMarshaller());
    -188                    registerStandard(new RecurrenceIdMarshaller());
    -189                    registerStandard(new RecurrenceRuleMarshaller());
    -190                    registerStandard(new RelatedToMarshaller());
    -191                    registerStandard(new RepeatMarshaller());
    -192                    registerStandard(new RequestStatusMarshaller());
    -193                    registerStandard(new ResourcesMarshaller());
    -194                    registerStandard(new SequenceMarshaller());
    -195                    registerStandard(new StatusMarshaller());
    -196                    registerStandard(new SummaryMarshaller());
    -197                    registerStandard(new TimezoneIdMarshaller());
    -198                    registerStandard(new TimezoneNameMarshaller());
    -199                    registerStandard(new TimezoneOffsetFromMarshaller());
    -200                    registerStandard(new TimezoneOffsetToMarshaller());
    -201                    registerStandard(new TimezoneUrlMarshaller());
    -202                    registerStandard(new TransparencyMarshaller());
    -203                    registerStandard(new TriggerMarshaller());
    -204                    registerStandard(new UidMarshaller());
    -205                    registerStandard(new UrlMarshaller());
    -206                    registerStandard(new VersionMarshaller());
    -207    
    -208                    //RFC 6321
    -209                    registerStandard(new XmlMarshaller());
    -210    
    -211                    //RFC 2445
    -212                    registerStandard(new ExceptionRuleMarshaller());
    -213            }
    -214    
    -215            private final Map<String, ICalComponentMarshaller<? extends ICalComponent>> experimentalCompByName = new HashMap<String, ICalComponentMarshaller<? extends ICalComponent>>(0);
    -216            private final Map<Class<? extends ICalComponent>, ICalComponentMarshaller<? extends ICalComponent>> experimentalCompByClass = new HashMap<Class<? extends ICalComponent>, ICalComponentMarshaller<? extends ICalComponent>>(0);
    -217    
    -218            private final Map<String, ICalPropertyMarshaller<? extends ICalProperty>> experimentalPropByName = new HashMap<String, ICalPropertyMarshaller<? extends ICalProperty>>(0);
    -219            private final Map<Class<? extends ICalProperty>, ICalPropertyMarshaller<? extends ICalProperty>> experimentalPropByClass = new HashMap<Class<? extends ICalProperty>, ICalPropertyMarshaller<? extends ICalProperty>>(0);
    -220            private final Map<QName, ICalPropertyMarshaller<? extends ICalProperty>> experimentalPropByQName = new HashMap<QName, ICalPropertyMarshaller<? extends ICalProperty>>(0);
    -221    
    -222            /**
    -223             * Gets a component marshaller by name.
    -224             * @param componentName the component name (e.g. "VEVENT")
    -225             * @return the component marshaller or a {@link RawComponentMarshaller} if
    -226             * not found
    -227             */
    -228            public ICalComponentMarshaller<? extends ICalComponent> getComponentMarshaller(String componentName) {
    -229                    componentName = componentName.toUpperCase();
    -230    
    -231                    ICalComponentMarshaller<? extends ICalComponent> marshaller = experimentalCompByName.get(componentName);
    -232                    if (marshaller != null) {
    -233                            return marshaller;
    -234                    }
    -235    
    -236                    marshaller = standardCompByName.get(componentName);
    -237                    if (marshaller != null) {
    -238                            return marshaller;
    -239                    }
    -240    
    -241                    return new RawComponentMarshaller(componentName);
    -242            }
    -243    
    -244            /**
    -245             * Gets a property marshaller by name.
    -246             * @param propertyName the property name (e.g. "VERSION")
    -247             * @return the property marshaller or a {@link RawPropertyMarshaller} if not
    -248             * found
    -249             */
    -250            public ICalPropertyMarshaller<? extends ICalProperty> getPropertyMarshaller(String propertyName) {
    -251                    propertyName = propertyName.toUpperCase();
    -252    
    -253                    ICalPropertyMarshaller<? extends ICalProperty> marshaller = experimentalPropByName.get(propertyName);
    -254                    if (marshaller != null) {
    -255                            return marshaller;
    -256                    }
    -257    
    -258                    marshaller = standardPropByName.get(propertyName);
    -259                    if (marshaller != null) {
    -260                            return marshaller;
    -261                    }
    -262    
    -263                    return new RawPropertyMarshaller(propertyName);
    -264            }
    -265    
    -266            /**
    -267             * Gets a component marshaller by class.
    -268             * @param clazz the component class
    -269             * @return the component marshaller or null if not found
    -270             */
    -271            public ICalComponentMarshaller<? extends ICalComponent> getComponentMarshaller(Class<? extends ICalComponent> clazz) {
    -272                    ICalComponentMarshaller<? extends ICalComponent> marshaller = experimentalCompByClass.get(clazz);
    -273                    if (marshaller != null) {
    -274                            return marshaller;
    -275                    }
    -276    
    -277                    return standardCompByClass.get(clazz);
    -278            }
    -279    
    -280            /**
    -281             * Gets a property marshaller by class.
    -282             * @param clazz the property class
    -283             * @return the property marshaller or null if not found
    -284             */
    -285            public ICalPropertyMarshaller<? extends ICalProperty> getPropertyMarshaller(Class<? extends ICalProperty> clazz) {
    -286                    ICalPropertyMarshaller<? extends ICalProperty> marshaller = experimentalPropByClass.get(clazz);
    -287                    if (marshaller != null) {
    -288                            return marshaller;
    -289                    }
    -290    
    -291                    return standardPropByClass.get(clazz);
    -292            }
    -293    
    -294            /**
    -295             * Gets the appropriate component marshaller for a given component instance.
    -296             * @param component the component instance
    -297             * @return the component marshaller or null if not found
    -298             */
    -299            public ICalComponentMarshaller<? extends ICalComponent> getComponentMarshaller(ICalComponent component) {
    -300                    if (component instanceof RawComponent) {
    -301                            RawComponent raw = (RawComponent) component;
    -302                            return new RawComponentMarshaller(raw.getName());
    -303                    }
    -304    
    -305                    return getComponentMarshaller(component.getClass());
    -306            }
    -307    
    -308            /**
    -309             * Gets the appropriate property marshaller for a given property instance.
    -310             * @param property the property instance
    -311             * @return the property marshaller or null if not found
    -312             */
    -313            public ICalPropertyMarshaller<? extends ICalProperty> getPropertyMarshaller(ICalProperty property) {
    -314                    if (property instanceof RawProperty) {
    -315                            RawProperty raw = (RawProperty) property;
    -316                            return new RawPropertyMarshaller(raw.getName());
    -317                    }
    -318    
    -319                    return getPropertyMarshaller(property.getClass());
    -320            }
    -321    
    -322            /**
    -323             * Gets a property marshaller by XML local name and namespace.
    -324             * @param qname the XML local name and namespace
    -325             * @return the property marshaller or a {@link XmlMarshaller} if not found
    -326             */
    -327            public ICalPropertyMarshaller<? extends ICalProperty> getPropertyMarshaller(QName qname) {
    -328                    ICalPropertyMarshaller<? extends ICalProperty> marshaller = experimentalPropByQName.get(qname);
    -329                    if (marshaller != null) {
    -330                            return marshaller;
    -331                    }
    -332    
    -333                    marshaller = standardPropByQName.get(qname);
    -334                    if (marshaller != null) {
    -335                            return marshaller;
    -336                    }
    -337    
    -338                    if (XCalNamespaceContext.XCAL_NS.equals(qname.getNamespaceURI())) {
    -339                            return new RawPropertyMarshaller(qname.getLocalPart().toUpperCase());
    -340                    }
    -341    
    -342                    return getPropertyMarshaller(Xml.class);
    -343            }
    -344    
    -345            /**
    -346             * Registers a component marshaller.
    -347             * @param marshaller the marshaller to register
    -348             */
    -349            public void register(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -350                    experimentalCompByName.put(marshaller.getComponentName().toUpperCase(), marshaller);
    -351                    experimentalCompByClass.put(marshaller.getComponentClass(), marshaller);
    -352            }
    -353    
    -354            /**
    -355             * Registers a property marshaller.
    -356             * @param marshaller the marshaller to register
    -357             */
    -358            public void register(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -359                    experimentalPropByName.put(marshaller.getPropertyName().toUpperCase(), marshaller);
    -360                    experimentalPropByClass.put(marshaller.getPropertyClass(), marshaller);
    -361                    experimentalPropByQName.put(marshaller.getQName(), marshaller);
    -362            }
    -363    
    -364            /**
    -365             * Unregisters a component marshaller.
    -366             * @param marshaller the marshaller to unregister
    -367             */
    -368            public void unregister(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -369                    experimentalCompByName.remove(marshaller.getComponentName().toUpperCase());
    -370                    experimentalCompByClass.remove(marshaller.getComponentClass());
    -371            }
    -372    
    -373            /**
    -374             * Unregisters a property marshaller
    -375             * @param marshaller the marshaller to unregister
    -376             */
    -377            public void unregister(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -378                    experimentalPropByName.remove(marshaller.getPropertyName().toUpperCase());
    -379                    experimentalPropByClass.remove(marshaller.getPropertyClass());
    -380                    experimentalPropByQName.remove(marshaller.getQName());
    -381            }
    -382    
    -383            /**
    -384             * Convenience method for getting the marshaller of the root iCalendar
    -385             * component ("VCALENDAR").
    -386             * @return the marshaller
    -387             */
    -388            public static ICalendarMarshaller getICalendarMarshaller() {
    -389                    return (ICalendarMarshaller) standardCompByClass.get(ICalendar.class);
    -390            }
    -391    
    -392            private static void registerStandard(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -393                    standardCompByName.put(marshaller.getComponentName().toUpperCase(), marshaller);
    -394                    standardCompByClass.put(marshaller.getComponentClass(), marshaller);
    -395            }
    -396    
    -397            private static void registerStandard(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -398                    standardPropByName.put(marshaller.getPropertyName().toUpperCase(), marshaller);
    -399                    standardPropByClass.put(marshaller.getPropertyClass(), marshaller);
    -400                    standardPropByQName.put(marshaller.getQName(), marshaller);
    -401            }
    -402    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/SkipMeException.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/SkipMeException.html deleted file mode 100644 index 2e9165ee..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/SkipMeException.html +++ /dev/null @@ -1,119 +0,0 @@ - - -
    -001    package biweekly.io;
    -002    
    -003    import biweekly.ICalException;
    -004    import biweekly.ICalendar;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Thrown during the reading or writing of an iCalendar property to show that
    -033     * the property should not be written to the iCalendar data stream or not be
    -034     * included in the parsed {@link ICalendar} object.
    -035     * @author Michael Angstadt
    -036     */
    -037    @SuppressWarnings("serial")
    -038    public class SkipMeException extends ICalException {
    -039            /**
    -040             * Creates a new skip-me exception.
    -041             */
    -042            public SkipMeException() {
    -043                    super();
    -044            }
    -045    
    -046            /**
    -047             * Creates a new skip-me exception.
    -048             * @param msg the reason why this property is being skipped
    -049             */
    -050            public SkipMeException(String msg) {
    -051                    super(msg);
    -052            }
    -053    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalParseException.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalParseException.html deleted file mode 100644 index 69afc513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalParseException.html +++ /dev/null @@ -1,134 +0,0 @@ - - -
    -001    package biweekly.io.json;
    -002    
    -003    import biweekly.ICalException;
    -004    
    -005    import com.fasterxml.jackson.core.JsonToken;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Thrown during the parsing of a JSON-encoded iCalendar object (jCal) when the
    -034     * jCal object is not formatted in the correct way (the JSON syntax is valid,
    -035     * but it's not in the correct jCal format).
    -036     * @author Michael Angstadt
    -037     */
    -038    @SuppressWarnings("serial")
    -039    public class JCalParseException extends ICalException {
    -040            private final JsonToken expected, actual;
    -041    
    -042            /**
    -043             * Creates a jCal parse exception.
    -044             * @param expected the JSON token that the parser was expecting
    -045             * @param actual the actual JSON token
    -046             */
    -047            public JCalParseException(JsonToken expected, JsonToken actual) {
    -048                    super("Expected " + expected + " but was " + actual + ".");
    -049                    this.expected = expected;
    -050                    this.actual = actual;
    -051            }
    -052    
    -053            /**
    -054             * Gets the JSON token that the parser was expected.
    -055             * @return the expected token
    -056             */
    -057            public JsonToken getExpectedToken() {
    -058                    return expected;
    -059            }
    -060    
    -061            /**
    -062             * Gets the JSON token that was read.
    -063             * @return the actual token
    -064             */
    -065            public JsonToken getActualToken() {
    -066                    return actual;
    -067            }
    -068    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawReader.JCalDataStreamListener.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawReader.JCalDataStreamListener.html deleted file mode 100644 index 52381ad7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawReader.JCalDataStreamListener.html +++ /dev/null @@ -1,370 +0,0 @@ - - -
    -001    package biweekly.io.json;
    -002    
    -003    import java.io.Closeable;
    -004    import java.io.IOException;
    -005    import java.io.Reader;
    -006    import java.util.ArrayList;
    -007    import java.util.HashMap;
    -008    import java.util.List;
    -009    import java.util.Map;
    -010    
    -011    import biweekly.ICalDataType;
    -012    import biweekly.io.ICalMarshallerRegistrar;
    -013    import biweekly.parameter.ICalParameters;
    -014    
    -015    import com.fasterxml.jackson.core.JsonFactory;
    -016    import com.fasterxml.jackson.core.JsonParseException;
    -017    import com.fasterxml.jackson.core.JsonParser;
    -018    import com.fasterxml.jackson.core.JsonToken;
    -019    
    -020    /*
    -021     Copyright (c) 2013, Michael Angstadt
    -022     All rights reserved.
    -023    
    -024     Redistribution and use in source and binary forms, with or without
    -025     modification, are permitted provided that the following conditions are met: 
    -026    
    -027     1. Redistributions of source code must retain the above copyright notice, this
    -028     list of conditions and the following disclaimer. 
    -029     2. Redistributions in binary form must reproduce the above copyright notice,
    -030     this list of conditions and the following disclaimer in the documentation
    -031     and/or other materials provided with the distribution. 
    -032    
    -033     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -034     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -035     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -036     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -037     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -038     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -039     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -040     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -041     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -042     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -043     */
    -044    
    -045    /**
    -046     * Parses an iCalendar JSON data stream (jCal).
    -047     * @author Michael Angstadt
    -048     * @see <a href="http://tools.ietf.org/html/draft-ietf-jcardcal-jcal-05">jCal
    -049     * draft</a>
    -050     */
    -051    public class JCalRawReader implements Closeable {
    -052            private static final String vcalendarComponentName = ICalMarshallerRegistrar.getICalendarMarshaller().getComponentName().toLowerCase(); //"vcalendar"
    -053            private final Reader reader;
    -054            private JsonParser jp;
    -055            private boolean eof = false;
    -056            private JCalDataStreamListener listener;
    -057    
    -058            /**
    -059             * Creates a new reader.
    -060             * @param reader the reader to the data stream
    -061             */
    -062            public JCalRawReader(Reader reader) {
    -063                    this.reader = reader;
    -064            }
    -065    
    -066            /**
    -067             * Gets the current line number.
    -068             * @return the line number
    -069             */
    -070            public int getLineNum() {
    -071                    return (jp == null) ? 0 : jp.getCurrentLocation().getLineNr();
    -072            }
    -073    
    -074            /**
    -075             * Reads the next iCalendar object from the jCal data stream.
    -076             * @param listener handles the iCalendar data as it is read off the wire
    -077             * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -078             * syntax may be valid, but it is not in the correct jCal format).
    -079             * @throws JsonParseException if the JSON syntax is incorrect
    -080             * @throws IOException if there is a problem reading from the data stream
    -081             */
    -082            public void readNext(JCalDataStreamListener listener) throws IOException {
    -083                    if (jp == null) {
    -084                            JsonFactory factory = new JsonFactory();
    -085                            jp = factory.createJsonParser(reader);
    -086                    } else if (jp.isClosed()) {
    -087                            return;
    -088                    }
    -089    
    -090                    this.listener = listener;
    -091    
    -092                    //find the next iCalendar object
    -093                    JsonToken prev = null;
    -094                    JsonToken cur;
    -095                    while ((cur = jp.nextToken()) != null) {
    -096                            if (prev == JsonToken.START_ARRAY && cur == JsonToken.VALUE_STRING && vcalendarComponentName.equals(jp.getValueAsString())) {
    -097                                    break;
    -098                            }
    -099                            prev = cur;
    -100                    }
    -101                    if (cur == null) {
    -102                            //EOF
    -103                            eof = true;
    -104                            return;
    -105                    }
    -106    
    -107                    parseComponent(new ArrayList<String>());
    -108            }
    -109    
    -110            private void parseComponent(List<String> components) throws IOException {
    -111                    if (jp.getCurrentToken() != JsonToken.VALUE_STRING) {
    -112                            throw new JCalParseException(JsonToken.VALUE_STRING, jp.getCurrentToken());
    -113                    }
    -114                    String componentName = jp.getValueAsString();
    -115                    listener.readComponent(components, componentName);
    -116                    components.add(componentName);
    -117    
    -118                    //TODO add messages to the jCal exceptions
    -119    
    -120                    //start properties array
    -121                    if (jp.nextToken() != JsonToken.START_ARRAY) {
    -122                            throw new JCalParseException(JsonToken.START_ARRAY, jp.getCurrentToken());
    -123                    }
    -124    
    -125                    //read properties
    -126                    while (jp.nextToken() != JsonToken.END_ARRAY) { //until we reach the end properties array
    -127                            if (jp.getCurrentToken() != JsonToken.START_ARRAY) {
    -128                                    throw new JCalParseException(JsonToken.START_ARRAY, jp.getCurrentToken());
    -129                            }
    -130                            jp.nextToken();
    -131                            parseProperty(components);
    -132                    }
    -133    
    -134                    //start sub-components array
    -135                    if (jp.nextToken() != JsonToken.START_ARRAY) {
    -136                            throw new JCalParseException(JsonToken.START_ARRAY, jp.getCurrentToken());
    -137                    }
    -138    
    -139                    //read sub-components
    -140                    while (jp.nextToken() != JsonToken.END_ARRAY) { //until we reach the end sub-components array
    -141                            if (jp.getCurrentToken() != JsonToken.START_ARRAY) {
    -142                                    throw new JCalParseException(JsonToken.START_ARRAY, jp.getCurrentToken());
    -143                            }
    -144                            jp.nextToken();
    -145                            parseComponent(new ArrayList<String>(components));
    -146                    }
    -147    
    -148                    //read the end of the component array (e.g. the last bracket in this example: ["comp", [ /* props */ ], [ /* comps */] ])
    -149                    if (jp.nextToken() != JsonToken.END_ARRAY) {
    -150                            throw new JCalParseException(JsonToken.END_ARRAY, jp.getCurrentToken());
    -151                    }
    -152            }
    -153    
    -154            private void parseProperty(List<String> components) throws IOException {
    -155                    //get property name
    -156                    if (jp.getCurrentToken() != JsonToken.VALUE_STRING) {
    -157                            throw new JCalParseException(JsonToken.VALUE_STRING, jp.getCurrentToken());
    -158                    }
    -159                    String propertyName = jp.getValueAsString().toLowerCase();
    -160    
    -161                    ICalParameters parameters = parseParameters();
    -162    
    -163                    //get data type
    -164                    if (jp.nextToken() != JsonToken.VALUE_STRING) {
    -165                            throw new JCalParseException(JsonToken.VALUE_STRING, jp.getCurrentToken());
    -166                    }
    -167                    String dataTypeStr = jp.getText();
    -168                    ICalDataType dataType = "unknown".equals(dataTypeStr) ? null : ICalDataType.get(dataTypeStr);
    -169    
    -170                    //get property value(s)
    -171                    List<JsonValue> values = parseValues();
    -172    
    -173                    JCalValue value = new JCalValue(values);
    -174                    listener.readProperty(components, propertyName, parameters, dataType, value);
    -175            }
    -176    
    -177            private ICalParameters parseParameters() throws IOException {
    -178                    if (jp.nextToken() != JsonToken.START_OBJECT) {
    -179                            throw new JCalParseException(JsonToken.START_OBJECT, jp.getCurrentToken());
    -180                    }
    -181    
    -182                    ICalParameters parameters = new ICalParameters();
    -183                    while (jp.nextToken() != JsonToken.END_OBJECT) {
    -184                            String parameterName = jp.getText();
    -185    
    -186                            if (jp.nextToken() == JsonToken.START_ARRAY) {
    -187                                    //multi-valued parameter
    -188                                    while (jp.nextToken() != JsonToken.END_ARRAY) {
    -189                                            parameters.put(parameterName, jp.getText());
    -190                                    }
    -191                            } else {
    -192                                    parameters.put(parameterName, jp.getValueAsString());
    -193                            }
    -194                    }
    -195    
    -196                    return parameters;
    -197            }
    -198    
    -199            private List<JsonValue> parseValues() throws IOException {
    -200                    List<JsonValue> values = new ArrayList<JsonValue>();
    -201                    while (jp.nextToken() != JsonToken.END_ARRAY) { //until we reach the end of the property array
    -202                            JsonValue value = parseValue();
    -203                            values.add(value);
    -204                    }
    -205                    return values;
    -206            }
    -207    
    -208            private Object parseValueElement() throws IOException {
    -209                    switch (jp.getCurrentToken()) {
    -210                    case VALUE_FALSE:
    -211                    case VALUE_TRUE:
    -212                            return jp.getBooleanValue();
    -213                    case VALUE_NUMBER_FLOAT:
    -214                            return jp.getDoubleValue();
    -215                    case VALUE_NUMBER_INT:
    -216                            return jp.getLongValue();
    -217                    case VALUE_NULL:
    -218                            return null;
    -219                    default:
    -220                            return jp.getText();
    -221                    }
    -222            }
    -223    
    -224            private List<JsonValue> parseValueArray() throws IOException {
    -225                    List<JsonValue> array = new ArrayList<JsonValue>();
    -226    
    -227                    while (jp.nextToken() != JsonToken.END_ARRAY) {
    -228                            JsonValue value = parseValue();
    -229                            array.add(value);
    -230                    }
    -231    
    -232                    return array;
    -233            }
    -234    
    -235            private Map<String, JsonValue> parseValueObject() throws IOException {
    -236                    Map<String, JsonValue> object = new HashMap<String, JsonValue>();
    -237    
    -238                    jp.nextToken();
    -239                    while (jp.getCurrentToken() != JsonToken.END_OBJECT) {
    -240                            if (jp.getCurrentToken() != JsonToken.FIELD_NAME) {
    -241                                    throw new JCalParseException(JsonToken.FIELD_NAME, jp.getCurrentToken());
    -242                            }
    -243    
    -244                            String key = jp.getText();
    -245                            jp.nextToken();
    -246                            JsonValue value = parseValue();
    -247                            object.put(key, value);
    -248    
    -249                            jp.nextToken();
    -250                    }
    -251    
    -252                    return object;
    -253            }
    -254    
    -255            private JsonValue parseValue() throws IOException {
    -256                    switch (jp.getCurrentToken()) {
    -257                    case START_ARRAY:
    -258                            return new JsonValue(parseValueArray());
    -259                    case START_OBJECT:
    -260                            return new JsonValue(parseValueObject());
    -261                    default:
    -262                            return new JsonValue(parseValueElement());
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Determines whether the end of the data stream has been reached.
    -268             * @return true if the end has been reached, false if not
    -269             */
    -270            public boolean eof() {
    -271                    return eof;
    -272            }
    -273    
    -274            /**
    -275             * Handles the iCalendar data as it is read off the data stream.
    -276             * @author Michael Angstadt
    -277             */
    -278            public static interface JCalDataStreamListener {
    -279                    /**
    -280                     * Called when the parser begins to read a component.
    -281                     * @param parentHierarchy the component's parent components
    -282                     * @param componentName the component name (e.g. "vevent")
    -283                     */
    -284                    void readComponent(List<String> parentHierarchy, String componentName);
    -285    
    -286                    /**
    -287                     * Called when a property is read.
    -288                     * @param componentHierarchy the hierarchy of components that the
    -289                     * property belongs to
    -290                     * @param propertyName the property name (e.g. "summary")
    -291                     * @param parameters the parameters
    -292                     * @param dataType the data type (e.g. "text")
    -293                     * @param value the property value
    -294                     */
    -295                    void readProperty(List<String> componentHierarchy, String propertyName, ICalParameters parameters, ICalDataType dataType, JCalValue value);
    -296            }
    -297    
    -298            /**
    -299             * Closes the underlying {@link Reader} object.
    -300             */
    -301            public void close() throws IOException {
    -302                    reader.close();
    -303            }
    -304    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawReader.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawReader.html deleted file mode 100644 index 52381ad7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawReader.html +++ /dev/null @@ -1,370 +0,0 @@ - - -
    -001    package biweekly.io.json;
    -002    
    -003    import java.io.Closeable;
    -004    import java.io.IOException;
    -005    import java.io.Reader;
    -006    import java.util.ArrayList;
    -007    import java.util.HashMap;
    -008    import java.util.List;
    -009    import java.util.Map;
    -010    
    -011    import biweekly.ICalDataType;
    -012    import biweekly.io.ICalMarshallerRegistrar;
    -013    import biweekly.parameter.ICalParameters;
    -014    
    -015    import com.fasterxml.jackson.core.JsonFactory;
    -016    import com.fasterxml.jackson.core.JsonParseException;
    -017    import com.fasterxml.jackson.core.JsonParser;
    -018    import com.fasterxml.jackson.core.JsonToken;
    -019    
    -020    /*
    -021     Copyright (c) 2013, Michael Angstadt
    -022     All rights reserved.
    -023    
    -024     Redistribution and use in source and binary forms, with or without
    -025     modification, are permitted provided that the following conditions are met: 
    -026    
    -027     1. Redistributions of source code must retain the above copyright notice, this
    -028     list of conditions and the following disclaimer. 
    -029     2. Redistributions in binary form must reproduce the above copyright notice,
    -030     this list of conditions and the following disclaimer in the documentation
    -031     and/or other materials provided with the distribution. 
    -032    
    -033     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -034     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -035     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -036     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -037     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -038     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -039     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -040     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -041     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -042     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -043     */
    -044    
    -045    /**
    -046     * Parses an iCalendar JSON data stream (jCal).
    -047     * @author Michael Angstadt
    -048     * @see <a href="http://tools.ietf.org/html/draft-ietf-jcardcal-jcal-05">jCal
    -049     * draft</a>
    -050     */
    -051    public class JCalRawReader implements Closeable {
    -052            private static final String vcalendarComponentName = ICalMarshallerRegistrar.getICalendarMarshaller().getComponentName().toLowerCase(); //"vcalendar"
    -053            private final Reader reader;
    -054            private JsonParser jp;
    -055            private boolean eof = false;
    -056            private JCalDataStreamListener listener;
    -057    
    -058            /**
    -059             * Creates a new reader.
    -060             * @param reader the reader to the data stream
    -061             */
    -062            public JCalRawReader(Reader reader) {
    -063                    this.reader = reader;
    -064            }
    -065    
    -066            /**
    -067             * Gets the current line number.
    -068             * @return the line number
    -069             */
    -070            public int getLineNum() {
    -071                    return (jp == null) ? 0 : jp.getCurrentLocation().getLineNr();
    -072            }
    -073    
    -074            /**
    -075             * Reads the next iCalendar object from the jCal data stream.
    -076             * @param listener handles the iCalendar data as it is read off the wire
    -077             * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -078             * syntax may be valid, but it is not in the correct jCal format).
    -079             * @throws JsonParseException if the JSON syntax is incorrect
    -080             * @throws IOException if there is a problem reading from the data stream
    -081             */
    -082            public void readNext(JCalDataStreamListener listener) throws IOException {
    -083                    if (jp == null) {
    -084                            JsonFactory factory = new JsonFactory();
    -085                            jp = factory.createJsonParser(reader);
    -086                    } else if (jp.isClosed()) {
    -087                            return;
    -088                    }
    -089    
    -090                    this.listener = listener;
    -091    
    -092                    //find the next iCalendar object
    -093                    JsonToken prev = null;
    -094                    JsonToken cur;
    -095                    while ((cur = jp.nextToken()) != null) {
    -096                            if (prev == JsonToken.START_ARRAY && cur == JsonToken.VALUE_STRING && vcalendarComponentName.equals(jp.getValueAsString())) {
    -097                                    break;
    -098                            }
    -099                            prev = cur;
    -100                    }
    -101                    if (cur == null) {
    -102                            //EOF
    -103                            eof = true;
    -104                            return;
    -105                    }
    -106    
    -107                    parseComponent(new ArrayList<String>());
    -108            }
    -109    
    -110            private void parseComponent(List<String> components) throws IOException {
    -111                    if (jp.getCurrentToken() != JsonToken.VALUE_STRING) {
    -112                            throw new JCalParseException(JsonToken.VALUE_STRING, jp.getCurrentToken());
    -113                    }
    -114                    String componentName = jp.getValueAsString();
    -115                    listener.readComponent(components, componentName);
    -116                    components.add(componentName);
    -117    
    -118                    //TODO add messages to the jCal exceptions
    -119    
    -120                    //start properties array
    -121                    if (jp.nextToken() != JsonToken.START_ARRAY) {
    -122                            throw new JCalParseException(JsonToken.START_ARRAY, jp.getCurrentToken());
    -123                    }
    -124    
    -125                    //read properties
    -126                    while (jp.nextToken() != JsonToken.END_ARRAY) { //until we reach the end properties array
    -127                            if (jp.getCurrentToken() != JsonToken.START_ARRAY) {
    -128                                    throw new JCalParseException(JsonToken.START_ARRAY, jp.getCurrentToken());
    -129                            }
    -130                            jp.nextToken();
    -131                            parseProperty(components);
    -132                    }
    -133    
    -134                    //start sub-components array
    -135                    if (jp.nextToken() != JsonToken.START_ARRAY) {
    -136                            throw new JCalParseException(JsonToken.START_ARRAY, jp.getCurrentToken());
    -137                    }
    -138    
    -139                    //read sub-components
    -140                    while (jp.nextToken() != JsonToken.END_ARRAY) { //until we reach the end sub-components array
    -141                            if (jp.getCurrentToken() != JsonToken.START_ARRAY) {
    -142                                    throw new JCalParseException(JsonToken.START_ARRAY, jp.getCurrentToken());
    -143                            }
    -144                            jp.nextToken();
    -145                            parseComponent(new ArrayList<String>(components));
    -146                    }
    -147    
    -148                    //read the end of the component array (e.g. the last bracket in this example: ["comp", [ /* props */ ], [ /* comps */] ])
    -149                    if (jp.nextToken() != JsonToken.END_ARRAY) {
    -150                            throw new JCalParseException(JsonToken.END_ARRAY, jp.getCurrentToken());
    -151                    }
    -152            }
    -153    
    -154            private void parseProperty(List<String> components) throws IOException {
    -155                    //get property name
    -156                    if (jp.getCurrentToken() != JsonToken.VALUE_STRING) {
    -157                            throw new JCalParseException(JsonToken.VALUE_STRING, jp.getCurrentToken());
    -158                    }
    -159                    String propertyName = jp.getValueAsString().toLowerCase();
    -160    
    -161                    ICalParameters parameters = parseParameters();
    -162    
    -163                    //get data type
    -164                    if (jp.nextToken() != JsonToken.VALUE_STRING) {
    -165                            throw new JCalParseException(JsonToken.VALUE_STRING, jp.getCurrentToken());
    -166                    }
    -167                    String dataTypeStr = jp.getText();
    -168                    ICalDataType dataType = "unknown".equals(dataTypeStr) ? null : ICalDataType.get(dataTypeStr);
    -169    
    -170                    //get property value(s)
    -171                    List<JsonValue> values = parseValues();
    -172    
    -173                    JCalValue value = new JCalValue(values);
    -174                    listener.readProperty(components, propertyName, parameters, dataType, value);
    -175            }
    -176    
    -177            private ICalParameters parseParameters() throws IOException {
    -178                    if (jp.nextToken() != JsonToken.START_OBJECT) {
    -179                            throw new JCalParseException(JsonToken.START_OBJECT, jp.getCurrentToken());
    -180                    }
    -181    
    -182                    ICalParameters parameters = new ICalParameters();
    -183                    while (jp.nextToken() != JsonToken.END_OBJECT) {
    -184                            String parameterName = jp.getText();
    -185    
    -186                            if (jp.nextToken() == JsonToken.START_ARRAY) {
    -187                                    //multi-valued parameter
    -188                                    while (jp.nextToken() != JsonToken.END_ARRAY) {
    -189                                            parameters.put(parameterName, jp.getText());
    -190                                    }
    -191                            } else {
    -192                                    parameters.put(parameterName, jp.getValueAsString());
    -193                            }
    -194                    }
    -195    
    -196                    return parameters;
    -197            }
    -198    
    -199            private List<JsonValue> parseValues() throws IOException {
    -200                    List<JsonValue> values = new ArrayList<JsonValue>();
    -201                    while (jp.nextToken() != JsonToken.END_ARRAY) { //until we reach the end of the property array
    -202                            JsonValue value = parseValue();
    -203                            values.add(value);
    -204                    }
    -205                    return values;
    -206            }
    -207    
    -208            private Object parseValueElement() throws IOException {
    -209                    switch (jp.getCurrentToken()) {
    -210                    case VALUE_FALSE:
    -211                    case VALUE_TRUE:
    -212                            return jp.getBooleanValue();
    -213                    case VALUE_NUMBER_FLOAT:
    -214                            return jp.getDoubleValue();
    -215                    case VALUE_NUMBER_INT:
    -216                            return jp.getLongValue();
    -217                    case VALUE_NULL:
    -218                            return null;
    -219                    default:
    -220                            return jp.getText();
    -221                    }
    -222            }
    -223    
    -224            private List<JsonValue> parseValueArray() throws IOException {
    -225                    List<JsonValue> array = new ArrayList<JsonValue>();
    -226    
    -227                    while (jp.nextToken() != JsonToken.END_ARRAY) {
    -228                            JsonValue value = parseValue();
    -229                            array.add(value);
    -230                    }
    -231    
    -232                    return array;
    -233            }
    -234    
    -235            private Map<String, JsonValue> parseValueObject() throws IOException {
    -236                    Map<String, JsonValue> object = new HashMap<String, JsonValue>();
    -237    
    -238                    jp.nextToken();
    -239                    while (jp.getCurrentToken() != JsonToken.END_OBJECT) {
    -240                            if (jp.getCurrentToken() != JsonToken.FIELD_NAME) {
    -241                                    throw new JCalParseException(JsonToken.FIELD_NAME, jp.getCurrentToken());
    -242                            }
    -243    
    -244                            String key = jp.getText();
    -245                            jp.nextToken();
    -246                            JsonValue value = parseValue();
    -247                            object.put(key, value);
    -248    
    -249                            jp.nextToken();
    -250                    }
    -251    
    -252                    return object;
    -253            }
    -254    
    -255            private JsonValue parseValue() throws IOException {
    -256                    switch (jp.getCurrentToken()) {
    -257                    case START_ARRAY:
    -258                            return new JsonValue(parseValueArray());
    -259                    case START_OBJECT:
    -260                            return new JsonValue(parseValueObject());
    -261                    default:
    -262                            return new JsonValue(parseValueElement());
    -263                    }
    -264            }
    -265    
    -266            /**
    -267             * Determines whether the end of the data stream has been reached.
    -268             * @return true if the end has been reached, false if not
    -269             */
    -270            public boolean eof() {
    -271                    return eof;
    -272            }
    -273    
    -274            /**
    -275             * Handles the iCalendar data as it is read off the data stream.
    -276             * @author Michael Angstadt
    -277             */
    -278            public static interface JCalDataStreamListener {
    -279                    /**
    -280                     * Called when the parser begins to read a component.
    -281                     * @param parentHierarchy the component's parent components
    -282                     * @param componentName the component name (e.g. "vevent")
    -283                     */
    -284                    void readComponent(List<String> parentHierarchy, String componentName);
    -285    
    -286                    /**
    -287                     * Called when a property is read.
    -288                     * @param componentHierarchy the hierarchy of components that the
    -289                     * property belongs to
    -290                     * @param propertyName the property name (e.g. "summary")
    -291                     * @param parameters the parameters
    -292                     * @param dataType the data type (e.g. "text")
    -293                     * @param value the property value
    -294                     */
    -295                    void readProperty(List<String> componentHierarchy, String propertyName, ICalParameters parameters, ICalDataType dataType, JCalValue value);
    -296            }
    -297    
    -298            /**
    -299             * Closes the underlying {@link Reader} object.
    -300             */
    -301            public void close() throws IOException {
    -302                    reader.close();
    -303            }
    -304    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawWriter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawWriter.html deleted file mode 100644 index 85bc5e6f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalRawWriter.html +++ /dev/null @@ -1,396 +0,0 @@ - - -
    -001    package biweekly.io.json;
    -002    
    -003    import static biweekly.util.StringUtils.NEWLINE;
    -004    
    -005    import java.io.Closeable;
    -006    import java.io.IOException;
    -007    import java.io.Writer;
    -008    import java.util.LinkedList;
    -009    import java.util.List;
    -010    import java.util.Map;
    -011    
    -012    import biweekly.ICalDataType;
    -013    import biweekly.parameter.ICalParameters;
    -014    
    -015    import com.fasterxml.jackson.core.JsonFactory;
    -016    import com.fasterxml.jackson.core.JsonGenerator;
    -017    import com.fasterxml.jackson.core.JsonGenerator.Feature;
    -018    
    -019    /*
    -020     Copyright (c) 2013, Michael Angstadt
    -021     All rights reserved.
    -022    
    -023     Redistribution and use in source and binary forms, with or without
    -024     modification, are permitted provided that the following conditions are met: 
    -025    
    -026     1. Redistributions of source code must retain the above copyright notice, this
    -027     list of conditions and the following disclaimer. 
    -028     2. Redistributions in binary form must reproduce the above copyright notice,
    -029     this list of conditions and the following disclaimer in the documentation
    -030     and/or other materials provided with the distribution. 
    -031    
    -032     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -033     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -034     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -035     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -036     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -037     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -038     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -039     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -040     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -041     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -042     */
    -043    
    -044    /**
    -045     * Writes data to an iCalendar JSON data stream (jCal).
    -046     * @author Michael Angstadt
    -047     * @see <a href="http://tools.ietf.org/html/draft-ietf-jcardcal-jcal-05">jCal
    -048     * draft</a>
    -049     */
    -050    public class JCalRawWriter implements Closeable {
    -051            private final Writer writer;
    -052            private final boolean wrapInArray;
    -053            private final LinkedList<Info> stack = new LinkedList<Info>();
    -054            private JsonGenerator jg;
    -055            private boolean indent = false;
    -056            private boolean componentEnded = false;
    -057    
    -058            /**
    -059             * Creates a new raw writer.
    -060             * @param writer the writer to the data stream
    -061             * @param wrapInArray true to wrap everything in an array, false not to
    -062             * (useful when writing more than one iCalendar object)
    -063             */
    -064            public JCalRawWriter(Writer writer, boolean wrapInArray) {
    -065                    this.writer = writer;
    -066                    this.wrapInArray = wrapInArray;
    -067            }
    -068    
    -069            /**
    -070             * Gets whether or not the JSON will be pretty-printed.
    -071             * @return true if it will be pretty-printed, false if not (defaults to
    -072             * false)
    -073             */
    -074            public boolean isIndent() {
    -075                    return indent;
    -076            }
    -077    
    -078            /**
    -079             * Sets whether or not to pretty-print the JSON.
    -080             * @param indent true to pretty-print it, false not to (defaults to false)
    -081             */
    -082            public void setIndent(boolean indent) {
    -083                    this.indent = indent;
    -084            }
    -085    
    -086            /**
    -087             * Writes the beginning of a new component array.
    -088             * @param componentName the component name (e.g. "vevent")
    -089             * @throws IOException if there's an I/O problem
    -090             */
    -091            public void writeStartComponent(String componentName) throws IOException {
    -092                    if (jg == null) {
    -093                            init();
    -094                    }
    -095    
    -096                    componentEnded = false;
    -097    
    -098                    if (!stack.isEmpty()) {
    -099                            Info parent = stack.getLast();
    -100                            if (!parent.wroteEndPropertiesArray) {
    -101                                    jg.writeEndArray();
    -102                                    parent.wroteEndPropertiesArray = true;
    -103                            }
    -104                            if (!parent.wroteStartSubComponentsArray) {
    -105                                    jg.writeStartArray();
    -106                                    parent.wroteStartSubComponentsArray = true;
    -107                            }
    -108                    }
    -109    
    -110                    jg.writeStartArray();
    -111                    indent(stack.size() * 2);
    -112                    jg.writeString(componentName);
    -113                    jg.writeStartArray(); //start properties array
    -114    
    -115                    stack.add(new Info());
    -116            }
    -117    
    -118            /**
    -119             * Closes the current component array.
    -120             * @throws IllegalStateException if there are no open components (
    -121             * {@link #writeStartComponent(String)} must be called first)
    -122             * @throws IOException if there's an I/O problem
    -123             */
    -124            public void writeEndComponent() throws IOException {
    -125                    if (stack.isEmpty()) {
    -126                            throw new IllegalStateException("Call \"writeStartComponent\" first.");
    -127                    }
    -128                    Info cur = stack.removeLast();
    -129    
    -130                    if (!cur.wroteEndPropertiesArray) {
    -131                            jg.writeEndArray();
    -132                    }
    -133                    if (!cur.wroteStartSubComponentsArray) {
    -134                            jg.writeStartArray();
    -135                    }
    -136    
    -137                    jg.writeEndArray(); //end sub-components array
    -138                    jg.writeEndArray(); //end the array of this component
    -139    
    -140                    componentEnded = true;
    -141            }
    -142    
    -143            /**
    -144             * Writes a property to the current component.
    -145             * @param propertyName the property name (e.g. "version")
    -146             * @param dataType the property's data type (e.g. "text")
    -147             * @param value the property value
    -148             * @throws IllegalStateException if there are no open components (
    -149             * {@link #writeStartComponent(String)} must be called first) or if the last
    -150             * method called was {@link #writeEndComponent()}.
    -151             * @throws IOException if there's an I/O problem
    -152             */
    -153            public void writeProperty(String propertyName, ICalDataType dataType, JCalValue value) throws IOException {
    -154                    writeProperty(propertyName, new ICalParameters(), dataType, value);
    -155            }
    -156    
    -157            /**
    -158             * Writes a property to the current component.
    -159             * @param propertyName the property name (e.g. "version")
    -160             * @param parameters the parameters
    -161             * @param dataType the property's data type (e.g. "text")
    -162             * @param value the property value
    -163             * @throws IllegalStateException if there are no open components (
    -164             * {@link #writeStartComponent(String)} must be called first) or if the last
    -165             * method called was {@link #writeEndComponent()}.
    -166             * @throws IOException if there's an I/O problem
    -167             */
    -168            public void writeProperty(String propertyName, ICalParameters parameters, ICalDataType dataType, JCalValue value) throws IOException {
    -169                    if (stack.isEmpty()) {
    -170                            throw new IllegalStateException("Call \"writeStartComponent\" first.");
    -171                    }
    -172                    if (componentEnded) {
    -173                            throw new IllegalStateException("Cannot write a property after calling \"writeEndComponent\".");
    -174                    }
    -175    
    -176                    jg.writeStartArray();
    -177                    indent(stack.size() * 2);
    -178    
    -179                    //write the property name
    -180                    jg.writeString(propertyName);
    -181    
    -182                    //write parameters
    -183                    jg.writeStartObject();
    -184                    for (Map.Entry<String, List<String>> entry : parameters) {
    -185                            String name = entry.getKey().toLowerCase();
    -186                            List<String> values = entry.getValue();
    -187                            if (values.isEmpty()) {
    -188                                    continue;
    -189                            }
    -190    
    -191                            if (values.size() == 1) {
    -192                                    jg.writeStringField(name, values.get(0));
    -193                            } else {
    -194                                    jg.writeArrayFieldStart(name);
    -195                                    for (String paramValue : values) {
    -196                                            jg.writeString(paramValue);
    -197                                    }
    -198                                    jg.writeEndArray();
    -199                            }
    -200                    }
    -201                    jg.writeEndObject();
    -202    
    -203                    //write data type
    -204                    jg.writeString((dataType == null) ? "unknown" : dataType.getName().toLowerCase());
    -205    
    -206                    //write value
    -207                    for (JsonValue jsonValue : value.getValues()) {
    -208                            writeValue(jsonValue);
    -209                    }
    -210    
    -211                    jg.writeEndArray();
    -212            }
    -213    
    -214            private void writeValue(JsonValue jsonValue) throws IOException {
    -215                    if (jsonValue.isNull()) {
    -216                            jg.writeNull();
    -217                            return;
    -218                    }
    -219    
    -220                    Object val = jsonValue.getValue();
    -221                    if (val != null) {
    -222                            if (val instanceof Byte) {
    -223                                    jg.writeNumber((Byte) val);
    -224                            } else if (val instanceof Short) {
    -225                                    jg.writeNumber((Short) val);
    -226                            } else if (val instanceof Integer) {
    -227                                    jg.writeNumber((Integer) val);
    -228                            } else if (val instanceof Long) {
    -229                                    jg.writeNumber((Long) val);
    -230                            } else if (val instanceof Float) {
    -231                                    jg.writeNumber((Float) val);
    -232                            } else if (val instanceof Double) {
    -233                                    jg.writeNumber((Double) val);
    -234                            } else if (val instanceof Boolean) {
    -235                                    jg.writeBoolean((Boolean) val);
    -236                            } else {
    -237                                    jg.writeString(val.toString());
    -238                            }
    -239                            return;
    -240                    }
    -241    
    -242                    List<JsonValue> array = jsonValue.getArray();
    -243                    if (array != null) {
    -244                            jg.writeStartArray();
    -245                            for (JsonValue element : array) {
    -246                                    writeValue(element);
    -247                            }
    -248                            jg.writeEndArray();
    -249                            return;
    -250                    }
    -251    
    -252                    Map<String, JsonValue> object = jsonValue.getObject();
    -253                    if (object != null) {
    -254                            jg.writeStartObject();
    -255                            for (Map.Entry<String, JsonValue> entry : object.entrySet()) {
    -256                                    jg.writeFieldName(entry.getKey());
    -257                                    writeValue(entry.getValue());
    -258                            }
    -259                            jg.writeEndObject();
    -260                            return;
    -261                    }
    -262            }
    -263    
    -264            /**
    -265             * Checks to see if pretty-printing is enabled, and adds indentation
    -266             * whitespace if it is.
    -267             * @param spaces the number of spaces to indent with
    -268             * @throws IOException
    -269             */
    -270            private void indent(int spaces) throws IOException {
    -271                    if (indent) {
    -272                            jg.writeRaw(NEWLINE);
    -273                            for (int i = 0; i < spaces; i++) {
    -274                                    jg.writeRaw(' ');
    -275                            }
    -276                    }
    -277            }
    -278    
    -279            /**
    -280             * Finishes writing the JSON document so that it is syntactically correct.
    -281             * No more data can be written once this method is called.
    -282             * @throws IOException if there's a problem closing the stream
    -283             */
    -284            public void closeJsonStream() throws IOException {
    -285                    if (jg == null) {
    -286                            return;
    -287                    }
    -288    
    -289                    while (!stack.isEmpty()) {
    -290                            writeEndComponent();
    -291                    }
    -292    
    -293                    if (wrapInArray) {
    -294                            indent(0);
    -295                            jg.writeEndArray();
    -296                    }
    -297    
    -298                    jg.close();
    -299            }
    -300    
    -301            /**
    -302             * Finishes writing the JSON document and closes the underlying
    -303             * {@link Writer}.
    -304             * @throws IOException if there's a problem closing the stream
    -305             */
    -306            public void close() throws IOException {
    -307                    if (jg == null) {
    -308                            return;
    -309                    }
    -310    
    -311                    closeJsonStream();
    -312                    writer.close();
    -313            }
    -314    
    -315            private void init() throws IOException {
    -316                    JsonFactory factory = new JsonFactory();
    -317                    factory.configure(Feature.AUTO_CLOSE_TARGET, false);
    -318                    jg = factory.createJsonGenerator(writer);
    -319    
    -320                    if (wrapInArray) {
    -321                            jg.writeStartArray();
    -322                            indent(0);
    -323                    }
    -324            }
    -325    
    -326            private static class Info {
    -327                    public boolean wroteEndPropertiesArray = false;
    -328                    public boolean wroteStartSubComponentsArray = false;
    -329            }
    -330    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalReader.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalReader.html deleted file mode 100644 index 4d3cc394..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalReader.html +++ /dev/null @@ -1,361 +0,0 @@ - - -
    -001    package biweekly.io.json;
    -002    
    -003    import static biweekly.util.IOUtils.utf8Reader;
    -004    import static biweekly.util.StringUtils.NEWLINE;
    -005    
    -006    import java.io.Closeable;
    -007    import java.io.File;
    -008    import java.io.FileNotFoundException;
    -009    import java.io.IOException;
    -010    import java.io.InputStream;
    -011    import java.io.Reader;
    -012    import java.io.StringReader;
    -013    import java.util.ArrayList;
    -014    import java.util.Arrays;
    -015    import java.util.HashMap;
    -016    import java.util.List;
    -017    import java.util.Map;
    -018    
    -019    import biweekly.ICalDataType;
    -020    import biweekly.ICalendar;
    -021    import biweekly.component.ICalComponent;
    -022    import biweekly.component.marshaller.ICalComponentMarshaller;
    -023    import biweekly.component.marshaller.ICalendarMarshaller;
    -024    import biweekly.io.CannotParseException;
    -025    import biweekly.io.ICalMarshallerRegistrar;
    -026    import biweekly.io.SkipMeException;
    -027    import biweekly.io.json.JCalRawReader.JCalDataStreamListener;
    -028    import biweekly.parameter.ICalParameters;
    -029    import biweekly.property.ICalProperty;
    -030    import biweekly.property.RawProperty;
    -031    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -032    import biweekly.property.marshaller.ICalPropertyMarshaller.Result;
    -033    import biweekly.property.marshaller.RawPropertyMarshaller;
    -034    
    -035    import com.fasterxml.jackson.core.JsonParseException;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * <p>
    -064     * Parses {@link ICalendar} objects from a jCal data stream (JSON).
    -065     * </p>
    -066     * <p>
    -067     * <b>Example:</b>
    -068     * 
    -069     * <pre class="brush:java">
    -070     * InputStream in = ...
    -071     * JCalReader jcalReader = new JCalReader(in);
    -072     * ICalendar ical;
    -073     * while ((ical = jcalReader.readNext()) != null){
    -074     *   ...
    -075     * }
    -076     * jcalReader.close();
    -077     * </pre>
    -078     * 
    -079     * </p>
    -080     * @author Michael Angstadt
    -081     * @see <a href="http://tools.ietf.org/html/draft-ietf-jcardcal-jcal-05">jCal
    -082     * draft</a>
    -083     */
    -084    public class JCalReader implements Closeable {
    -085            private static final ICalendarMarshaller icalMarshaller = ICalMarshallerRegistrar.getICalendarMarshaller();
    -086            private ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -087            private final JCalRawReader reader;
    -088            private final List<String> warnings = new ArrayList<String>();
    -089    
    -090            /**
    -091             * Creates a jCard reader.
    -092             * @param json the JSON string
    -093             */
    -094            public JCalReader(String json) {
    -095                    this(new StringReader(json));
    -096            }
    -097    
    -098            /**
    -099             * Creates a jCard reader.
    -100             * @param in the input stream to read the vCards from
    -101             */
    -102            public JCalReader(InputStream in) {
    -103                    this(utf8Reader(in));
    -104            }
    -105    
    -106            /**
    -107             * Creates a jCard reader.
    -108             * @param file the file to read the vCards from
    -109             * @throws FileNotFoundException if the file doesn't exist
    -110             */
    -111            public JCalReader(File file) throws FileNotFoundException {
    -112                    this(utf8Reader(file));
    -113            }
    -114    
    -115            /**
    -116             * Creates a jCard reader.
    -117             * @param reader the reader to read the vCards from
    -118             */
    -119            public JCalReader(Reader reader) {
    -120                    this.reader = new JCalRawReader(reader);
    -121            }
    -122    
    -123            /**
    -124             * Gets the warnings from the last iCalendar object that was unmarshalled.
    -125             * This list is reset every time a new iCalendar object is read.
    -126             * @return the warnings or empty list if there were no warnings
    -127             */
    -128            public List<String> getWarnings() {
    -129                    return new ArrayList<String>(warnings);
    -130            }
    -131    
    -132            /**
    -133             * <p>
    -134             * Registers an experimental property marshaller. Can also be used to
    -135             * override the marshaller of a standard property (such as DTSTART). Calling
    -136             * this method is the same as calling:
    -137             * </p>
    -138             * <p>
    -139             * {@code getRegistrar().register(marshaller)}.
    -140             * </p>
    -141             * @param marshaller the marshaller to register
    -142             */
    -143            public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -144                    registrar.register(marshaller);
    -145            }
    -146    
    -147            /**
    -148             * <p>
    -149             * Registers an experimental component marshaller. Can also be used to
    -150             * override the marshaller of a standard component (such as VEVENT). Calling
    -151             * this method is the same as calling:
    -152             * </p>
    -153             * <p>
    -154             * {@code getRegistrar().register(marshaller)}.
    -155             * </p>
    -156             * @param marshaller the marshaller to register
    -157             */
    -158            public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -159                    registrar.register(marshaller);
    -160            }
    -161    
    -162            /**
    -163             * Gets the object that manages the component/property marshaller objects.
    -164             * @return the marshaller registrar
    -165             */
    -166            public ICalMarshallerRegistrar getRegistrar() {
    -167                    return registrar;
    -168            }
    -169    
    -170            /**
    -171             * Sets the object that manages the component/property marshaller objects.
    -172             * @param registrar the marshaller registrar
    -173             */
    -174            public void setRegistrar(ICalMarshallerRegistrar registrar) {
    -175                    this.registrar = registrar;
    -176            }
    -177    
    -178            /**
    -179             * Reads the next iCalendar object from the JSON data stream.
    -180             * @return the iCalendar object or null if there are no more
    -181             * @throws JCalParseException if the jCal syntax is incorrect (the JSON
    -182             * syntax may be valid, but it is not in the correct jCal format).
    -183             * @throws JsonParseException if the JSON syntax is incorrect
    -184             * @throws IOException if there is a problem reading from the data stream
    -185             */
    -186            public ICalendar readNext() throws IOException {
    -187                    if (reader.eof()) {
    -188                            return null;
    -189                    }
    -190    
    -191                    warnings.clear();
    -192    
    -193                    JCalDataStreamListenerImpl listener = new JCalDataStreamListenerImpl();
    -194                    reader.readNext(listener);
    -195                    return listener.getICalendar();
    -196            }
    -197    
    -198            private void addWarning(String message, String propertyName) {
    -199                    StringBuilder sb = new StringBuilder();
    -200                    sb.append("Line ").append(reader.getLineNum());
    -201                    if (propertyName != null) {
    -202                            sb.append(" (").append(propertyName).append(" property)");
    -203                    }
    -204                    sb.append(": ").append(message);
    -205    
    -206                    warnings.add(sb.toString());
    -207            }
    -208    
    -209            //@Override
    -210            public void close() throws IOException {
    -211                    reader.close();
    -212            }
    -213    
    -214            private class JCalDataStreamListenerImpl implements JCalDataStreamListener {
    -215                    private final Map<List<String>, ICalComponent> components = new HashMap<List<String>, ICalComponent>();
    -216    
    -217                    public void readProperty(List<String> componentHierarchy, String propertyName, ICalParameters parameters, ICalDataType dataType, JCalValue value) {
    -218                            //get the component that the property belongs to
    -219                            ICalComponent parent = components.get(componentHierarchy);
    -220    
    -221                            //unmarshal the property
    -222                            ICalPropertyMarshaller<? extends ICalProperty> m = registrar.getPropertyMarshaller(propertyName);
    -223                            ICalProperty property = null;
    -224                            try {
    -225                                    Result<? extends ICalProperty> result = m.parseJson(value, dataType, parameters);
    -226    
    -227                                    for (String warning : result.getWarnings()) {
    -228                                            addWarning(warning, propertyName);
    -229                                    }
    -230    
    -231                                    property = result.getProperty();
    -232                            } catch (SkipMeException e) {
    -233                                    if (e.getMessage() == null) {
    -234                                            addWarning("Property has requested that it be skipped.", propertyName);
    -235                                    } else {
    -236                                            addWarning("Property has requested that it be skipped: " + e.getMessage(), propertyName);
    -237                                    }
    -238                            } catch (CannotParseException e) {
    -239                                    Result<? extends ICalProperty> result = new RawPropertyMarshaller(propertyName).parseJson(value, dataType, parameters);
    -240                                    for (String warning : result.getWarnings()) {
    -241                                            addWarning(warning, propertyName);
    -242                                    }
    -243                                    property = result.getProperty();
    -244    
    -245                                    String valueStr = ((RawProperty) property).getValue();
    -246                                    if (e.getMessage() == null) {
    -247                                            addWarning("Property value could not be unmarshalled: " + valueStr, propertyName);
    -248                                    } else {
    -249                                            addWarning("Property value could not be unmarshalled." + NEWLINE + "  Value: " + valueStr + NEWLINE + "  Reason: " + e.getMessage(), propertyName);
    -250                                    }
    -251                            }
    -252    
    -253                            if (property != null) {
    -254                                    parent.addProperty(property);
    -255                            }
    -256                    }
    -257    
    -258                    public void readComponent(List<String> parentHierarchy, String componentName) {
    -259                            ICalComponentMarshaller<? extends ICalComponent> m = registrar.getComponentMarshaller(componentName);
    -260                            ICalComponent component = m.emptyInstance();
    -261    
    -262                            ICalComponent parent = components.get(parentHierarchy);
    -263                            if (parent != null) {
    -264                                    parent.addComponent(component);
    -265                            }
    -266    
    -267                            List<String> hierarchy = new ArrayList<String>(parentHierarchy);
    -268                            hierarchy.add(componentName);
    -269                            components.put(hierarchy, component);
    -270                    }
    -271    
    -272                    public ICalendar getICalendar() {
    -273                            if (components.isEmpty()) {
    -274                                    //EOF
    -275                                    return null;
    -276                            }
    -277    
    -278                            ICalComponent component = components.get(Arrays.asList(icalMarshaller.getComponentName().toLowerCase()));
    -279                            if (component == null) {
    -280                                    //should never happen because the parser always looks for a "vcalendar" component
    -281                                    return null;
    -282                            }
    -283    
    -284                            if (component instanceof ICalendar) {
    -285                                    //should happen every time
    -286                                    return (ICalendar) component;
    -287                            }
    -288    
    -289                            //this will only happen if the user decides to override the ICalendarMarshaller for some reason
    -290                            ICalendar ical = icalMarshaller.emptyInstance();
    -291                            ical.addComponent(component);
    -292                            return ical;
    -293                    }
    -294            }
    -295    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalValue.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalValue.html deleted file mode 100644 index 3a156c6b..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalValue.html +++ /dev/null @@ -1,419 +0,0 @@ - - -
    -001    package biweekly.io.json;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Arrays;
    -005    import java.util.Collections;
    -006    import java.util.LinkedHashMap;
    -007    import java.util.List;
    -008    import java.util.Map;
    -009    
    -010    import biweekly.util.ListMultimap;
    -011    
    -012    /*
    -013     Copyright (c) 2013, Michael Angstadt
    -014     All rights reserved.
    -015    
    -016     Redistribution and use in source and binary forms, with or without
    -017     modification, are permitted provided that the following conditions are met: 
    -018    
    -019     1. Redistributions of source code must retain the above copyright notice, this
    -020     list of conditions and the following disclaimer. 
    -021     2. Redistributions in binary form must reproduce the above copyright notice,
    -022     this list of conditions and the following disclaimer in the documentation
    -023     and/or other materials provided with the distribution. 
    -024    
    -025     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -026     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -027     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -028     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -029     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -030     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -031     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -032     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -033     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -034     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -035     */
    -036    
    -037    /**
    -038     * Holds the value of a jCal property.
    -039     * @author Michael Angstadt
    -040     */
    -041    public class JCalValue {
    -042            private final List<JsonValue> values;
    -043    
    -044            /**
    -045             * Creates a new jCal value.
    -046             * @param values the values
    -047             */
    -048            public JCalValue(List<JsonValue> values) {
    -049                    this.values = Collections.unmodifiableList(values);
    -050            }
    -051    
    -052            /**
    -053             * Creates a new jCal value.
    -054             * @param values the values
    -055             */
    -056            public JCalValue(JsonValue... values) {
    -057                    this.values = Arrays.asList(values); //unmodifiable
    -058            }
    -059    
    -060            /**
    -061             * Creates a single-valued value.
    -062             * @param value the value
    -063             * @return the jCal value
    -064             */
    -065            public static JCalValue single(Object value) {
    -066                    return new JCalValue(new JsonValue(value));
    -067            }
    -068    
    -069            /**
    -070             * Creates a multi-valued value.
    -071             * @param values the values
    -072             * @return the jCal value
    -073             */
    -074            public static JCalValue multi(Object... values) {
    -075                    return multi(Arrays.asList(values));
    -076            }
    -077    
    -078            /**
    -079             * Creates a multi-valued value.
    -080             * @param values the values
    -081             * @return the jCal value
    -082             */
    -083            public static JCalValue multi(List<?> values) {
    -084                    List<JsonValue> multiValues = new ArrayList<JsonValue>(values.size());
    -085                    for (Object value : values) {
    -086                            multiValues.add(new JsonValue(value));
    -087                    }
    -088                    return new JCalValue(multiValues);
    -089            }
    -090    
    -091            /**
    -092             * <p>
    -093             * Creates a structured value.
    -094             * </p>
    -095             * <p>
    -096             * This method accepts a vararg of {@link Object} instances. {@link List}
    -097             * objects will be treated as multi-valued components. All other objects.
    -098             * Null values will be treated as empty components.
    -099             * </p>
    -100             * @param values the values
    -101             * @return the jCal value
    -102             */
    -103            public static JCalValue structured(Object... values) {
    -104                    List<List<?>> valuesList = new ArrayList<List<?>>(values.length);
    -105                    for (Object value : values) {
    -106                            List<?> list = (value instanceof List) ? (List<?>) value : Arrays.asList(value);
    -107                            valuesList.add(list);
    -108                    }
    -109                    return structured(valuesList);
    -110            }
    -111    
    -112            /**
    -113             * Creates a structured value.
    -114             * @param values the values
    -115             * @return the jCal value
    -116             */
    -117            public static JCalValue structured(List<List<?>> values) {
    -118                    List<JsonValue> array = new ArrayList<JsonValue>(values.size());
    -119    
    -120                    for (List<?> list : values) {
    -121                            if (list.isEmpty()) {
    -122                                    array.add(new JsonValue(""));
    -123                                    continue;
    -124                            }
    -125    
    -126                            if (list.size() == 1) {
    -127                                    Object value = list.get(0);
    -128                                    if (value == null) {
    -129                                            value = "";
    -130                                    }
    -131                                    array.add(new JsonValue(value));
    -132                                    continue;
    -133                            }
    -134    
    -135                            List<JsonValue> subArray = new ArrayList<JsonValue>(list.size());
    -136                            for (Object value : list) {
    -137                                    if (value == null) {
    -138                                            value = "";
    -139                                    }
    -140                                    subArray.add(new JsonValue(value));
    -141                            }
    -142                            array.add(new JsonValue(subArray));
    -143                    }
    -144    
    -145                    return new JCalValue(new JsonValue(array));
    -146            }
    -147    
    -148            /**
    -149             * Creates an object value.
    -150             * @param value the object
    -151             * @return the jCal value
    -152             */
    -153            public static JCalValue object(ListMultimap<String, Object> value) {
    -154                    Map<String, JsonValue> object = new LinkedHashMap<String, JsonValue>();
    -155                    for (Map.Entry<String, List<Object>> entry : value) {
    -156                            String key = entry.getKey();
    -157                            List<Object> list = entry.getValue();
    -158    
    -159                            JsonValue v;
    -160                            if (list.size() == 1) {
    -161                                    v = new JsonValue(list.get(0));
    -162                            } else {
    -163                                    List<JsonValue> array = new ArrayList<JsonValue>(list.size());
    -164                                    for (Object element : list) {
    -165                                            array.add(new JsonValue(element));
    -166                                    }
    -167                                    v = new JsonValue(array);
    -168                            }
    -169                            object.put(key, v);
    -170                    }
    -171                    return new JCalValue(new JsonValue(object));
    -172            }
    -173    
    -174            /**
    -175             * Gets the raw JSON values. Use one of the "{@code as*}" methods to parse
    -176             * the values as one of the standard jCal values.
    -177             * @return the JSON values
    -178             */
    -179            public List<JsonValue> getValues() {
    -180                    return values;
    -181            }
    -182    
    -183            /**
    -184             * Parses this jCal value as a single-valued property value.
    -185             * @return the value or empty string if not found
    -186             */
    -187            public String asSingle() {
    -188                    if (values.isEmpty()) {
    -189                            return "";
    -190                    }
    -191    
    -192                    JsonValue first = values.get(0);
    -193                    if (first.isNull()) {
    -194                            return "";
    -195                    }
    -196    
    -197                    Object obj = first.getValue();
    -198                    if (obj != null) {
    -199                            return obj.toString();
    -200                    }
    -201    
    -202                    //get the first element of the array
    -203                    List<JsonValue> array = first.getArray();
    -204                    if (array != null && !array.isEmpty()) {
    -205                            obj = array.get(0).getValue();
    -206                            if (obj != null) {
    -207                                    return obj.toString();
    -208                            }
    -209                    }
    -210    
    -211                    return "";
    -212            }
    -213    
    -214            /**
    -215             * Parses this jCal value as a structured property value.
    -216             * @return the structured values or empty list if not found
    -217             */
    -218            public List<List<String>> asStructured() {
    -219                    if (values.isEmpty()) {
    -220                            return Collections.emptyList();
    -221                    }
    -222    
    -223                    JsonValue first = values.get(0);
    -224    
    -225                    //["request-status", {}, "text", ["2.0", "Success"] ]
    -226                    List<JsonValue> array = first.getArray();
    -227                    if (array != null) {
    -228                            List<List<String>> valuesStr = new ArrayList<List<String>>(array.size());
    -229                            for (JsonValue value : array) {
    -230                                    if (value.isNull()) {
    -231                                            valuesStr.add(Arrays.asList(""));
    -232                                            continue;
    -233                                    }
    -234    
    -235                                    Object obj = value.getValue();
    -236                                    if (obj != null) {
    -237                                            valuesStr.add(Arrays.asList(obj.toString()));
    -238                                            continue;
    -239                                    }
    -240    
    -241                                    List<JsonValue> subArray = value.getArray();
    -242                                    if (subArray != null) {
    -243                                            List<String> subValuesStr = new ArrayList<String>(subArray.size());
    -244                                            for (JsonValue subArrayValue : subArray) {
    -245                                                    if (subArrayValue.isNull()) {
    -246                                                            subValuesStr.add("");
    -247                                                            continue;
    -248                                                    }
    -249    
    -250                                                    obj = subArrayValue.getValue();
    -251                                                    if (obj != null) {
    -252                                                            subValuesStr.add(obj.toString());
    -253                                                            continue;
    -254                                                    }
    -255                                            }
    -256                                            valuesStr.add(subValuesStr);
    -257                                    }
    -258                            }
    -259                            return valuesStr;
    -260                    }
    -261    
    -262                    //get the first value if it's not enclosed in an array
    -263                    //["request-status", {}, "text", "2.0"]
    -264                    Object obj = first.getValue();
    -265                    if (obj != null) {
    -266                            List<List<String>> values = new ArrayList<List<String>>(1);
    -267                            values.add(Arrays.asList(obj.toString()));
    -268                            return values;
    -269                    }
    -270    
    -271                    //["request-status", {}, "text", null]
    -272                    if (first.isNull()) {
    -273                            List<List<String>> values = new ArrayList<List<String>>(1);
    -274                            values.add(Arrays.asList(""));
    -275                            return values;
    -276                    }
    -277    
    -278                    return Collections.emptyList();
    -279            }
    -280    
    -281            /**
    -282             * Parses this jCal value as a multi-valued property value.
    -283             * @return the values or empty list if not found
    -284             */
    -285            public List<String> asMulti() {
    -286                    if (values.isEmpty()) {
    -287                            return Collections.emptyList();
    -288                    }
    -289    
    -290                    List<String> multi = new ArrayList<String>(values.size());
    -291                    for (JsonValue value : values) {
    -292                            if (value.isNull()) {
    -293                                    multi.add("");
    -294                                    continue;
    -295                            }
    -296    
    -297                            Object obj = value.getValue();
    -298                            if (obj != null) {
    -299                                    multi.add(obj.toString());
    -300                                    continue;
    -301                            }
    -302                    }
    -303                    return multi;
    -304            }
    -305    
    -306            /**
    -307             * Parses this jCal value as an object property value.
    -308             * @return the object or an empty map if not found
    -309             */
    -310            public ListMultimap<String, String> asObject() {
    -311                    if (values.isEmpty()) {
    -312                            return new ListMultimap<String, String>(0);
    -313                    }
    -314    
    -315                    Map<String, JsonValue> map = values.get(0).getObject();
    -316                    if (map == null) {
    -317                            return new ListMultimap<String, String>(0);
    -318                    }
    -319    
    -320                    ListMultimap<String, String> values = new ListMultimap<String, String>();
    -321                    for (Map.Entry<String, JsonValue> entry : map.entrySet()) {
    -322                            String key = entry.getKey();
    -323                            JsonValue value = entry.getValue();
    -324    
    -325                            if (value.isNull()) {
    -326                                    values.put(key, "");
    -327                                    continue;
    -328                            }
    -329    
    -330                            Object obj = value.getValue();
    -331                            if (obj != null) {
    -332                                    values.put(key, obj.toString());
    -333                                    continue;
    -334                            }
    -335    
    -336                            List<JsonValue> array = value.getArray();
    -337                            if (array != null) {
    -338                                    for (JsonValue element : array) {
    -339                                            if (element.isNull()) {
    -340                                                    values.put(key, "");
    -341                                                    continue;
    -342                                            }
    -343    
    -344                                            obj = element.getValue();
    -345                                            if (obj != null) {
    -346                                                    values.put(key, obj.toString());
    -347                                            }
    -348                                    }
    -349                            }
    -350                    }
    -351                    return values;
    -352            }
    -353    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalWriter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalWriter.html deleted file mode 100644 index f59f1549..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JCalWriter.html +++ /dev/null @@ -1,340 +0,0 @@ - - -
    -001    package biweekly.io.json;
    -002    
    -003    import static biweekly.util.IOUtils.utf8Writer;
    -004    
    -005    import java.io.Closeable;
    -006    import java.io.File;
    -007    import java.io.IOException;
    -008    import java.io.OutputStream;
    -009    import java.io.Writer;
    -010    
    -011    import biweekly.ICalDataType;
    -012    import biweekly.ICalendar;
    -013    import biweekly.component.ICalComponent;
    -014    import biweekly.component.marshaller.ICalComponentMarshaller;
    -015    import biweekly.io.ICalMarshallerRegistrar;
    -016    import biweekly.io.SkipMeException;
    -017    import biweekly.parameter.ICalParameters;
    -018    import biweekly.property.ICalProperty;
    -019    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -020    
    -021    /*
    -022     Copyright (c) 2013, Michael Angstadt
    -023     All rights reserved.
    -024    
    -025     Redistribution and use in source and binary forms, with or without
    -026     modification, are permitted provided that the following conditions are met: 
    -027    
    -028     1. Redistributions of source code must retain the above copyright notice, this
    -029     list of conditions and the following disclaimer. 
    -030     2. Redistributions in binary form must reproduce the above copyright notice,
    -031     this list of conditions and the following disclaimer in the documentation
    -032     and/or other materials provided with the distribution. 
    -033    
    -034     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -035     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -036     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -037     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -038     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -039     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -040     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -041     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -042     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -043     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -044     */
    -045    
    -046    /**
    -047     * <p>
    -048     * Writes {@link ICalendar} objects to a JSON data stream (jCal).
    -049     * </p>
    -050     * <p>
    -051     * <b>Example:</b>
    -052     * 
    -053     * <pre class="brush:java">
    -054     * List&lt;ICalendar&gt; icals = ... 
    -055     * OutputStream out = ...
    -056     * JCalWriter jcalWriter = new JCalWriter(out);
    -057     * for (ICalendar ical : icals){
    -058     *   jcalWriter.write(ical);
    -059     * }
    -060     * jcalWriter.close();
    -061     * </pre>
    -062     * 
    -063     * </p>
    -064     * @author Michael Angstadt
    -065     * @see <a href="http://tools.ietf.org/html/draft-ietf-jcardcal-jcal-05">jCal
    -066     * draft</a>
    -067     */
    -068    public class JCalWriter implements Closeable {
    -069            private ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -070            private final JCalRawWriter writer;
    -071    
    -072            /**
    -073             * Creates a jCal writer that writes to an output stream.
    -074             * @param outputStream the output stream to write to
    -075             */
    -076            public JCalWriter(OutputStream outputStream) {
    -077                    this(utf8Writer(outputStream));
    -078            }
    -079    
    -080            /**
    -081             * Creates a jCal writer that writes to an output stream.
    -082             * @param outputStream the output stream to write to
    -083             * @param wrapInArray true to wrap all iCalendar objects in a parent array,
    -084             * false not to (useful when writing more than one iCalendar object)
    -085             */
    -086            public JCalWriter(OutputStream outputStream, boolean wrapInArray) {
    -087                    this(utf8Writer(outputStream), wrapInArray);
    -088            }
    -089    
    -090            /**
    -091             * Creates a jCal writer that writes to a file.
    -092             * @param file the file to write to
    -093             * @throws IOException if the file cannot be written to
    -094             */
    -095            public JCalWriter(File file) throws IOException {
    -096                    this(utf8Writer(file));
    -097            }
    -098    
    -099            /**
    -100             * Creates a jCal writer that writes to a file.
    -101             * @param file the file to write to
    -102             * @param wrapInArray true to wrap all iCalendar objects in a parent array,
    -103             * false not to (useful when writing more than one iCalendar object)
    -104             * @throws IOException if the file cannot be written to
    -105             */
    -106            public JCalWriter(File file, boolean wrapInArray) throws IOException {
    -107                    this(utf8Writer(file), wrapInArray);
    -108            }
    -109    
    -110            /**
    -111             * Creates a jCal writer that writes to a writer.
    -112             * @param writer the writer to the data stream
    -113             */
    -114            public JCalWriter(Writer writer) {
    -115                    this(writer, false);
    -116            }
    -117    
    -118            /**
    -119             * Creates a jCal writer that writes to a writer.
    -120             * @param writer the writer to the data stream
    -121             * @param wrapInArray true to wrap all iCalendar objects in a parent array,
    -122             * false not to (useful when writing more than one iCalendar object)
    -123             */
    -124            public JCalWriter(Writer writer, boolean wrapInArray) {
    -125                    this.writer = new JCalRawWriter(writer, wrapInArray);
    -126            }
    -127    
    -128            /**
    -129             * <p>
    -130             * Registers an experimental property marshaller. Can also be used to
    -131             * override the marshaller of a standard property (such as DTSTART). Calling
    -132             * this method is the same as calling:
    -133             * </p>
    -134             * <p>
    -135             * {@code getRegistrar().register(marshaller)}.
    -136             * </p>
    -137             * @param marshaller the marshaller to register
    -138             */
    -139            public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -140                    registrar.register(marshaller);
    -141            }
    -142    
    -143            /**
    -144             * <p>
    -145             * Registers an experimental component marshaller. Can also be used to
    -146             * override the marshaller of a standard component (such as VEVENT). Calling
    -147             * this method is the same as calling:
    -148             * </p>
    -149             * <p>
    -150             * {@code getRegistrar().register(marshaller)}.
    -151             * </p>
    -152             * @param marshaller the marshaller to register
    -153             */
    -154            public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -155                    registrar.register(marshaller);
    -156            }
    -157    
    -158            /**
    -159             * Gets the object that manages the component/property marshaller objects.
    -160             * @return the marshaller registrar
    -161             */
    -162            public ICalMarshallerRegistrar getRegistrar() {
    -163                    return registrar;
    -164            }
    -165    
    -166            /**
    -167             * Sets the object that manages the component/property marshaller objects.
    -168             * @param registrar the marshaller registrar
    -169             */
    -170            public void setRegistrar(ICalMarshallerRegistrar registrar) {
    -171                    this.registrar = registrar;
    -172            }
    -173    
    -174            /**
    -175             * Gets whether or not the JSON will be pretty-printed.
    -176             * @return true if it will be pretty-printed, false if not (defaults to
    -177             * false)
    -178             */
    -179            public boolean isIndent() {
    -180                    return writer.isIndent();
    -181            }
    -182    
    -183            /**
    -184             * Sets whether or not to pretty-print the JSON.
    -185             * @param indent true to pretty-print it, false not to (defaults to false)
    -186             */
    -187            public void setIndent(boolean indent) {
    -188                    writer.setIndent(indent);
    -189            }
    -190    
    -191            /**
    -192             * Writes an iCalendar object to the data stream.
    -193             * @param ical the iCalendar object to write
    -194             * @throws IllegalArgumentException if the marshaller class for a component
    -195             * or property object cannot be found (only happens when an experimental
    -196             * property/component marshaller is not registered with the
    -197             * {@code registerMarshaller} method.)
    -198             * @throws IOException if there's a problem writing to the data stream
    -199             */
    -200            public void write(ICalendar ical) throws IOException {
    -201                    writeComponent(ical);
    -202            }
    -203    
    -204            /**
    -205             * Writes a component to the data stream.
    -206             * @param component the component to write
    -207             * @throws IllegalArgumentException if the marshaller class for a component
    -208             * or property object cannot be found (only happens when an experimental
    -209             * property/component marshaller is not registered with the
    -210             * {@code registerMarshaller} method.)
    -211             * @throws IOException if there's a problem writing to the data stream
    -212             */
    -213            @SuppressWarnings({ "rawtypes", "unchecked" })
    -214            private void writeComponent(ICalComponent component) throws IOException {
    -215                    ICalComponentMarshaller compMarshaller = registrar.getComponentMarshaller(component);
    -216                    if (compMarshaller == null) {
    -217                            throw new IllegalArgumentException("No marshaller found for component class \"" + component.getClass().getName() + "\".");
    -218                    }
    -219    
    -220                    writer.writeStartComponent(compMarshaller.getComponentName().toLowerCase());
    -221    
    -222                    //write properties
    -223                    for (Object obj : compMarshaller.getProperties(component)) {
    -224                            ICalProperty property = (ICalProperty) obj;
    -225                            ICalPropertyMarshaller propMarshaller = registrar.getPropertyMarshaller(property);
    -226                            if (propMarshaller == null) {
    -227                                    throw new IllegalArgumentException("No marshaller found for property class \"" + property.getClass().getName() + "\".");
    -228                            }
    -229    
    -230                            //marshal property
    -231                            String propertyName = propMarshaller.getPropertyName().toLowerCase();
    -232                            ICalParameters parameters;
    -233                            JCalValue value;
    -234                            try {
    -235                                    parameters = propMarshaller.prepareParameters(property);
    -236                                    value = propMarshaller.writeJson(property);
    -237                            } catch (SkipMeException e) {
    -238                                    continue;
    -239                            }
    -240    
    -241                            //get the data type
    -242                            ICalDataType dataType = propMarshaller.dataType(property);
    -243    
    -244                            //write property
    -245                            writer.writeProperty(propertyName, parameters, dataType, value);
    -246                    }
    -247    
    -248                    //write sub-components
    -249                    for (Object obj : compMarshaller.getComponents(component)) {
    -250                            ICalComponent subComponent = (ICalComponent) obj;
    -251                            writeComponent(subComponent);
    -252                    }
    -253    
    -254                    writer.writeEndComponent();
    -255            }
    -256    
    -257            /**
    -258             * Finishes writing the JSON document and closes the underlying
    -259             * {@link Writer}.
    -260             * @throws IOException if there's a problem closing the stream
    -261             */
    -262            public void close() throws IOException {
    -263                    writer.close();
    -264            }
    -265    
    -266            /**
    -267             * Finishes writing the JSON document so that it is syntactically correct.
    -268             * No more iCalendar objects can be written once this method is called.
    -269             * @throws IOException if there's a problem writing to the data stream
    -270             */
    -271            public void closeJsonStream() throws IOException {
    -272                    writer.closeJsonStream();
    -273            }
    -274    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JsonValue.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JsonValue.html deleted file mode 100644 index 06fd3806..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/json/JsonValue.html +++ /dev/null @@ -1,232 +0,0 @@ - - -
    -001    package biweekly.io.json;
    -002    
    -003    import java.util.List;
    -004    import java.util.Map;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Represents a JSON value, array, or object.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class JsonValue {
    -036            private final boolean isNull;
    -037            private final Object value;
    -038            private final List<JsonValue> array;
    -039            private final Map<String, JsonValue> object;
    -040    
    -041            /**
    -042             * Creates a JSON value (such as a string or integer).
    -043             * @param value the value
    -044             */
    -045            public JsonValue(Object value) {
    -046                    this.value = value;
    -047                    array = null;
    -048                    object = null;
    -049                    isNull = (value == null);
    -050            }
    -051    
    -052            /**
    -053             * Creates a JSON array.
    -054             * @param array the array elements
    -055             */
    -056            public JsonValue(List<JsonValue> array) {
    -057                    this.array = array;
    -058                    value = null;
    -059                    object = null;
    -060                    isNull = (array == null);
    -061            }
    -062    
    -063            /**
    -064             * Creates a JSON object.
    -065             * @param object the object fields
    -066             */
    -067            public JsonValue(Map<String, JsonValue> object) {
    -068                    this.object = object;
    -069                    value = null;
    -070                    array = null;
    -071                    isNull = (object == null);
    -072            }
    -073    
    -074            /**
    -075             * Gets the JSON value.
    -076             * @return the value or null if it's not a JSON value
    -077             */
    -078            public Object getValue() {
    -079                    return value;
    -080            }
    -081    
    -082            /**
    -083             * Gets the JSON array elements.
    -084             * @return the array elements or null if it's not a JSON array
    -085             */
    -086            public List<JsonValue> getArray() {
    -087                    return array;
    -088            }
    -089    
    -090            /**
    -091             * Gets the JSON object.
    -092             * @return the object or null if it's not a JSON object
    -093             */
    -094            public Map<String, JsonValue> getObject() {
    -095                    return object;
    -096            }
    -097    
    -098            /**
    -099             * Determines if the value is "null" or not.
    -100             * @return true if the value is "null", false if not
    -101             */
    -102            public boolean isNull() {
    -103                    return isNull;
    -104            }
    -105    
    -106            @Override
    -107            public int hashCode() {
    -108                    final int prime = 31;
    -109                    int result = 1;
    -110                    result = prime * result + ((array == null) ? 0 : array.hashCode());
    -111                    result = prime * result + (isNull ? 1231 : 1237);
    -112                    result = prime * result + ((object == null) ? 0 : object.hashCode());
    -113                    result = prime * result + ((value == null) ? 0 : value.hashCode());
    -114                    return result;
    -115            }
    -116    
    -117            @Override
    -118            public boolean equals(Object obj) {
    -119                    if (this == obj)
    -120                            return true;
    -121                    if (obj == null)
    -122                            return false;
    -123                    if (getClass() != obj.getClass())
    -124                            return false;
    -125                    JsonValue other = (JsonValue) obj;
    -126                    if (array == null) {
    -127                            if (other.array != null)
    -128                                    return false;
    -129                    } else if (!array.equals(other.array))
    -130                            return false;
    -131                    if (isNull != other.isNull)
    -132                            return false;
    -133                    if (object == null) {
    -134                            if (other.object != null)
    -135                                    return false;
    -136                    } else if (!object.equals(other.object))
    -137                            return false;
    -138                    if (value == null) {
    -139                            if (other.value != null)
    -140                                    return false;
    -141                    } else if (!value.equals(other.value))
    -142                            return false;
    -143                    return true;
    -144            }
    -145    
    -146            @Override
    -147            public String toString() {
    -148                    if (isNull) {
    -149                            return "NULL";
    -150                    }
    -151    
    -152                    if (value != null) {
    -153                            return "VALUE = " + value;
    -154                    }
    -155    
    -156                    if (array != null) {
    -157                            return "ARRAY = " + array;
    -158                    }
    -159    
    -160                    if (object != null) {
    -161                            return "OBJECT = " + object;
    -162                    }
    -163    
    -164                    return "";
    -165            }
    -166    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldedLineReader.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldedLineReader.html deleted file mode 100644 index 7590012e..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldedLineReader.html +++ /dev/null @@ -1,205 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import java.io.BufferedReader;
    -004    import java.io.IOException;
    -005    import java.io.Reader;
    -006    import java.io.StringReader;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Automatically unfolds lines of text as they are read.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class FoldedLineReader extends BufferedReader {
    -038            private String lastLine;
    -039            private boolean singleSpaceFolding = true;
    -040            private int lastLineNum = 0, lineCount = 0;
    -041    
    -042            /**
    -043             * Creates a new folded line reader.
    -044             * @param reader the reader object to wrap
    -045             */
    -046            public FoldedLineReader(Reader reader) {
    -047                    super(reader);
    -048            }
    -049    
    -050            /**
    -051             * Creates a new folded line reader.
    -052             * @param text the text to read
    -053             */
    -054            public FoldedLineReader(String text) {
    -055                    this(new StringReader(text));
    -056            }
    -057    
    -058            /**
    -059             * Sets whether the reader will only ignore the first whitespace character
    -060             * it encounters at the beginning of a folded line. This setting is enabled
    -061             * by default in order to support iCalendar files generated by Outlook.
    -062             * @param enabled true to enable (default), false to disable
    -063             */
    -064            public void setSingleSpaceFoldingEnabled(boolean enabled) {
    -065                    singleSpaceFolding = enabled;
    -066            }
    -067    
    -068            /**
    -069             * Gets whether the reader will only ignore the first whitespace character
    -070             * it encounters at the beginning of a folded line. This setting is enabled
    -071             * by default in order to support iCalendar files generated by Outlook.
    -072             * @return true if enabled (default), false if disabled
    -073             */
    -074            public boolean isSingleSpaceFoldingEnabled() {
    -075                    return singleSpaceFolding;
    -076            }
    -077    
    -078            /**
    -079             * Gets the starting line number of the last unfolded line that was read.
    -080             * @return the line number
    -081             */
    -082            public int getLineNum() {
    -083                    return lastLineNum;
    -084            }
    -085    
    -086            /**
    -087             * Reads the next non-empty line.
    -088             * @return the next non-empty line or null of EOF
    -089             * @throws IOException
    -090             */
    -091            private String readNonEmptyLine() throws IOException {
    -092                    String line;
    -093                    do {
    -094                            line = super.readLine();
    -095                            if (line != null) {
    -096                                    lineCount++;
    -097                            }
    -098                    } while (line != null && line.length() == 0);
    -099                    return line;
    -100            }
    -101    
    -102            /**
    -103             * Reads the next line, unfolding it if necessary.
    -104             * @return the next line or null if EOF
    -105             * @throws IOException if there's a problem reading from the reader
    -106             */
    -107            @Override
    -108            public String readLine() throws IOException {
    -109                    String wholeLine = (lastLine == null) ? readNonEmptyLine() : lastLine;
    -110                    lastLine = null;
    -111                    if (wholeLine == null) {
    -112                            return null;
    -113                    }
    -114    
    -115                    //long lines are folded
    -116                    lastLineNum = lineCount;
    -117                    StringBuilder wholeLineSb = new StringBuilder(wholeLine);
    -118                    while (true) {
    -119                            String line = readNonEmptyLine();
    -120                            if (line == null) {
    -121                                    break;
    -122                            } else if (line.length() > 0 && Character.isWhitespace(line.charAt(0))) {
    -123                                    //the line was folded
    -124    
    -125                                    int lastWhitespace = 1;
    -126                                    if (!singleSpaceFolding) {
    -127                                            while (lastWhitespace < line.length() && Character.isWhitespace(line.charAt(lastWhitespace))) {
    -128                                                    lastWhitespace++;
    -129                                            }
    -130                                    }
    -131                                    wholeLineSb.append(line.substring(lastWhitespace));
    -132                            } else {
    -133                                    lastLine = line;
    -134                                    break;
    -135                            }
    -136                    }
    -137                    return wholeLineSb.toString();
    -138            }
    -139    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldedLineWriter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldedLineWriter.html deleted file mode 100644 index 8e4185ca..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldedLineWriter.html +++ /dev/null @@ -1,262 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import java.io.IOException;
    -004    import java.io.Writer;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Automatically folds lines as they are written.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class FoldedLineWriter extends Writer {
    -036            private int curLineLength = 0;
    -037            private int lineLength;
    -038            private String indent;
    -039            private String newline;
    -040            private final Writer writer;
    -041    
    -042            /**
    -043             * @param writer the writer object to wrap
    -044             * @param lineLength the maximum length a line can be before it is folded
    -045             * (excluding the newline)
    -046             * @param indent the string to prepend to each folded line (e.g. a single
    -047             * space character)
    -048             * @param newline the newline sequence to use (e.g. "\r\n")
    -049             * @throws IllegalArgumentException if the line length is less than or equal
    -050             * to zero
    -051             * @throws IllegalArgumentException if the length of the indent string is
    -052             * greater than the max line length
    -053             */
    -054            public FoldedLineWriter(Writer writer, int lineLength, String indent, String newline) {
    -055                    setLineLength(lineLength);
    -056                    setIndent(indent);
    -057                    this.writer = writer;
    -058                    this.newline = newline;
    -059            }
    -060    
    -061            /**
    -062             * Writes a string of text, followed by a newline.
    -063             * @param str the text to write
    -064             * @throws IOException if there's a problem writing to the output stream
    -065             */
    -066            public void writeln(String str) throws IOException {
    -067                    write(str);
    -068                    write(newline);
    -069            }
    -070    
    -071            @Override
    -072            public void write(char buf[], int start, int end) throws IOException {
    -073                    write(buf, start, end, lineLength, indent);
    -074            }
    -075    
    -076            /**
    -077             * Writes a portion of an array of characters.
    -078             * @param buf the array of characters
    -079             * @param start the offset from which to start writing characters
    -080             * @param end the number of characters to write
    -081             * @param lineLength the maximum length a line can be before it is folded
    -082             * (excluding the newline)
    -083             * @param indent the indent string to use (e.g. a single space character)
    -084             * @throws IOException if there's a problem writing to the output stream
    -085             */
    -086            public void write(char buf[], int start, int end, int lineLength, String indent) throws IOException {
    -087                    for (int i = start; i < end; i++) {
    -088                            char c = buf[i];
    -089                            if (c == '\n') {
    -090                                    writer.write(buf, start, i - start + 1);
    -091                                    curLineLength = 0;
    -092                                    start = i + 1;
    -093                            } else if (c == '\r') {
    -094                                    if (i == end - 1 || buf[i + 1] != '\n') {
    -095                                            writer.write(buf, start, i - start + 1);
    -096                                            curLineLength = 0;
    -097                                            start = i + 1;
    -098                                    } else {
    -099                                            curLineLength++;
    -100                                    }
    -101                            } else if (curLineLength >= lineLength) {
    -102                                    //if the last characters on the line are whitespace, then exceed the max line length in order to include the whitespace on the same line
    -103                                    //otherwise it will be lost because it will merge with the padding on the next line
    -104                                    if (Character.isWhitespace(c)) {
    -105                                            while (Character.isWhitespace(c) && i < end - 1) {
    -106                                                    i++;
    -107                                                    c = buf[i];
    -108                                            }
    -109                                            if (i == end - 1) {
    -110                                                    //the rest of the char array is whitespace, so leave the loop
    -111                                                    break;
    -112                                            }
    -113                                    }
    -114    
    -115                                    writer.write(buf, start, i - start);
    -116                                    String s = newline + indent;
    -117                                    writer.write(s.toCharArray(), 0, s.length());
    -118                                    start = i;
    -119                                    curLineLength = indent.length() + 1;
    -120                            } else {
    -121                                    curLineLength++;
    -122                            }
    -123                    }
    -124                    writer.write(buf, start, end - start);
    -125            }
    -126    
    -127            @Override
    -128            public void close() throws IOException {
    -129                    writer.close();
    -130            }
    -131    
    -132            @Override
    -133            public void flush() throws IOException {
    -134                    writer.flush();
    -135            }
    -136    
    -137            /**
    -138             * Gets the maximum length a line can be before it is folded (excluding the
    -139             * newline).
    -140             * @return the line length
    -141             */
    -142            public int getLineLength() {
    -143                    return lineLength;
    -144            }
    -145    
    -146            /**
    -147             * Sets the maximum length a line can be before it is folded (excluding the
    -148             * newline).
    -149             * @param lineLength the line length
    -150             * @throws IllegalArgumentException if the line length is less than or equal
    -151             * to zero
    -152             */
    -153            public void setLineLength(int lineLength) {
    -154                    if (lineLength <= 0) {
    -155                            throw new IllegalArgumentException("Line length must be greater than 0.");
    -156                    }
    -157                    this.lineLength = lineLength;
    -158            }
    -159    
    -160            /**
    -161             * Gets the string that is prepended to each folded line.
    -162             * @return the indent string
    -163             */
    -164            public String getIndent() {
    -165                    return indent;
    -166            }
    -167    
    -168            /**
    -169             * Sets the string that is prepended to each folded line.
    -170             * @param indent the indent string (e.g. a single space character)
    -171             * @throws IllegalArgumentException if the length of the indent string is
    -172             * greater than the max line length
    -173             */
    -174            public void setIndent(String indent) {
    -175                    if (indent.length() >= lineLength) {
    -176                            throw new IllegalArgumentException("The length of the indent string must be less than the max line length.");
    -177                    }
    -178                    this.indent = indent;
    -179            }
    -180    
    -181            /**
    -182             * Gets the newline sequence that is used to separate lines.
    -183             * @return the newline sequence
    -184             */
    -185            public String getNewline() {
    -186                    return newline;
    -187            }
    -188    
    -189            /**
    -190             * Sets the newline sequence that is used to separate lines
    -191             * @param newline the newline sequence
    -192             */
    -193            public void setNewline(String newline) {
    -194                    this.newline = newline;
    -195            }
    -196    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldingScheme.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldingScheme.html deleted file mode 100644 index 37f91c7f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/FoldingScheme.html +++ /dev/null @@ -1,142 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * Specifies how an iCalendar object should be folded when written to a string.
    -030     * @author Michael Angstadt
    -031     */
    -032    public class FoldingScheme {
    -033            /**
    -034             * Folds lines according to RFC specification (75 characters not including
    -035             * CRLF, with 1 space as indentation).
    -036             */
    -037            public static final FoldingScheme DEFAULT = new FoldingScheme(75, " ");
    -038    
    -039            private final int lineLength;
    -040            private final String indent;
    -041    
    -042            /**
    -043             * @param lineLength the maximum number of characters that can exist on a
    -044             * line before needing to be folded (not including the newline)
    -045             * @param indent the string to use for indentation
    -046             * @throws IllegalArgumentException if the line length is &lt;= 0, or if the
    -047             * line length is less than the length of the indentation string
    -048             */
    -049            public FoldingScheme(int lineLength, String indent) {
    -050                    if (lineLength <= 0) {
    -051                            throw new IllegalArgumentException("The line length must be greater than 0.");
    -052                    }
    -053                    if (indent.length() > lineLength) {
    -054                            throw new IllegalArgumentException("The line length must be greater than the length of the indentation string.");
    -055                    }
    -056                    this.lineLength = lineLength;
    -057                    this.indent = indent;
    -058            }
    -059    
    -060            /**
    -061             * Gets the maximum number of characters that can exist on a line before
    -062             * needing to be folded (not including the newline).
    -063             * @return the max line length
    -064             */
    -065            public int getLineLength() {
    -066                    return lineLength;
    -067            }
    -068    
    -069            /**
    -070             * Gets the string that is used to indent the folded line.
    -071             * @return the indent string
    -072             */
    -073            public String getIndent() {
    -074                    return indent;
    -075            }
    -076    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.ICalDataStreamListener.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.ICalDataStreamListener.html deleted file mode 100644 index daf2e095..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.ICalDataStreamListener.html +++ /dev/null @@ -1,402 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import static biweekly.util.StringUtils.NEWLINE;
    -004    
    -005    import java.io.Closeable;
    -006    import java.io.IOException;
    -007    import java.io.Reader;
    -008    
    -009    import biweekly.ICalException;
    -010    import biweekly.parameter.ICalParameters;
    -011    
    -012    /*
    -013     Copyright (c) 2013, Michael Angstadt
    -014     All rights reserved.
    -015    
    -016     Redistribution and use in source and binary forms, with or without
    -017     modification, are permitted provided that the following conditions are met: 
    -018    
    -019     1. Redistributions of source code must retain the above copyright notice, this
    -020     list of conditions and the following disclaimer. 
    -021     2. Redistributions in binary form must reproduce the above copyright notice,
    -022     this list of conditions and the following disclaimer in the documentation
    -023     and/or other materials provided with the distribution. 
    -024    
    -025     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -026     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -027     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -028     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -029     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -030     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -031     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -032     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -033     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -034     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -035     */
    -036    
    -037    /**
    -038     * Parses an iCalendar data stream.
    -039     * @author Michael Angstadt
    -040     * @rfc 5545
    -041     */
    -042    public class ICalRawReader implements Closeable {
    -043            private final FoldedLineReader reader;
    -044            private boolean caretDecodingEnabled = true;
    -045            private boolean eof = false;
    -046    
    -047            /**
    -048             * Creates a new reader.
    -049             * @param reader the reader to the data stream
    -050             */
    -051            public ICalRawReader(Reader reader) {
    -052                    this.reader = new FoldedLineReader(reader);
    -053            }
    -054    
    -055            /**
    -056             * Gets the line number of the last line that was read.
    -057             * @return the line number
    -058             */
    -059            public int getLineNum() {
    -060                    return reader.getLineNum();
    -061            }
    -062    
    -063            /**
    -064             * Starts or continues reading from the iCalendar data stream.
    -065             * @param listener handles the iCalendar data as it is read off the wire
    -066             * @throws IOException if there is an I/O problem
    -067             */
    -068            public void start(ICalDataStreamListener listener) throws IOException {
    -069                    String line;
    -070                    while ((line = reader.readLine()) != null) {
    -071                            try {
    -072                                    parseLine(line, listener);
    -073                            } catch (StopReadingException e) {
    -074                                    return;
    -075                            }
    -076                    }
    -077                    eof = true;
    -078            }
    -079    
    -080            private void parseLine(String line, ICalDataStreamListener listener) {
    -081                    String propertyName = null;
    -082                    ICalParameters parameters = new ICalParameters();
    -083                    String value = null;
    -084    
    -085                    char escapeChar = 0; //is the next char escaped?
    -086                    boolean inQuotes = false; //are we inside of double quotes?
    -087                    StringBuilder buffer = new StringBuilder();
    -088                    String curParamName = null;
    -089                    for (int i = 0; i < line.length(); i++) {
    -090                            char ch = line.charAt(i);
    -091                            if (escapeChar != 0) {
    -092                                    if (escapeChar == '\\') {
    -093                                            //backslash escaping in parameter values is not part of the standard
    -094                                            if (ch == '\\') {
    -095                                                    buffer.append(ch);
    -096                                            } else if (ch == 'n' || ch == 'N') {
    -097                                                    //newlines
    -098                                                    buffer.append(NEWLINE);
    -099                                            } else if (ch == '"') {
    -100                                                    //incase a double quote is escaped with a backslash
    -101                                                    buffer.append(ch);
    -102                                            } else {
    -103                                                    //treat the escape character as a normal character because it's not a valid escape sequence
    -104                                                    buffer.append(escapeChar).append(ch);
    -105                                            }
    -106                                    } else if (escapeChar == '^') {
    -107                                            if (ch == '^') {
    -108                                                    buffer.append(ch);
    -109                                            } else if (ch == 'n') {
    -110                                                    buffer.append(NEWLINE);
    -111                                            } else if (ch == '\'') {
    -112                                                    buffer.append('"');
    -113                                            } else {
    -114                                                    //treat the escape character as a normal character because it's not a valid escape sequence
    -115                                                    buffer.append(escapeChar).append(ch);
    -116                                            }
    -117                                    }
    -118                                    escapeChar = 0;
    -119                            } else if (ch == '\\' || (ch == '^' && caretDecodingEnabled)) {
    -120                                    escapeChar = ch;
    -121                            } else if ((ch == ';' || ch == ':') && !inQuotes) {
    -122                                    if (propertyName == null) {
    -123                                            propertyName = buffer.toString();
    -124                                    } else if (curParamName == null) {
    -125                                            //value-less parameter (bad iCal syntax)
    -126                                            String parameterName = buffer.toString();
    -127                                            listener.valuelessParameter(propertyName, parameterName);
    -128                                            parameters.put(parameterName, null);
    -129                                    } else {
    -130                                            //parameter value
    -131                                            String paramValue = buffer.toString();
    -132                                            parameters.put(curParamName, paramValue);
    -133                                            curParamName = null;
    -134                                    }
    -135                                    buffer.setLength(0);
    -136    
    -137                                    if (ch == ':') {
    -138                                            if (i < line.length() - 1) {
    -139                                                    value = line.substring(i + 1);
    -140                                            } else {
    -141                                                    value = "";
    -142                                            }
    -143                                            break;
    -144                                    }
    -145                            } else if (ch == ',' && !inQuotes) {
    -146                                    //multi-valued parameter
    -147                                    parameters.put(curParamName, buffer.toString());
    -148                                    buffer.setLength(0);
    -149                            } else if (ch == '=' && curParamName == null) {
    -150                                    //parameter name
    -151                                    curParamName = buffer.toString();
    -152                                    buffer.setLength(0);
    -153                            } else if (ch == '"') {
    -154                                    inQuotes = !inQuotes;
    -155                            } else {
    -156                                    buffer.append(ch);
    -157                            }
    -158                    }
    -159    
    -160                    if (propertyName == null || value == null) {
    -161                            listener.invalidLine(line);
    -162                            return;
    -163                    }
    -164                    if ("BEGIN".equalsIgnoreCase(propertyName)) {
    -165                            listener.beginComponent(value);
    -166                            return;
    -167                    }
    -168                    if ("END".equalsIgnoreCase(propertyName)) {
    -169                            listener.endComponent(value);
    -170                            return;
    -171                    }
    -172                    listener.readProperty(propertyName, parameters, value);
    -173            }
    -174    
    -175            /**
    -176             * <p>
    -177             * Gets whether the reader will decode parameter values that use circumflex
    -178             * accent encoding (enabled by default). This escaping mechanism allows
    -179             * newlines and double quotes to be included in parameter values.
    -180             * </p>
    -181             * 
    -182             * <table border="1">
    -183             * <tr>
    -184             * <th>Raw Character</th>
    -185             * <th>Encoded Character</th>
    -186             * </tr>
    -187             * <tr>
    -188             * <td>{@code "}</td>
    -189             * <td>{@code ^'}</td>
    -190             * </tr>
    -191             * <tr>
    -192             * <td><i>newline</i></td>
    -193             * <td>{@code ^n}</td>
    -194             * </tr>
    -195             * <tr>
    -196             * <td>{@code ^}</td>
    -197             * <td>{@code ^^}</td>
    -198             * </tr>
    -199             * </table>
    -200             * 
    -201             * <p>
    -202             * Example:
    -203             * </p>
    -204             * 
    -205             * <pre>
    -206             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -207             *  sburgh, PA 15212":40.446816;80.00566
    -208             * </pre>
    -209             * 
    -210             * @return true if circumflex accent decoding is enabled, false if not
    -211             * @rfc 6868
    -212             */
    -213            public boolean isCaretDecodingEnabled() {
    -214                    return caretDecodingEnabled;
    -215            }
    -216    
    -217            /**
    -218             * <p>
    -219             * Sets whether the reader will decode parameter values that use circumflex
    -220             * accent encoding (enabled by default). This escaping mechanism allows
    -221             * newlines and double quotes to be included in parameter values.
    -222             * </p>
    -223             * 
    -224             * <table border="1">
    -225             * <tr>
    -226             * <th>Raw Character</th>
    -227             * <th>Encoded Character</th>
    -228             * </tr>
    -229             * <tr>
    -230             * <td>{@code "}</td>
    -231             * <td>{@code ^'}</td>
    -232             * </tr>
    -233             * <tr>
    -234             * <td><i>newline</i></td>
    -235             * <td>{@code ^n}</td>
    -236             * </tr>
    -237             * <tr>
    -238             * <td>{@code ^}</td>
    -239             * <td>{@code ^^}</td>
    -240             * </tr>
    -241             * </table>
    -242             * 
    -243             * <p>
    -244             * Example:
    -245             * </p>
    -246             * 
    -247             * <pre>
    -248             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -249             *  sburgh, PA 15212":geo:40.446816,-80.00566
    -250             * </pre>
    -251             * 
    -252             * @param enable true to use circumflex accent decoding, false not to
    -253             * @rfc 6868
    -254             */
    -255            public void setCaretDecodingEnabled(boolean enable) {
    -256                    caretDecodingEnabled = enable;
    -257            }
    -258    
    -259            /**
    -260             * Determines whether the end of the data stream has been reached.
    -261             * @return true if the end has been reached, false if not
    -262             */
    -263            public boolean eof() {
    -264                    return eof;
    -265            }
    -266    
    -267            /**
    -268             * Handles the iCalendar data as it is read off the data stream. Each one of
    -269             * this interface's methods may throw a {@link StopReadingException} at any
    -270             * time to force the parser to stop reading from the data stream. This will
    -271             * cause the reader to return from the {@link ICalRawReader#start} method.
    -272             * To continue reading from the data stream, simply call the
    -273             * {@link ICalRawReader#start} method again.
    -274             * @author Michael Angstadt
    -275             */
    -276            public static interface ICalDataStreamListener {
    -277                    /**
    -278                     * Called when a component begins (when a "BEGIN:NAME" property is
    -279                     * reached).
    -280                     * @param name the component name (e.g. "VEVENT")
    -281                     * @throws StopReadingException to force the reader to stop reading from
    -282                     * the data stream
    -283                     */
    -284                    void beginComponent(String name);
    -285    
    -286                    /**
    -287                     * Called when a property is read.
    -288                     * @param name the property name (e.g. "VERSION")
    -289                     * @param parameters the parameters
    -290                     * @param value the property value
    -291                     * @throws StopReadingException to force the reader to stop reading from
    -292                     * the data stream
    -293                     */
    -294                    void readProperty(String name, ICalParameters parameters, String value);
    -295    
    -296                    /**
    -297                     * Called when a component ends (when a "END:NAME" property is reached).
    -298                     * @param name the component name (e.g. "VEVENT")
    -299                     * @throws StopReadingException to force the reader to stop reading from
    -300                     * the data stream
    -301                     */
    -302                    void endComponent(String name);
    -303    
    -304                    /**
    -305                     * Called when a line cannot be parsed.
    -306                     * @param line the unparseable line
    -307                     * @throws StopReadingException to force the reader to stop reading from
    -308                     * the data stream
    -309                     */
    -310                    void invalidLine(String line);
    -311    
    -312                    /**
    -313                     * Called when a value-less parameter is read.
    -314                     * @param propertyName the property name (e.g. "VERSION")
    -315                     * @param parameterName the parameter name (e.g. "FMTTYPE")
    -316                     */
    -317                    void valuelessParameter(String propertyName, String parameterName);
    -318            }
    -319    
    -320            /**
    -321             * Instructs an {@link ICalRawReader} to stop reading from the data stream
    -322             * when thrown from an {@link ICalDataStreamListener} implementation.
    -323             * @author Michael Angstadt
    -324             */
    -325            @SuppressWarnings("serial")
    -326            public static class StopReadingException extends ICalException {
    -327                    //empty
    -328            }
    -329    
    -330            /**
    -331             * Closes the underlying {@link Reader} object.
    -332             */
    -333            public void close() throws IOException {
    -334                    reader.close();
    -335            }
    -336    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.StopReadingException.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.StopReadingException.html deleted file mode 100644 index daf2e095..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.StopReadingException.html +++ /dev/null @@ -1,402 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import static biweekly.util.StringUtils.NEWLINE;
    -004    
    -005    import java.io.Closeable;
    -006    import java.io.IOException;
    -007    import java.io.Reader;
    -008    
    -009    import biweekly.ICalException;
    -010    import biweekly.parameter.ICalParameters;
    -011    
    -012    /*
    -013     Copyright (c) 2013, Michael Angstadt
    -014     All rights reserved.
    -015    
    -016     Redistribution and use in source and binary forms, with or without
    -017     modification, are permitted provided that the following conditions are met: 
    -018    
    -019     1. Redistributions of source code must retain the above copyright notice, this
    -020     list of conditions and the following disclaimer. 
    -021     2. Redistributions in binary form must reproduce the above copyright notice,
    -022     this list of conditions and the following disclaimer in the documentation
    -023     and/or other materials provided with the distribution. 
    -024    
    -025     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -026     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -027     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -028     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -029     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -030     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -031     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -032     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -033     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -034     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -035     */
    -036    
    -037    /**
    -038     * Parses an iCalendar data stream.
    -039     * @author Michael Angstadt
    -040     * @rfc 5545
    -041     */
    -042    public class ICalRawReader implements Closeable {
    -043            private final FoldedLineReader reader;
    -044            private boolean caretDecodingEnabled = true;
    -045            private boolean eof = false;
    -046    
    -047            /**
    -048             * Creates a new reader.
    -049             * @param reader the reader to the data stream
    -050             */
    -051            public ICalRawReader(Reader reader) {
    -052                    this.reader = new FoldedLineReader(reader);
    -053            }
    -054    
    -055            /**
    -056             * Gets the line number of the last line that was read.
    -057             * @return the line number
    -058             */
    -059            public int getLineNum() {
    -060                    return reader.getLineNum();
    -061            }
    -062    
    -063            /**
    -064             * Starts or continues reading from the iCalendar data stream.
    -065             * @param listener handles the iCalendar data as it is read off the wire
    -066             * @throws IOException if there is an I/O problem
    -067             */
    -068            public void start(ICalDataStreamListener listener) throws IOException {
    -069                    String line;
    -070                    while ((line = reader.readLine()) != null) {
    -071                            try {
    -072                                    parseLine(line, listener);
    -073                            } catch (StopReadingException e) {
    -074                                    return;
    -075                            }
    -076                    }
    -077                    eof = true;
    -078            }
    -079    
    -080            private void parseLine(String line, ICalDataStreamListener listener) {
    -081                    String propertyName = null;
    -082                    ICalParameters parameters = new ICalParameters();
    -083                    String value = null;
    -084    
    -085                    char escapeChar = 0; //is the next char escaped?
    -086                    boolean inQuotes = false; //are we inside of double quotes?
    -087                    StringBuilder buffer = new StringBuilder();
    -088                    String curParamName = null;
    -089                    for (int i = 0; i < line.length(); i++) {
    -090                            char ch = line.charAt(i);
    -091                            if (escapeChar != 0) {
    -092                                    if (escapeChar == '\\') {
    -093                                            //backslash escaping in parameter values is not part of the standard
    -094                                            if (ch == '\\') {
    -095                                                    buffer.append(ch);
    -096                                            } else if (ch == 'n' || ch == 'N') {
    -097                                                    //newlines
    -098                                                    buffer.append(NEWLINE);
    -099                                            } else if (ch == '"') {
    -100                                                    //incase a double quote is escaped with a backslash
    -101                                                    buffer.append(ch);
    -102                                            } else {
    -103                                                    //treat the escape character as a normal character because it's not a valid escape sequence
    -104                                                    buffer.append(escapeChar).append(ch);
    -105                                            }
    -106                                    } else if (escapeChar == '^') {
    -107                                            if (ch == '^') {
    -108                                                    buffer.append(ch);
    -109                                            } else if (ch == 'n') {
    -110                                                    buffer.append(NEWLINE);
    -111                                            } else if (ch == '\'') {
    -112                                                    buffer.append('"');
    -113                                            } else {
    -114                                                    //treat the escape character as a normal character because it's not a valid escape sequence
    -115                                                    buffer.append(escapeChar).append(ch);
    -116                                            }
    -117                                    }
    -118                                    escapeChar = 0;
    -119                            } else if (ch == '\\' || (ch == '^' && caretDecodingEnabled)) {
    -120                                    escapeChar = ch;
    -121                            } else if ((ch == ';' || ch == ':') && !inQuotes) {
    -122                                    if (propertyName == null) {
    -123                                            propertyName = buffer.toString();
    -124                                    } else if (curParamName == null) {
    -125                                            //value-less parameter (bad iCal syntax)
    -126                                            String parameterName = buffer.toString();
    -127                                            listener.valuelessParameter(propertyName, parameterName);
    -128                                            parameters.put(parameterName, null);
    -129                                    } else {
    -130                                            //parameter value
    -131                                            String paramValue = buffer.toString();
    -132                                            parameters.put(curParamName, paramValue);
    -133                                            curParamName = null;
    -134                                    }
    -135                                    buffer.setLength(0);
    -136    
    -137                                    if (ch == ':') {
    -138                                            if (i < line.length() - 1) {
    -139                                                    value = line.substring(i + 1);
    -140                                            } else {
    -141                                                    value = "";
    -142                                            }
    -143                                            break;
    -144                                    }
    -145                            } else if (ch == ',' && !inQuotes) {
    -146                                    //multi-valued parameter
    -147                                    parameters.put(curParamName, buffer.toString());
    -148                                    buffer.setLength(0);
    -149                            } else if (ch == '=' && curParamName == null) {
    -150                                    //parameter name
    -151                                    curParamName = buffer.toString();
    -152                                    buffer.setLength(0);
    -153                            } else if (ch == '"') {
    -154                                    inQuotes = !inQuotes;
    -155                            } else {
    -156                                    buffer.append(ch);
    -157                            }
    -158                    }
    -159    
    -160                    if (propertyName == null || value == null) {
    -161                            listener.invalidLine(line);
    -162                            return;
    -163                    }
    -164                    if ("BEGIN".equalsIgnoreCase(propertyName)) {
    -165                            listener.beginComponent(value);
    -166                            return;
    -167                    }
    -168                    if ("END".equalsIgnoreCase(propertyName)) {
    -169                            listener.endComponent(value);
    -170                            return;
    -171                    }
    -172                    listener.readProperty(propertyName, parameters, value);
    -173            }
    -174    
    -175            /**
    -176             * <p>
    -177             * Gets whether the reader will decode parameter values that use circumflex
    -178             * accent encoding (enabled by default). This escaping mechanism allows
    -179             * newlines and double quotes to be included in parameter values.
    -180             * </p>
    -181             * 
    -182             * <table border="1">
    -183             * <tr>
    -184             * <th>Raw Character</th>
    -185             * <th>Encoded Character</th>
    -186             * </tr>
    -187             * <tr>
    -188             * <td>{@code "}</td>
    -189             * <td>{@code ^'}</td>
    -190             * </tr>
    -191             * <tr>
    -192             * <td><i>newline</i></td>
    -193             * <td>{@code ^n}</td>
    -194             * </tr>
    -195             * <tr>
    -196             * <td>{@code ^}</td>
    -197             * <td>{@code ^^}</td>
    -198             * </tr>
    -199             * </table>
    -200             * 
    -201             * <p>
    -202             * Example:
    -203             * </p>
    -204             * 
    -205             * <pre>
    -206             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -207             *  sburgh, PA 15212":40.446816;80.00566
    -208             * </pre>
    -209             * 
    -210             * @return true if circumflex accent decoding is enabled, false if not
    -211             * @rfc 6868
    -212             */
    -213            public boolean isCaretDecodingEnabled() {
    -214                    return caretDecodingEnabled;
    -215            }
    -216    
    -217            /**
    -218             * <p>
    -219             * Sets whether the reader will decode parameter values that use circumflex
    -220             * accent encoding (enabled by default). This escaping mechanism allows
    -221             * newlines and double quotes to be included in parameter values.
    -222             * </p>
    -223             * 
    -224             * <table border="1">
    -225             * <tr>
    -226             * <th>Raw Character</th>
    -227             * <th>Encoded Character</th>
    -228             * </tr>
    -229             * <tr>
    -230             * <td>{@code "}</td>
    -231             * <td>{@code ^'}</td>
    -232             * </tr>
    -233             * <tr>
    -234             * <td><i>newline</i></td>
    -235             * <td>{@code ^n}</td>
    -236             * </tr>
    -237             * <tr>
    -238             * <td>{@code ^}</td>
    -239             * <td>{@code ^^}</td>
    -240             * </tr>
    -241             * </table>
    -242             * 
    -243             * <p>
    -244             * Example:
    -245             * </p>
    -246             * 
    -247             * <pre>
    -248             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -249             *  sburgh, PA 15212":geo:40.446816,-80.00566
    -250             * </pre>
    -251             * 
    -252             * @param enable true to use circumflex accent decoding, false not to
    -253             * @rfc 6868
    -254             */
    -255            public void setCaretDecodingEnabled(boolean enable) {
    -256                    caretDecodingEnabled = enable;
    -257            }
    -258    
    -259            /**
    -260             * Determines whether the end of the data stream has been reached.
    -261             * @return true if the end has been reached, false if not
    -262             */
    -263            public boolean eof() {
    -264                    return eof;
    -265            }
    -266    
    -267            /**
    -268             * Handles the iCalendar data as it is read off the data stream. Each one of
    -269             * this interface's methods may throw a {@link StopReadingException} at any
    -270             * time to force the parser to stop reading from the data stream. This will
    -271             * cause the reader to return from the {@link ICalRawReader#start} method.
    -272             * To continue reading from the data stream, simply call the
    -273             * {@link ICalRawReader#start} method again.
    -274             * @author Michael Angstadt
    -275             */
    -276            public static interface ICalDataStreamListener {
    -277                    /**
    -278                     * Called when a component begins (when a "BEGIN:NAME" property is
    -279                     * reached).
    -280                     * @param name the component name (e.g. "VEVENT")
    -281                     * @throws StopReadingException to force the reader to stop reading from
    -282                     * the data stream
    -283                     */
    -284                    void beginComponent(String name);
    -285    
    -286                    /**
    -287                     * Called when a property is read.
    -288                     * @param name the property name (e.g. "VERSION")
    -289                     * @param parameters the parameters
    -290                     * @param value the property value
    -291                     * @throws StopReadingException to force the reader to stop reading from
    -292                     * the data stream
    -293                     */
    -294                    void readProperty(String name, ICalParameters parameters, String value);
    -295    
    -296                    /**
    -297                     * Called when a component ends (when a "END:NAME" property is reached).
    -298                     * @param name the component name (e.g. "VEVENT")
    -299                     * @throws StopReadingException to force the reader to stop reading from
    -300                     * the data stream
    -301                     */
    -302                    void endComponent(String name);
    -303    
    -304                    /**
    -305                     * Called when a line cannot be parsed.
    -306                     * @param line the unparseable line
    -307                     * @throws StopReadingException to force the reader to stop reading from
    -308                     * the data stream
    -309                     */
    -310                    void invalidLine(String line);
    -311    
    -312                    /**
    -313                     * Called when a value-less parameter is read.
    -314                     * @param propertyName the property name (e.g. "VERSION")
    -315                     * @param parameterName the parameter name (e.g. "FMTTYPE")
    -316                     */
    -317                    void valuelessParameter(String propertyName, String parameterName);
    -318            }
    -319    
    -320            /**
    -321             * Instructs an {@link ICalRawReader} to stop reading from the data stream
    -322             * when thrown from an {@link ICalDataStreamListener} implementation.
    -323             * @author Michael Angstadt
    -324             */
    -325            @SuppressWarnings("serial")
    -326            public static class StopReadingException extends ICalException {
    -327                    //empty
    -328            }
    -329    
    -330            /**
    -331             * Closes the underlying {@link Reader} object.
    -332             */
    -333            public void close() throws IOException {
    -334                    reader.close();
    -335            }
    -336    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.html deleted file mode 100644 index daf2e095..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawReader.html +++ /dev/null @@ -1,402 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import static biweekly.util.StringUtils.NEWLINE;
    -004    
    -005    import java.io.Closeable;
    -006    import java.io.IOException;
    -007    import java.io.Reader;
    -008    
    -009    import biweekly.ICalException;
    -010    import biweekly.parameter.ICalParameters;
    -011    
    -012    /*
    -013     Copyright (c) 2013, Michael Angstadt
    -014     All rights reserved.
    -015    
    -016     Redistribution and use in source and binary forms, with or without
    -017     modification, are permitted provided that the following conditions are met: 
    -018    
    -019     1. Redistributions of source code must retain the above copyright notice, this
    -020     list of conditions and the following disclaimer. 
    -021     2. Redistributions in binary form must reproduce the above copyright notice,
    -022     this list of conditions and the following disclaimer in the documentation
    -023     and/or other materials provided with the distribution. 
    -024    
    -025     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -026     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -027     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -028     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -029     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -030     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -031     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -032     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -033     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -034     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -035     */
    -036    
    -037    /**
    -038     * Parses an iCalendar data stream.
    -039     * @author Michael Angstadt
    -040     * @rfc 5545
    -041     */
    -042    public class ICalRawReader implements Closeable {
    -043            private final FoldedLineReader reader;
    -044            private boolean caretDecodingEnabled = true;
    -045            private boolean eof = false;
    -046    
    -047            /**
    -048             * Creates a new reader.
    -049             * @param reader the reader to the data stream
    -050             */
    -051            public ICalRawReader(Reader reader) {
    -052                    this.reader = new FoldedLineReader(reader);
    -053            }
    -054    
    -055            /**
    -056             * Gets the line number of the last line that was read.
    -057             * @return the line number
    -058             */
    -059            public int getLineNum() {
    -060                    return reader.getLineNum();
    -061            }
    -062    
    -063            /**
    -064             * Starts or continues reading from the iCalendar data stream.
    -065             * @param listener handles the iCalendar data as it is read off the wire
    -066             * @throws IOException if there is an I/O problem
    -067             */
    -068            public void start(ICalDataStreamListener listener) throws IOException {
    -069                    String line;
    -070                    while ((line = reader.readLine()) != null) {
    -071                            try {
    -072                                    parseLine(line, listener);
    -073                            } catch (StopReadingException e) {
    -074                                    return;
    -075                            }
    -076                    }
    -077                    eof = true;
    -078            }
    -079    
    -080            private void parseLine(String line, ICalDataStreamListener listener) {
    -081                    String propertyName = null;
    -082                    ICalParameters parameters = new ICalParameters();
    -083                    String value = null;
    -084    
    -085                    char escapeChar = 0; //is the next char escaped?
    -086                    boolean inQuotes = false; //are we inside of double quotes?
    -087                    StringBuilder buffer = new StringBuilder();
    -088                    String curParamName = null;
    -089                    for (int i = 0; i < line.length(); i++) {
    -090                            char ch = line.charAt(i);
    -091                            if (escapeChar != 0) {
    -092                                    if (escapeChar == '\\') {
    -093                                            //backslash escaping in parameter values is not part of the standard
    -094                                            if (ch == '\\') {
    -095                                                    buffer.append(ch);
    -096                                            } else if (ch == 'n' || ch == 'N') {
    -097                                                    //newlines
    -098                                                    buffer.append(NEWLINE);
    -099                                            } else if (ch == '"') {
    -100                                                    //incase a double quote is escaped with a backslash
    -101                                                    buffer.append(ch);
    -102                                            } else {
    -103                                                    //treat the escape character as a normal character because it's not a valid escape sequence
    -104                                                    buffer.append(escapeChar).append(ch);
    -105                                            }
    -106                                    } else if (escapeChar == '^') {
    -107                                            if (ch == '^') {
    -108                                                    buffer.append(ch);
    -109                                            } else if (ch == 'n') {
    -110                                                    buffer.append(NEWLINE);
    -111                                            } else if (ch == '\'') {
    -112                                                    buffer.append('"');
    -113                                            } else {
    -114                                                    //treat the escape character as a normal character because it's not a valid escape sequence
    -115                                                    buffer.append(escapeChar).append(ch);
    -116                                            }
    -117                                    }
    -118                                    escapeChar = 0;
    -119                            } else if (ch == '\\' || (ch == '^' && caretDecodingEnabled)) {
    -120                                    escapeChar = ch;
    -121                            } else if ((ch == ';' || ch == ':') && !inQuotes) {
    -122                                    if (propertyName == null) {
    -123                                            propertyName = buffer.toString();
    -124                                    } else if (curParamName == null) {
    -125                                            //value-less parameter (bad iCal syntax)
    -126                                            String parameterName = buffer.toString();
    -127                                            listener.valuelessParameter(propertyName, parameterName);
    -128                                            parameters.put(parameterName, null);
    -129                                    } else {
    -130                                            //parameter value
    -131                                            String paramValue = buffer.toString();
    -132                                            parameters.put(curParamName, paramValue);
    -133                                            curParamName = null;
    -134                                    }
    -135                                    buffer.setLength(0);
    -136    
    -137                                    if (ch == ':') {
    -138                                            if (i < line.length() - 1) {
    -139                                                    value = line.substring(i + 1);
    -140                                            } else {
    -141                                                    value = "";
    -142                                            }
    -143                                            break;
    -144                                    }
    -145                            } else if (ch == ',' && !inQuotes) {
    -146                                    //multi-valued parameter
    -147                                    parameters.put(curParamName, buffer.toString());
    -148                                    buffer.setLength(0);
    -149                            } else if (ch == '=' && curParamName == null) {
    -150                                    //parameter name
    -151                                    curParamName = buffer.toString();
    -152                                    buffer.setLength(0);
    -153                            } else if (ch == '"') {
    -154                                    inQuotes = !inQuotes;
    -155                            } else {
    -156                                    buffer.append(ch);
    -157                            }
    -158                    }
    -159    
    -160                    if (propertyName == null || value == null) {
    -161                            listener.invalidLine(line);
    -162                            return;
    -163                    }
    -164                    if ("BEGIN".equalsIgnoreCase(propertyName)) {
    -165                            listener.beginComponent(value);
    -166                            return;
    -167                    }
    -168                    if ("END".equalsIgnoreCase(propertyName)) {
    -169                            listener.endComponent(value);
    -170                            return;
    -171                    }
    -172                    listener.readProperty(propertyName, parameters, value);
    -173            }
    -174    
    -175            /**
    -176             * <p>
    -177             * Gets whether the reader will decode parameter values that use circumflex
    -178             * accent encoding (enabled by default). This escaping mechanism allows
    -179             * newlines and double quotes to be included in parameter values.
    -180             * </p>
    -181             * 
    -182             * <table border="1">
    -183             * <tr>
    -184             * <th>Raw Character</th>
    -185             * <th>Encoded Character</th>
    -186             * </tr>
    -187             * <tr>
    -188             * <td>{@code "}</td>
    -189             * <td>{@code ^'}</td>
    -190             * </tr>
    -191             * <tr>
    -192             * <td><i>newline</i></td>
    -193             * <td>{@code ^n}</td>
    -194             * </tr>
    -195             * <tr>
    -196             * <td>{@code ^}</td>
    -197             * <td>{@code ^^}</td>
    -198             * </tr>
    -199             * </table>
    -200             * 
    -201             * <p>
    -202             * Example:
    -203             * </p>
    -204             * 
    -205             * <pre>
    -206             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -207             *  sburgh, PA 15212":40.446816;80.00566
    -208             * </pre>
    -209             * 
    -210             * @return true if circumflex accent decoding is enabled, false if not
    -211             * @rfc 6868
    -212             */
    -213            public boolean isCaretDecodingEnabled() {
    -214                    return caretDecodingEnabled;
    -215            }
    -216    
    -217            /**
    -218             * <p>
    -219             * Sets whether the reader will decode parameter values that use circumflex
    -220             * accent encoding (enabled by default). This escaping mechanism allows
    -221             * newlines and double quotes to be included in parameter values.
    -222             * </p>
    -223             * 
    -224             * <table border="1">
    -225             * <tr>
    -226             * <th>Raw Character</th>
    -227             * <th>Encoded Character</th>
    -228             * </tr>
    -229             * <tr>
    -230             * <td>{@code "}</td>
    -231             * <td>{@code ^'}</td>
    -232             * </tr>
    -233             * <tr>
    -234             * <td><i>newline</i></td>
    -235             * <td>{@code ^n}</td>
    -236             * </tr>
    -237             * <tr>
    -238             * <td>{@code ^}</td>
    -239             * <td>{@code ^^}</td>
    -240             * </tr>
    -241             * </table>
    -242             * 
    -243             * <p>
    -244             * Example:
    -245             * </p>
    -246             * 
    -247             * <pre>
    -248             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -249             *  sburgh, PA 15212":geo:40.446816,-80.00566
    -250             * </pre>
    -251             * 
    -252             * @param enable true to use circumflex accent decoding, false not to
    -253             * @rfc 6868
    -254             */
    -255            public void setCaretDecodingEnabled(boolean enable) {
    -256                    caretDecodingEnabled = enable;
    -257            }
    -258    
    -259            /**
    -260             * Determines whether the end of the data stream has been reached.
    -261             * @return true if the end has been reached, false if not
    -262             */
    -263            public boolean eof() {
    -264                    return eof;
    -265            }
    -266    
    -267            /**
    -268             * Handles the iCalendar data as it is read off the data stream. Each one of
    -269             * this interface's methods may throw a {@link StopReadingException} at any
    -270             * time to force the parser to stop reading from the data stream. This will
    -271             * cause the reader to return from the {@link ICalRawReader#start} method.
    -272             * To continue reading from the data stream, simply call the
    -273             * {@link ICalRawReader#start} method again.
    -274             * @author Michael Angstadt
    -275             */
    -276            public static interface ICalDataStreamListener {
    -277                    /**
    -278                     * Called when a component begins (when a "BEGIN:NAME" property is
    -279                     * reached).
    -280                     * @param name the component name (e.g. "VEVENT")
    -281                     * @throws StopReadingException to force the reader to stop reading from
    -282                     * the data stream
    -283                     */
    -284                    void beginComponent(String name);
    -285    
    -286                    /**
    -287                     * Called when a property is read.
    -288                     * @param name the property name (e.g. "VERSION")
    -289                     * @param parameters the parameters
    -290                     * @param value the property value
    -291                     * @throws StopReadingException to force the reader to stop reading from
    -292                     * the data stream
    -293                     */
    -294                    void readProperty(String name, ICalParameters parameters, String value);
    -295    
    -296                    /**
    -297                     * Called when a component ends (when a "END:NAME" property is reached).
    -298                     * @param name the component name (e.g. "VEVENT")
    -299                     * @throws StopReadingException to force the reader to stop reading from
    -300                     * the data stream
    -301                     */
    -302                    void endComponent(String name);
    -303    
    -304                    /**
    -305                     * Called when a line cannot be parsed.
    -306                     * @param line the unparseable line
    -307                     * @throws StopReadingException to force the reader to stop reading from
    -308                     * the data stream
    -309                     */
    -310                    void invalidLine(String line);
    -311    
    -312                    /**
    -313                     * Called when a value-less parameter is read.
    -314                     * @param propertyName the property name (e.g. "VERSION")
    -315                     * @param parameterName the parameter name (e.g. "FMTTYPE")
    -316                     */
    -317                    void valuelessParameter(String propertyName, String parameterName);
    -318            }
    -319    
    -320            /**
    -321             * Instructs an {@link ICalRawReader} to stop reading from the data stream
    -322             * when thrown from an {@link ICalDataStreamListener} implementation.
    -323             * @author Michael Angstadt
    -324             */
    -325            @SuppressWarnings("serial")
    -326            public static class StopReadingException extends ICalException {
    -327                    //empty
    -328            }
    -329    
    -330            /**
    -331             * Closes the underlying {@link Reader} object.
    -332             */
    -333            public void close() throws IOException {
    -334                    reader.close();
    -335            }
    -336    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawWriter.ParameterValueChangedListener.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawWriter.ParameterValueChangedListener.html deleted file mode 100644 index c52454c8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawWriter.ParameterValueChangedListener.html +++ /dev/null @@ -1,519 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import java.io.Closeable;
    -004    import java.io.IOException;
    -005    import java.io.Writer;
    -006    import java.util.BitSet;
    -007    import java.util.List;
    -008    import java.util.Map;
    -009    import java.util.regex.Pattern;
    -010    
    -011    import biweekly.parameter.ICalParameters;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * Writes data to an iCalendar data stream.
    -040     * @author Michael Angstadt
    -041     * @rfc 5545
    -042     */
    -043    public class ICalRawWriter implements Closeable {
    -044            /**
    -045             * Regular expression used to determine if a parameter value needs to be
    -046             * quoted.
    -047             */
    -048            private static final Pattern quoteMeRegex = Pattern.compile(".*?[,:;].*");
    -049    
    -050            /**
    -051             * Regular expression used to detect newline character sequences.
    -052             */
    -053            private static final Pattern newlineRegex = Pattern.compile("\\r\\n|\\r|\\n");
    -054    
    -055            /**
    -056             * Regular expression used to determine if a property name contains any
    -057             * invalid characters.
    -058             */
    -059            private static final Pattern propertyNameRegex = Pattern.compile("(?i)[-a-z0-9]+");
    -060    
    -061            /**
    -062             * The characters that are not valid in parameter values and that should be
    -063             * removed.
    -064             */
    -065            private static final BitSet invalidParamValueChars;
    -066            static {
    -067                    invalidParamValueChars = new BitSet(128);
    -068                    invalidParamValueChars.set(0, 31);
    -069                    invalidParamValueChars.set(127);
    -070                    invalidParamValueChars.set('\t', false); //allow
    -071                    invalidParamValueChars.set('\n', false); //allow
    -072                    invalidParamValueChars.set('\r', false); //allow
    -073            }
    -074    
    -075            private final String newline;
    -076            private boolean caretEncodingEnabled = false;
    -077            private final FoldingScheme foldingScheme;
    -078            private final Writer writer;
    -079            private ParameterValueChangedListener parameterValueChangedListener;
    -080    
    -081            /**
    -082             * Creates an iCalendar raw writer using the standard folding scheme and
    -083             * newline sequence.
    -084             * @param writer the writer to the data stream
    -085             */
    -086            public ICalRawWriter(Writer writer) {
    -087                    this(writer, FoldingScheme.DEFAULT);
    -088            }
    -089    
    -090            /**
    -091             * Creates an iCalendar raw writer using the standard newline sequence.
    -092             * @param writer the writer to the data stream
    -093             * @param foldingScheme the folding scheme to use or null not to fold at all
    -094             */
    -095            public ICalRawWriter(Writer writer, FoldingScheme foldingScheme) {
    -096                    this(writer, foldingScheme, "\r\n");
    -097            }
    -098    
    -099            /**
    -100             * Creates an iCalendar raw writer.
    -101             * @param writer the writer to the data stream
    -102             * @param foldingScheme the folding scheme to use or null not to fold at all
    -103             * @param newline the newline sequence to use
    -104             */
    -105            public ICalRawWriter(Writer writer, FoldingScheme foldingScheme, String newline) {
    -106                    if (foldingScheme == null) {
    -107                            this.writer = writer;
    -108                    } else {
    -109                            this.writer = new FoldedLineWriter(writer, foldingScheme.getLineLength(), foldingScheme.getIndent(), newline);
    -110                    }
    -111                    this.foldingScheme = foldingScheme;
    -112                    this.newline = newline;
    -113            }
    -114    
    -115            /**
    -116             * <p>
    -117             * Gets whether the writer will apply circumflex accent encoding on
    -118             * parameter values (disabled by default). This escaping mechanism allows
    -119             * for newlines and double quotes to be included in parameter values.
    -120             * </p>
    -121             * 
    -122             * <p>
    -123             * When disabled, the writer will replace newlines with spaces and double
    -124             * quotes with single quotes.
    -125             * </p>
    -126             * 
    -127             * <table border="1">
    -128             * <tr>
    -129             * <th>Character</th>
    -130             * <th>Replacement<br>
    -131             * (when disabled)</th>
    -132             * <th>Replacement<br>
    -133             * (when enabled)</th>
    -134             * </tr>
    -135             * <tr>
    -136             * <td>{@code "}</td>
    -137             * <td>{@code '}</td>
    -138             * <td>{@code ^'}</td>
    -139             * </tr>
    -140             * <tr>
    -141             * <td><i>newline</i></td>
    -142             * <td><code><i>space</i></code></td>
    -143             * <td>{@code ^n}</td>
    -144             * </tr>
    -145             * <tr>
    -146             * <td>{@code ^}</td>
    -147             * <td>{@code ^}</td>
    -148             * <td>{@code ^^}</td>
    -149             * </tr>
    -150             * </table>
    -151             * 
    -152             * <p>
    -153             * Example:
    -154             * </p>
    -155             * 
    -156             * <pre>
    -157             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -158             *  sburgh, PA 15212":40.446816;80.00566
    -159             * </pre>
    -160             * 
    -161             * @return true if circumflex accent encoding is enabled, false if not
    -162             * @rfc 6868
    -163             */
    -164            public boolean isCaretEncodingEnabled() {
    -165                    return caretEncodingEnabled;
    -166            }
    -167    
    -168            /**
    -169             * <p>
    -170             * Sets whether the writer will apply circumflex accent encoding on
    -171             * parameter values (disabled by default). This escaping mechanism allows
    -172             * for newlines and double quotes to be included in parameter values.
    -173             * </p>
    -174             * 
    -175             * <p>
    -176             * When disabled, the writer will replace newlines with spaces and double
    -177             * quotes with single quotes.
    -178             * </p>
    -179             * 
    -180             * <table border="1">
    -181             * <tr>
    -182             * <th>Character</th>
    -183             * <th>Replacement<br>
    -184             * (when disabled)</th>
    -185             * <th>Replacement<br>
    -186             * (when enabled)</th>
    -187             * </tr>
    -188             * <tr>
    -189             * <td>{@code "}</td>
    -190             * <td>{@code '}</td>
    -191             * <td>{@code ^'}</td>
    -192             * </tr>
    -193             * <tr>
    -194             * <td><i>newline</i></td>
    -195             * <td><code><i>space</i></code></td>
    -196             * <td>{@code ^n}</td>
    -197             * </tr>
    -198             * <tr>
    -199             * <td>{@code ^}</td>
    -200             * <td>{@code ^}</td>
    -201             * <td>{@code ^^}</td>
    -202             * </tr>
    -203             * </table>
    -204             * 
    -205             * <p>
    -206             * Example:
    -207             * </p>
    -208             * 
    -209             * <pre>
    -210             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -211             *  sburgh, PA 15212":40.446816;80.00566
    -212             * </pre>
    -213             * 
    -214             * @param enable true to use circumflex accent encoding, false not to
    -215             * @rfc 6868
    -216             */
    -217            public void setCaretEncodingEnabled(boolean enable) {
    -218                    caretEncodingEnabled = enable;
    -219            }
    -220    
    -221            /**
    -222             * Gets the newline sequence that is used to separate lines.
    -223             * @return the newline sequence
    -224             */
    -225            public String getNewline() {
    -226                    return newline;
    -227            }
    -228    
    -229            /**
    -230             * Gets the listener which will be invoked when a parameter's value is
    -231             * changed due to containing invalid characters.
    -232             * @return the listener or null if not set
    -233             */
    -234            public ParameterValueChangedListener getParameterValueChangedListener() {
    -235                    return parameterValueChangedListener;
    -236            }
    -237    
    -238            /**
    -239             * Sets the listener which will be invoked when a parameter's value is
    -240             * changed due to containing invalid characters.
    -241             * @param parameterValueChangedListener the listener or null to remove
    -242             */
    -243            public void setParameterValueChangedListener(ParameterValueChangedListener parameterValueChangedListener) {
    -244                    this.parameterValueChangedListener = parameterValueChangedListener;
    -245            }
    -246    
    -247            /**
    -248             * Gets the rules for how each line is folded.
    -249             * @return the folding scheme or null if the lines are not folded
    -250             */
    -251            public FoldingScheme getFoldingScheme() {
    -252                    return foldingScheme;
    -253            }
    -254    
    -255            /**
    -256             * Writes a property marking the beginning of a component (in other words,
    -257             * writes a "BEGIN:NAME" property).
    -258             * @param componentName the component name (e.g. "VEVENT")
    -259             * @throws IOException if there's an I/O problem
    -260             */
    -261            public void writeBeginComponent(String componentName) throws IOException {
    -262                    writeProperty("BEGIN", componentName);
    -263            }
    -264    
    -265            /**
    -266             * Writes a property marking the end of a component (in other words, writes
    -267             * a "END:NAME" property).
    -268             * @param componentName the component name (e.g. "VEVENT")
    -269             * @throws IOException if there's an I/O problem
    -270             */
    -271            public void writeEndComponent(String componentName) throws IOException {
    -272                    writeProperty("END", componentName);
    -273            }
    -274    
    -275            /**
    -276             * Writes a property to the iCalendar data stream.
    -277             * @param propertyName the property name (e.g. "VERSION")
    -278             * @param value the property value (e.g. "2.0")
    -279             * @throws IllegalArgumentException if the property name contains invalid
    -280             * characters
    -281             * @throws IOException if there's an I/O problem
    -282             */
    -283            public void writeProperty(String propertyName, String value) throws IOException {
    -284                    writeProperty(propertyName, new ICalParameters(), value);
    -285            }
    -286    
    -287            /**
    -288             * Writes a property to the iCalendar data stream.
    -289             * @param propertyName the property name (e.g. "VERSION")
    -290             * @param parameters the property parameters
    -291             * @param value the property value (e.g. "2.0")
    -292             * @throws IllegalArgumentException if the property name contains invalid
    -293             * characters
    -294             * @throws IOException if there's an I/O problem
    -295             */
    -296            public void writeProperty(String propertyName, ICalParameters parameters, String value) throws IOException {
    -297                    //validate the property name
    -298                    if (!propertyNameRegex.matcher(propertyName).matches()) {
    -299                            throw new IllegalArgumentException("Property name invalid.  Property names can only contain letters, numbers, and hyphens.");
    -300                    }
    -301    
    -302                    //write the property name
    -303                    writer.append(propertyName);
    -304    
    -305                    //write the parameters
    -306                    for (Map.Entry<String, List<String>> subType : parameters) {
    -307                            String parameterName = subType.getKey();
    -308                            List<String> parameterValues = subType.getValue();
    -309                            if (!parameterValues.isEmpty()) {
    -310                                    //e.g. ADR;TYPE=home,work,"another,value":
    -311    
    -312                                    boolean first = true;
    -313                                    writer.append(';').append(parameterName).append('=');
    -314                                    for (String parameterValue : parameterValues) {
    -315                                            if (!first) {
    -316                                                    writer.append(',');
    -317                                            }
    -318    
    -319                                            parameterValue = sanitizeParameterValue(parameterValue, parameterName, propertyName);
    -320    
    -321                                            //surround with double quotes if contains special chars
    -322                                            if (quoteMeRegex.matcher(parameterValue).matches()) {
    -323                                                    writer.append('"');
    -324                                                    writer.append(parameterValue);
    -325                                                    writer.append('"');
    -326                                            } else {
    -327                                                    writer.append(parameterValue);
    -328                                            }
    -329    
    -330                                            first = false;
    -331                                    }
    -332                            }
    -333                    }
    -334    
    -335                    writer.append(':');
    -336    
    -337                    //write the property value
    -338                    if (value == null) {
    -339                            value = "";
    -340                    } else {
    -341                            value = escapeNewlines(value);
    -342                    }
    -343                    writer.append(value);
    -344    
    -345                    writer.append(newline);
    -346            }
    -347    
    -348            /**
    -349             * Removes or escapes all invalid characters in a parameter value.
    -350             * @param parameterValue the parameter value
    -351             * @param parameterName the parameter name
    -352             * @param propertyName the name of the property to which the parameter
    -353             * belongs
    -354             * @return the sanitized parameter value
    -355             */
    -356            private String sanitizeParameterValue(String parameterValue, String parameterName, String propertyName) {
    -357                    boolean valueChanged = false;
    -358                    String modifiedValue = removeInvalidParameterValueChars(parameterValue);
    -359    
    -360                    if (caretEncodingEnabled) {
    -361                            valueChanged = (modifiedValue != parameterValue);
    -362                            modifiedValue = applyCaretEncoding(modifiedValue);
    -363                    } else {
    -364                            //replace double quotes with single quotes
    -365                            modifiedValue = modifiedValue.replace('"', '\'');
    -366    
    -367                            //replace newlines with spaces
    -368                            modifiedValue = newlineRegex.matcher(modifiedValue).replaceAll(" ");
    -369    
    -370                            valueChanged = (modifiedValue != parameterValue);
    -371                    }
    -372    
    -373                    if (valueChanged && parameterValueChangedListener != null) {
    -374                            parameterValueChangedListener.onParameterValueChanged(propertyName, parameterName, parameterValue, modifiedValue);
    -375                    }
    -376    
    -377                    return modifiedValue;
    -378            }
    -379    
    -380            /**
    -381             * Removes invalid characters from a parameter value.
    -382             * @param value the parameter value
    -383             * @return the sanitized parameter value
    -384             */
    -385            private String removeInvalidParameterValueChars(String value) {
    -386                    StringBuilder sb = new StringBuilder(value.length());
    -387    
    -388                    for (int i = 0; i < value.length(); i++) {
    -389                            char ch = value.charAt(i);
    -390                            if (!invalidParamValueChars.get(ch)) {
    -391                                    sb.append(ch);
    -392                            }
    -393                    }
    -394    
    -395                    return (sb.length() == value.length()) ? value : sb.toString();
    -396            }
    -397    
    -398            /**
    -399             * Applies circumflex accent encoding to a string.
    -400             * @param value the string
    -401             * @return the encoded string
    -402             */
    -403            private String applyCaretEncoding(String value) {
    -404                    value = value.replace("^", "^^");
    -405                    value = newlineRegex.matcher(value).replaceAll("^n");
    -406                    value = value.replace("\"", "^'");
    -407                    return value;
    -408            }
    -409    
    -410            /**
    -411             * Escapes all newline characters.
    -412             * <p>
    -413             * This method escapes the following newline sequences:
    -414             * </p>
    -415             * <ul>
    -416             * <li>{@code \r\n}</li>
    -417             * <li>{@code \r}</li>
    -418             * <li>{@code \n}</li>
    -419             * </ul>
    -420             * @param text the text to escape
    -421             * @return the escaped text
    -422             */
    -423            private String escapeNewlines(String text) {
    -424                    return newlineRegex.matcher(text).replaceAll("\\\\n");
    -425            }
    -426    
    -427            /**
    -428             * Closes the underlying {@link Writer} object.
    -429             */
    -430            public void close() throws IOException {
    -431                    writer.close();
    -432            }
    -433    
    -434            /**
    -435             * Allows you to respond to when a parameter's value is changed due to it
    -436             * containing invalid characters. If a character can be escaped (such as the
    -437             * "^" character when caret encoding is enabled), then this does not count
    -438             * as the parameter being modified because it can be decoded without losing
    -439             * any information.
    -440             * @author Michael Angstadt
    -441             */
    -442            public static interface ParameterValueChangedListener {
    -443                    /**
    -444                     * Called when a parameter value is changed.
    -445                     * @param propertyName the name of the property to which the parameter
    -446                     * belongs
    -447                     * @param parameterName the parameter name
    -448                     * @param originalValue the original parameter value
    -449                     * @param modifiedValue the modified parameter value
    -450                     */
    -451                    void onParameterValueChanged(String propertyName, String parameterName, String originalValue, String modifiedValue);
    -452            }
    -453    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawWriter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawWriter.html deleted file mode 100644 index c52454c8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalRawWriter.html +++ /dev/null @@ -1,519 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import java.io.Closeable;
    -004    import java.io.IOException;
    -005    import java.io.Writer;
    -006    import java.util.BitSet;
    -007    import java.util.List;
    -008    import java.util.Map;
    -009    import java.util.regex.Pattern;
    -010    
    -011    import biweekly.parameter.ICalParameters;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * Writes data to an iCalendar data stream.
    -040     * @author Michael Angstadt
    -041     * @rfc 5545
    -042     */
    -043    public class ICalRawWriter implements Closeable {
    -044            /**
    -045             * Regular expression used to determine if a parameter value needs to be
    -046             * quoted.
    -047             */
    -048            private static final Pattern quoteMeRegex = Pattern.compile(".*?[,:;].*");
    -049    
    -050            /**
    -051             * Regular expression used to detect newline character sequences.
    -052             */
    -053            private static final Pattern newlineRegex = Pattern.compile("\\r\\n|\\r|\\n");
    -054    
    -055            /**
    -056             * Regular expression used to determine if a property name contains any
    -057             * invalid characters.
    -058             */
    -059            private static final Pattern propertyNameRegex = Pattern.compile("(?i)[-a-z0-9]+");
    -060    
    -061            /**
    -062             * The characters that are not valid in parameter values and that should be
    -063             * removed.
    -064             */
    -065            private static final BitSet invalidParamValueChars;
    -066            static {
    -067                    invalidParamValueChars = new BitSet(128);
    -068                    invalidParamValueChars.set(0, 31);
    -069                    invalidParamValueChars.set(127);
    -070                    invalidParamValueChars.set('\t', false); //allow
    -071                    invalidParamValueChars.set('\n', false); //allow
    -072                    invalidParamValueChars.set('\r', false); //allow
    -073            }
    -074    
    -075            private final String newline;
    -076            private boolean caretEncodingEnabled = false;
    -077            private final FoldingScheme foldingScheme;
    -078            private final Writer writer;
    -079            private ParameterValueChangedListener parameterValueChangedListener;
    -080    
    -081            /**
    -082             * Creates an iCalendar raw writer using the standard folding scheme and
    -083             * newline sequence.
    -084             * @param writer the writer to the data stream
    -085             */
    -086            public ICalRawWriter(Writer writer) {
    -087                    this(writer, FoldingScheme.DEFAULT);
    -088            }
    -089    
    -090            /**
    -091             * Creates an iCalendar raw writer using the standard newline sequence.
    -092             * @param writer the writer to the data stream
    -093             * @param foldingScheme the folding scheme to use or null not to fold at all
    -094             */
    -095            public ICalRawWriter(Writer writer, FoldingScheme foldingScheme) {
    -096                    this(writer, foldingScheme, "\r\n");
    -097            }
    -098    
    -099            /**
    -100             * Creates an iCalendar raw writer.
    -101             * @param writer the writer to the data stream
    -102             * @param foldingScheme the folding scheme to use or null not to fold at all
    -103             * @param newline the newline sequence to use
    -104             */
    -105            public ICalRawWriter(Writer writer, FoldingScheme foldingScheme, String newline) {
    -106                    if (foldingScheme == null) {
    -107                            this.writer = writer;
    -108                    } else {
    -109                            this.writer = new FoldedLineWriter(writer, foldingScheme.getLineLength(), foldingScheme.getIndent(), newline);
    -110                    }
    -111                    this.foldingScheme = foldingScheme;
    -112                    this.newline = newline;
    -113            }
    -114    
    -115            /**
    -116             * <p>
    -117             * Gets whether the writer will apply circumflex accent encoding on
    -118             * parameter values (disabled by default). This escaping mechanism allows
    -119             * for newlines and double quotes to be included in parameter values.
    -120             * </p>
    -121             * 
    -122             * <p>
    -123             * When disabled, the writer will replace newlines with spaces and double
    -124             * quotes with single quotes.
    -125             * </p>
    -126             * 
    -127             * <table border="1">
    -128             * <tr>
    -129             * <th>Character</th>
    -130             * <th>Replacement<br>
    -131             * (when disabled)</th>
    -132             * <th>Replacement<br>
    -133             * (when enabled)</th>
    -134             * </tr>
    -135             * <tr>
    -136             * <td>{@code "}</td>
    -137             * <td>{@code '}</td>
    -138             * <td>{@code ^'}</td>
    -139             * </tr>
    -140             * <tr>
    -141             * <td><i>newline</i></td>
    -142             * <td><code><i>space</i></code></td>
    -143             * <td>{@code ^n}</td>
    -144             * </tr>
    -145             * <tr>
    -146             * <td>{@code ^}</td>
    -147             * <td>{@code ^}</td>
    -148             * <td>{@code ^^}</td>
    -149             * </tr>
    -150             * </table>
    -151             * 
    -152             * <p>
    -153             * Example:
    -154             * </p>
    -155             * 
    -156             * <pre>
    -157             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -158             *  sburgh, PA 15212":40.446816;80.00566
    -159             * </pre>
    -160             * 
    -161             * @return true if circumflex accent encoding is enabled, false if not
    -162             * @rfc 6868
    -163             */
    -164            public boolean isCaretEncodingEnabled() {
    -165                    return caretEncodingEnabled;
    -166            }
    -167    
    -168            /**
    -169             * <p>
    -170             * Sets whether the writer will apply circumflex accent encoding on
    -171             * parameter values (disabled by default). This escaping mechanism allows
    -172             * for newlines and double quotes to be included in parameter values.
    -173             * </p>
    -174             * 
    -175             * <p>
    -176             * When disabled, the writer will replace newlines with spaces and double
    -177             * quotes with single quotes.
    -178             * </p>
    -179             * 
    -180             * <table border="1">
    -181             * <tr>
    -182             * <th>Character</th>
    -183             * <th>Replacement<br>
    -184             * (when disabled)</th>
    -185             * <th>Replacement<br>
    -186             * (when enabled)</th>
    -187             * </tr>
    -188             * <tr>
    -189             * <td>{@code "}</td>
    -190             * <td>{@code '}</td>
    -191             * <td>{@code ^'}</td>
    -192             * </tr>
    -193             * <tr>
    -194             * <td><i>newline</i></td>
    -195             * <td><code><i>space</i></code></td>
    -196             * <td>{@code ^n}</td>
    -197             * </tr>
    -198             * <tr>
    -199             * <td>{@code ^}</td>
    -200             * <td>{@code ^}</td>
    -201             * <td>{@code ^^}</td>
    -202             * </tr>
    -203             * </table>
    -204             * 
    -205             * <p>
    -206             * Example:
    -207             * </p>
    -208             * 
    -209             * <pre>
    -210             * GEO;X-ADDRESS="Pittsburgh Pirates^n115 Federal St^nPitt
    -211             *  sburgh, PA 15212":40.446816;80.00566
    -212             * </pre>
    -213             * 
    -214             * @param enable true to use circumflex accent encoding, false not to
    -215             * @rfc 6868
    -216             */
    -217            public void setCaretEncodingEnabled(boolean enable) {
    -218                    caretEncodingEnabled = enable;
    -219            }
    -220    
    -221            /**
    -222             * Gets the newline sequence that is used to separate lines.
    -223             * @return the newline sequence
    -224             */
    -225            public String getNewline() {
    -226                    return newline;
    -227            }
    -228    
    -229            /**
    -230             * Gets the listener which will be invoked when a parameter's value is
    -231             * changed due to containing invalid characters.
    -232             * @return the listener or null if not set
    -233             */
    -234            public ParameterValueChangedListener getParameterValueChangedListener() {
    -235                    return parameterValueChangedListener;
    -236            }
    -237    
    -238            /**
    -239             * Sets the listener which will be invoked when a parameter's value is
    -240             * changed due to containing invalid characters.
    -241             * @param parameterValueChangedListener the listener or null to remove
    -242             */
    -243            public void setParameterValueChangedListener(ParameterValueChangedListener parameterValueChangedListener) {
    -244                    this.parameterValueChangedListener = parameterValueChangedListener;
    -245            }
    -246    
    -247            /**
    -248             * Gets the rules for how each line is folded.
    -249             * @return the folding scheme or null if the lines are not folded
    -250             */
    -251            public FoldingScheme getFoldingScheme() {
    -252                    return foldingScheme;
    -253            }
    -254    
    -255            /**
    -256             * Writes a property marking the beginning of a component (in other words,
    -257             * writes a "BEGIN:NAME" property).
    -258             * @param componentName the component name (e.g. "VEVENT")
    -259             * @throws IOException if there's an I/O problem
    -260             */
    -261            public void writeBeginComponent(String componentName) throws IOException {
    -262                    writeProperty("BEGIN", componentName);
    -263            }
    -264    
    -265            /**
    -266             * Writes a property marking the end of a component (in other words, writes
    -267             * a "END:NAME" property).
    -268             * @param componentName the component name (e.g. "VEVENT")
    -269             * @throws IOException if there's an I/O problem
    -270             */
    -271            public void writeEndComponent(String componentName) throws IOException {
    -272                    writeProperty("END", componentName);
    -273            }
    -274    
    -275            /**
    -276             * Writes a property to the iCalendar data stream.
    -277             * @param propertyName the property name (e.g. "VERSION")
    -278             * @param value the property value (e.g. "2.0")
    -279             * @throws IllegalArgumentException if the property name contains invalid
    -280             * characters
    -281             * @throws IOException if there's an I/O problem
    -282             */
    -283            public void writeProperty(String propertyName, String value) throws IOException {
    -284                    writeProperty(propertyName, new ICalParameters(), value);
    -285            }
    -286    
    -287            /**
    -288             * Writes a property to the iCalendar data stream.
    -289             * @param propertyName the property name (e.g. "VERSION")
    -290             * @param parameters the property parameters
    -291             * @param value the property value (e.g. "2.0")
    -292             * @throws IllegalArgumentException if the property name contains invalid
    -293             * characters
    -294             * @throws IOException if there's an I/O problem
    -295             */
    -296            public void writeProperty(String propertyName, ICalParameters parameters, String value) throws IOException {
    -297                    //validate the property name
    -298                    if (!propertyNameRegex.matcher(propertyName).matches()) {
    -299                            throw new IllegalArgumentException("Property name invalid.  Property names can only contain letters, numbers, and hyphens.");
    -300                    }
    -301    
    -302                    //write the property name
    -303                    writer.append(propertyName);
    -304    
    -305                    //write the parameters
    -306                    for (Map.Entry<String, List<String>> subType : parameters) {
    -307                            String parameterName = subType.getKey();
    -308                            List<String> parameterValues = subType.getValue();
    -309                            if (!parameterValues.isEmpty()) {
    -310                                    //e.g. ADR;TYPE=home,work,"another,value":
    -311    
    -312                                    boolean first = true;
    -313                                    writer.append(';').append(parameterName).append('=');
    -314                                    for (String parameterValue : parameterValues) {
    -315                                            if (!first) {
    -316                                                    writer.append(',');
    -317                                            }
    -318    
    -319                                            parameterValue = sanitizeParameterValue(parameterValue, parameterName, propertyName);
    -320    
    -321                                            //surround with double quotes if contains special chars
    -322                                            if (quoteMeRegex.matcher(parameterValue).matches()) {
    -323                                                    writer.append('"');
    -324                                                    writer.append(parameterValue);
    -325                                                    writer.append('"');
    -326                                            } else {
    -327                                                    writer.append(parameterValue);
    -328                                            }
    -329    
    -330                                            first = false;
    -331                                    }
    -332                            }
    -333                    }
    -334    
    -335                    writer.append(':');
    -336    
    -337                    //write the property value
    -338                    if (value == null) {
    -339                            value = "";
    -340                    } else {
    -341                            value = escapeNewlines(value);
    -342                    }
    -343                    writer.append(value);
    -344    
    -345                    writer.append(newline);
    -346            }
    -347    
    -348            /**
    -349             * Removes or escapes all invalid characters in a parameter value.
    -350             * @param parameterValue the parameter value
    -351             * @param parameterName the parameter name
    -352             * @param propertyName the name of the property to which the parameter
    -353             * belongs
    -354             * @return the sanitized parameter value
    -355             */
    -356            private String sanitizeParameterValue(String parameterValue, String parameterName, String propertyName) {
    -357                    boolean valueChanged = false;
    -358                    String modifiedValue = removeInvalidParameterValueChars(parameterValue);
    -359    
    -360                    if (caretEncodingEnabled) {
    -361                            valueChanged = (modifiedValue != parameterValue);
    -362                            modifiedValue = applyCaretEncoding(modifiedValue);
    -363                    } else {
    -364                            //replace double quotes with single quotes
    -365                            modifiedValue = modifiedValue.replace('"', '\'');
    -366    
    -367                            //replace newlines with spaces
    -368                            modifiedValue = newlineRegex.matcher(modifiedValue).replaceAll(" ");
    -369    
    -370                            valueChanged = (modifiedValue != parameterValue);
    -371                    }
    -372    
    -373                    if (valueChanged && parameterValueChangedListener != null) {
    -374                            parameterValueChangedListener.onParameterValueChanged(propertyName, parameterName, parameterValue, modifiedValue);
    -375                    }
    -376    
    -377                    return modifiedValue;
    -378            }
    -379    
    -380            /**
    -381             * Removes invalid characters from a parameter value.
    -382             * @param value the parameter value
    -383             * @return the sanitized parameter value
    -384             */
    -385            private String removeInvalidParameterValueChars(String value) {
    -386                    StringBuilder sb = new StringBuilder(value.length());
    -387    
    -388                    for (int i = 0; i < value.length(); i++) {
    -389                            char ch = value.charAt(i);
    -390                            if (!invalidParamValueChars.get(ch)) {
    -391                                    sb.append(ch);
    -392                            }
    -393                    }
    -394    
    -395                    return (sb.length() == value.length()) ? value : sb.toString();
    -396            }
    -397    
    -398            /**
    -399             * Applies circumflex accent encoding to a string.
    -400             * @param value the string
    -401             * @return the encoded string
    -402             */
    -403            private String applyCaretEncoding(String value) {
    -404                    value = value.replace("^", "^^");
    -405                    value = newlineRegex.matcher(value).replaceAll("^n");
    -406                    value = value.replace("\"", "^'");
    -407                    return value;
    -408            }
    -409    
    -410            /**
    -411             * Escapes all newline characters.
    -412             * <p>
    -413             * This method escapes the following newline sequences:
    -414             * </p>
    -415             * <ul>
    -416             * <li>{@code \r\n}</li>
    -417             * <li>{@code \r}</li>
    -418             * <li>{@code \n}</li>
    -419             * </ul>
    -420             * @param text the text to escape
    -421             * @return the escaped text
    -422             */
    -423            private String escapeNewlines(String text) {
    -424                    return newlineRegex.matcher(text).replaceAll("\\\\n");
    -425            }
    -426    
    -427            /**
    -428             * Closes the underlying {@link Writer} object.
    -429             */
    -430            public void close() throws IOException {
    -431                    writer.close();
    -432            }
    -433    
    -434            /**
    -435             * Allows you to respond to when a parameter's value is changed due to it
    -436             * containing invalid characters. If a character can be escaped (such as the
    -437             * "^" character when caret encoding is enabled), then this does not count
    -438             * as the parameter being modified because it can be decoded without losing
    -439             * any information.
    -440             * @author Michael Angstadt
    -441             */
    -442            public static interface ParameterValueChangedListener {
    -443                    /**
    -444                     * Called when a parameter value is changed.
    -445                     * @param propertyName the name of the property to which the parameter
    -446                     * belongs
    -447                     * @param parameterName the parameter name
    -448                     * @param originalValue the original parameter value
    -449                     * @param modifiedValue the modified parameter value
    -450                     */
    -451                    void onParameterValueChanged(String propertyName, String parameterName, String originalValue, String modifiedValue);
    -452            }
    -453    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalReader.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalReader.html deleted file mode 100644 index 28e08eb6..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalReader.html +++ /dev/null @@ -1,448 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import static biweekly.util.IOUtils.utf8Reader;
    -004    import static biweekly.util.StringUtils.NEWLINE;
    -005    
    -006    import java.io.Closeable;
    -007    import java.io.File;
    -008    import java.io.FileNotFoundException;
    -009    import java.io.IOException;
    -010    import java.io.InputStream;
    -011    import java.io.Reader;
    -012    import java.io.StringReader;
    -013    import java.util.ArrayList;
    -014    import java.util.List;
    -015    
    -016    import biweekly.ICalDataType;
    -017    import biweekly.ICalendar;
    -018    import biweekly.component.ICalComponent;
    -019    import biweekly.component.marshaller.ICalComponentMarshaller;
    -020    import biweekly.component.marshaller.ICalendarMarshaller;
    -021    import biweekly.io.CannotParseException;
    -022    import biweekly.io.ICalMarshallerRegistrar;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.parameter.ICalParameters;
    -025    import biweekly.property.ICalProperty;
    -026    import biweekly.property.RawProperty;
    -027    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -028    import biweekly.property.marshaller.ICalPropertyMarshaller.Result;
    -029    
    -030    /*
    -031     Copyright (c) 2013, Michael Angstadt
    -032     All rights reserved.
    -033    
    -034     Redistribution and use in source and binary forms, with or without
    -035     modification, are permitted provided that the following conditions are met: 
    -036    
    -037     1. Redistributions of source code must retain the above copyright notice, this
    -038     list of conditions and the following disclaimer. 
    -039     2. Redistributions in binary form must reproduce the above copyright notice,
    -040     this list of conditions and the following disclaimer in the documentation
    -041     and/or other materials provided with the distribution. 
    -042    
    -043     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -044     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -045     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -046     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -047     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -048     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -049     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -050     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -051     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -052     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -053     */
    -054    
    -055    /**
    -056     * <p>
    -057     * Parses {@link ICalendar} objects from an iCalendar data stream.
    -058     * </p>
    -059     * <p>
    -060     * <b>Example:</b>
    -061     * 
    -062     * <pre class="brush:java">
    -063     * InputStream in = ...
    -064     * ICalReader icalReader = new ICalReader(in);
    -065     * ICalendar ical;
    -066     * while ((ical = icalReader.readNext()) != null){
    -067     *   ...
    -068     * }
    -069     * icalReader.close();
    -070     * </pre>
    -071     * 
    -072     * </p>
    -073     * @author Michael Angstadt
    -074     * @rfc 5545
    -075     */
    -076    public class ICalReader implements Closeable {
    -077            private static final ICalendarMarshaller icalMarshaller = ICalMarshallerRegistrar.getICalendarMarshaller();
    -078            private final List<String> warnings = new ArrayList<String>();
    -079            private ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -080            private final ICalRawReader reader;
    -081    
    -082            /**
    -083             * Creates a reader that parses iCalendar objects from a string.
    -084             * @param string the string
    -085             */
    -086            public ICalReader(String string) {
    -087                    this(new StringReader(string));
    -088            }
    -089    
    -090            /**
    -091             * Creates a reader that parses iCalendar objects from an input stream.
    -092             * @param in the input stream
    -093             */
    -094            public ICalReader(InputStream in) {
    -095                    this(utf8Reader(in));
    -096            }
    -097    
    -098            /**
    -099             * Creates a reader that parses iCalendar objects from a file.
    -100             * @param file the file
    -101             * @throws FileNotFoundException if the file doesn't exist
    -102             */
    -103            public ICalReader(File file) throws FileNotFoundException {
    -104                    this(utf8Reader(file));
    -105            }
    -106    
    -107            /**
    -108             * Creates a reader that parses iCalendar objects from a reader.
    -109             * @param reader the reader
    -110             */
    -111            public ICalReader(Reader reader) {
    -112                    this.reader = new ICalRawReader(reader);
    -113            }
    -114    
    -115            /**
    -116             * Gets whether the reader will decode parameter values that use circumflex
    -117             * accent encoding (enabled by default). This escaping mechanism allows
    -118             * newlines and double quotes to be included in parameter values.
    -119             * @return true if circumflex accent decoding is enabled, false if not
    -120             * @see ICalRawReader#isCaretDecodingEnabled()
    -121             */
    -122            public boolean isCaretDecodingEnabled() {
    -123                    return reader.isCaretDecodingEnabled();
    -124            }
    -125    
    -126            /**
    -127             * Sets whether the reader will decode parameter values that use circumflex
    -128             * accent encoding (enabled by default). This escaping mechanism allows
    -129             * newlines and double quotes to be included in parameter values.
    -130             * @param enable true to use circumflex accent decoding, false not to
    -131             * @see ICalRawReader#setCaretDecodingEnabled(boolean)
    -132             */
    -133            public void setCaretDecodingEnabled(boolean enable) {
    -134                    reader.setCaretDecodingEnabled(enable);
    -135            }
    -136    
    -137            /**
    -138             * <p>
    -139             * Registers an experimental property marshaller. Can also be used to
    -140             * override the marshaller of a standard property (such as DTSTART). Calling
    -141             * this method is the same as calling:
    -142             * </p>
    -143             * <p>
    -144             * {@code getRegistrar().register(marshaller)}.
    -145             * </p>
    -146             * @param marshaller the marshaller to register
    -147             */
    -148            public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -149                    registrar.register(marshaller);
    -150            }
    -151    
    -152            /**
    -153             * <p>
    -154             * Registers an experimental component marshaller. Can also be used to
    -155             * override the marshaller of a standard component (such as VEVENT). Calling
    -156             * this method is the same as calling:
    -157             * </p>
    -158             * <p>
    -159             * {@code getRegistrar().register(marshaller)}.
    -160             * </p>
    -161             * @param marshaller the marshaller to register
    -162             */
    -163            public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -164                    registrar.register(marshaller);
    -165            }
    -166    
    -167            /**
    -168             * Gets the object that manages the component/property marshaller objects.
    -169             * @return the marshaller registrar
    -170             */
    -171            public ICalMarshallerRegistrar getRegistrar() {
    -172                    return registrar;
    -173            }
    -174    
    -175            /**
    -176             * Sets the object that manages the component/property marshaller objects.
    -177             * @param registrar the marshaller registrar
    -178             */
    -179            public void setRegistrar(ICalMarshallerRegistrar registrar) {
    -180                    this.registrar = registrar;
    -181            }
    -182    
    -183            /**
    -184             * Gets the warnings from the last iCalendar object that was unmarshalled.
    -185             * This list is reset every time a new iCalendar object is read.
    -186             * @return the warnings or empty list if there were no warnings
    -187             */
    -188            public List<String> getWarnings() {
    -189                    return new ArrayList<String>(warnings);
    -190            }
    -191    
    -192            /**
    -193             * Reads the next iCalendar object.
    -194             * @return the next iCalendar object or null if there are no more
    -195             * @throws IOException if there's a problem reading from the stream
    -196             */
    -197            public ICalendar readNext() throws IOException {
    -198                    if (reader.eof()) {
    -199                            return null;
    -200                    }
    -201    
    -202                    warnings.clear();
    -203    
    -204                    ICalDataStreamListenerImpl listener = new ICalDataStreamListenerImpl();
    -205                    reader.start(listener);
    -206    
    -207                    if (!listener.dataWasRead) {
    -208                            //EOF was reached without reading anything
    -209                            return null;
    -210                    }
    -211    
    -212                    ICalendar ical;
    -213                    if (listener.orphanedComponents.isEmpty()) {
    -214                            //there were no components in the iCalendar object
    -215                            ical = icalMarshaller.emptyInstance();
    -216                    } else {
    -217                            ICalComponent first = listener.orphanedComponents.get(0);
    -218                            if (first instanceof ICalendar) {
    -219                                    //this is the code-path that valid iCalendar objects should reach
    -220                                    ical = (ICalendar) first;
    -221                            } else {
    -222                                    ical = icalMarshaller.emptyInstance();
    -223                                    for (ICalComponent component : listener.orphanedComponents) {
    -224                                            ical.addComponent(component);
    -225                                    }
    -226                            }
    -227                    }
    -228    
    -229                    //add any properties that were not part of a component (will never happen if the iCalendar object is valid)
    -230                    for (ICalProperty property : listener.orphanedProperties) {
    -231                            ical.addProperty(property);
    -232                    }
    -233    
    -234                    return ical;
    -235            }
    -236    
    -237            //TODO how to unmarshal the alarm components (a different class should be created, depending on the ACTION property)
    -238            //TODO buffer properties in a list before the component class is created
    -239            private class ICalDataStreamListenerImpl implements ICalRawReader.ICalDataStreamListener {
    -240                    private final String icalComponentName = icalMarshaller.getComponentName();
    -241    
    -242                    private List<ICalProperty> orphanedProperties = new ArrayList<ICalProperty>();
    -243                    private List<ICalComponent> orphanedComponents = new ArrayList<ICalComponent>();
    -244    
    -245                    private List<ICalComponent> componentStack = new ArrayList<ICalComponent>();
    -246                    private List<String> componentNamesStack = new ArrayList<String>();
    -247                    private boolean dataWasRead = false;
    -248    
    -249                    public void beginComponent(String name) {
    -250                            dataWasRead = true;
    -251    
    -252                            ICalComponent parentComponent = getCurrentComponent();
    -253    
    -254                            ICalComponentMarshaller<? extends ICalComponent> m = registrar.getComponentMarshaller(name);
    -255                            ICalComponent component = m.emptyInstance();
    -256                            componentStack.add(component);
    -257                            componentNamesStack.add(name);
    -258    
    -259                            if (parentComponent == null) {
    -260                                    orphanedComponents.add(component);
    -261                            } else {
    -262                                    parentComponent.addComponent(component);
    -263                            }
    -264                    }
    -265    
    -266                    public void readProperty(String name, ICalParameters parameters, String value) {
    -267                            dataWasRead = true;
    -268    
    -269                            ICalPropertyMarshaller<? extends ICalProperty> m = registrar.getPropertyMarshaller(name);
    -270    
    -271                            //get the data type
    -272                            ICalDataType dataType = parameters.getValue();
    -273                            if (dataType == null) {
    -274                                    //use the default data type if there is no VALUE parameter
    -275                                    dataType = m.getDefaultDataType();
    -276                            } else {
    -277                                    //remove VALUE parameter if it is set
    -278                                    parameters.setValue(null);
    -279                            }
    -280    
    -281                            ICalProperty property = null;
    -282                            try {
    -283                                    Result<? extends ICalProperty> result = m.parseText(value, dataType, parameters);
    -284    
    -285                                    for (String warning : result.getWarnings()) {
    -286                                            addWarning(warning, name);
    -287                                    }
    -288    
    -289                                    property = result.getProperty();
    -290                            } catch (SkipMeException e) {
    -291                                    if (e.getMessage() == null) {
    -292                                            addWarning("Property has requested that it be skipped.", name);
    -293                                    } else {
    -294                                            addWarning("Property has requested that it be skipped: " + e.getMessage(), name);
    -295                                    }
    -296                            } catch (CannotParseException e) {
    -297                                    if (e.getMessage() == null) {
    -298                                            addWarning("Property value could not be unmarshalled: " + value, name);
    -299                                    } else {
    -300                                            addWarning("Property value could not be unmarshalled." + NEWLINE + "  Value: " + value + NEWLINE + "  Reason: " + e.getMessage(), name);
    -301                                    }
    -302                                    property = new RawProperty(name, dataType, value);
    -303                            }
    -304    
    -305                            if (property != null) {
    -306                                    ICalComponent parentComponent = getCurrentComponent();
    -307                                    if (parentComponent == null) {
    -308                                            orphanedProperties.add(property);
    -309                                    } else {
    -310                                            parentComponent.addProperty(property);
    -311                                    }
    -312                            }
    -313                    }
    -314    
    -315                    public void endComponent(String name) {
    -316                            //stop reading when "END:VCALENDAR" is reached
    -317                            if (icalComponentName.equalsIgnoreCase(name)) {
    -318                                    throw new ICalRawReader.StopReadingException();
    -319                            }
    -320    
    -321                            //find the component that this END property matches up with
    -322                            int popIndex = -1;
    -323                            for (int i = componentStack.size() - 1; i >= 0; i--) {
    -324                                    String n = componentNamesStack.get(i);
    -325                                    if (n.equalsIgnoreCase(name)) {
    -326                                            popIndex = i;
    -327                                            break;
    -328                                    }
    -329                            }
    -330                            if (popIndex == -1) {
    -331                                    //END property does not match up with any BEGIN properties, so ignore
    -332                                    addWarning("Ignoring END property that does not match up with any BEGIN properties: " + name, "END");
    -333                                    return;
    -334                            }
    -335    
    -336                            componentStack = componentStack.subList(0, popIndex);
    -337                            componentNamesStack = componentNamesStack.subList(0, popIndex);
    -338                    }
    -339    
    -340                    public void invalidLine(String line) {
    -341                            addWarning("Skipping malformed line: \"" + line + "\"");
    -342                    }
    -343    
    -344                    public void valuelessParameter(String propertyName, String parameterName) {
    -345                            addWarning("Value-less parameter encountered: " + parameterName, propertyName);
    -346                    }
    -347    
    -348                    private ICalComponent getCurrentComponent() {
    -349                            if (componentStack.isEmpty()) {
    -350                                    return null;
    -351                            }
    -352                            return componentStack.get(componentStack.size() - 1);
    -353                    }
    -354            }
    -355    
    -356            private void addWarning(String message) {
    -357                    addWarning(message, null);
    -358            }
    -359    
    -360            private void addWarning(String message, String propertyName) {
    -361                    addWarning(message, propertyName, reader.getLineNum());
    -362            }
    -363    
    -364            private void addWarning(String message, String propertyName, int lineNum) {
    -365                    StringBuilder sb = new StringBuilder();
    -366                    sb.append("Line ").append(lineNum);
    -367                    if (propertyName != null) {
    -368                            sb.append(" (").append(propertyName).append(" property)");
    -369                    }
    -370                    sb.append(": ").append(message);
    -371    
    -372                    warnings.add(sb.toString());
    -373            }
    -374    
    -375            /**
    -376             * Closes the underlying {@link Reader} object.
    -377             */
    -378            //@Override
    -379            public void close() throws IOException {
    -380                    reader.close();
    -381            }
    -382    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalWriter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalWriter.html deleted file mode 100644 index 4efa2224..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/text/ICalWriter.html +++ /dev/null @@ -1,411 +0,0 @@ - - -
    -001    package biweekly.io.text;
    -002    
    -003    import static biweekly.util.IOUtils.utf8Writer;
    -004    
    -005    import java.io.Closeable;
    -006    import java.io.File;
    -007    import java.io.FileNotFoundException;
    -008    import java.io.IOException;
    -009    import java.io.OutputStream;
    -010    import java.io.Writer;
    -011    
    -012    import biweekly.ICalDataType;
    -013    import biweekly.ICalendar;
    -014    import biweekly.component.ICalComponent;
    -015    import biweekly.component.marshaller.ICalComponentMarshaller;
    -016    import biweekly.io.ICalMarshallerRegistrar;
    -017    import biweekly.io.SkipMeException;
    -018    import biweekly.parameter.ICalParameters;
    -019    import biweekly.property.ICalProperty;
    -020    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -021    
    -022    /*
    -023     Copyright (c) 2013, Michael Angstadt
    -024     All rights reserved.
    -025    
    -026     Redistribution and use in source and binary forms, with or without
    -027     modification, are permitted provided that the following conditions are met: 
    -028    
    -029     1. Redistributions of source code must retain the above copyright notice, this
    -030     list of conditions and the following disclaimer. 
    -031     2. Redistributions in binary form must reproduce the above copyright notice,
    -032     this list of conditions and the following disclaimer in the documentation
    -033     and/or other materials provided with the distribution. 
    -034    
    -035     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -036     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -037     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -038     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -039     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -040     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -041     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -042     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -043     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -044     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -045     */
    -046    
    -047    /**
    -048     * <p>
    -049     * Writes {@link ICalendar} objects to an iCalendar data stream.
    -050     * </p>
    -051     * <p>
    -052     * <b>Example:</b>
    -053     * 
    -054     * <pre class="brush:java">
    -055     * List&lt;ICalendar&gt; icals = ... 
    -056     * OutputStream out = ...
    -057     * ICalWriter icalWriter = new ICalWriter(out);
    -058     * for (ICalendar ical : icals){
    -059     *   icalWriter.write(ical);
    -060     * }
    -061     * icalWriter.close();
    -062     * </pre>
    -063     * 
    -064     * </p>
    -065     * @author Michael Angstadt
    -066     * @rfc 5545
    -067     */
    -068    public class ICalWriter implements Closeable {
    -069            private ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -070            private final ICalRawWriter writer;
    -071    
    -072            /**
    -073             * Creates an iCalendar writer that writes to an output stream. Uses the
    -074             * standard folding scheme and newline sequence.
    -075             * @param outputStream the output stream to write to
    -076             */
    -077            public ICalWriter(OutputStream outputStream) {
    -078                    this(utf8Writer(outputStream));
    -079            }
    -080    
    -081            /**
    -082             * Creates an iCalendar writer that writes to an output stream. Uses the
    -083             * standard newline sequence.
    -084             * @param outputStream the output stream to write to
    -085             * @param foldingScheme the folding scheme to use or null not to fold at all
    -086             */
    -087            public ICalWriter(OutputStream outputStream, FoldingScheme foldingScheme) {
    -088                    this(utf8Writer(outputStream), foldingScheme);
    -089            }
    -090    
    -091            /**
    -092             * Creates an iCalendar writer that writes to an output stream.
    -093             * @param outputStream the output stream to write to
    -094             * @param foldingScheme the folding scheme to use or null not to fold at all
    -095             * @param newline the newline sequence to use
    -096             */
    -097            public ICalWriter(OutputStream outputStream, FoldingScheme foldingScheme, String newline) {
    -098                    this(utf8Writer(outputStream), foldingScheme, newline);
    -099            }
    -100    
    -101            /**
    -102             * Creates an iCalendar writer that writes to a file. Uses the standard
    -103             * folding scheme and newline sequence.
    -104             * @param file the file to write to
    -105             * @throws FileNotFoundException if the file cannot be written to
    -106             */
    -107            public ICalWriter(File file) throws FileNotFoundException {
    -108                    this(utf8Writer(file));
    -109            }
    -110    
    -111            /**
    -112             * Creates an iCalendar writer that writes to a file. Uses the standard
    -113             * folding scheme and newline sequence.
    -114             * @param file the file to write to
    -115             * @param append true to append to the end of the file, false to overwrite
    -116             * it
    -117             * @throws FileNotFoundException if the file cannot be written to
    -118             */
    -119            public ICalWriter(File file, boolean append) throws FileNotFoundException {
    -120                    this(utf8Writer(file, append));
    -121            }
    -122    
    -123            /**
    -124             * Creates an iCalendar writer that writes to a file. Uses the standard
    -125             * newline sequence.
    -126             * @param file the file to write to
    -127             * @param append true to append to the end of the file, false to overwrite
    -128             * it
    -129             * @param foldingScheme the folding scheme to use or null not to fold at all
    -130             * @throws FileNotFoundException if the file cannot be written to
    -131             */
    -132            public ICalWriter(File file, boolean append, FoldingScheme foldingScheme) throws FileNotFoundException {
    -133                    this(utf8Writer(file, append), foldingScheme);
    -134            }
    -135    
    -136            /**
    -137             * Creates an iCalendar writer that writes to a file.
    -138             * @param file the file to write to
    -139             * @param append true to append to the end of the file, false to overwrite
    -140             * it
    -141             * @param foldingScheme the folding scheme to use or null not to fold at all
    -142             * @param newline the newline sequence to use
    -143             * @throws FileNotFoundException if the file cannot be written to
    -144             */
    -145            public ICalWriter(File file, boolean append, FoldingScheme foldingScheme, String newline) throws FileNotFoundException {
    -146                    this(utf8Writer(file, append), foldingScheme, newline);
    -147            }
    -148    
    -149            /**
    -150             * Creates an iCalendar writer that writes to a writer. Uses the standard
    -151             * folding scheme and newline sequence.
    -152             * @param writer the writer to the data stream
    -153             */
    -154            public ICalWriter(Writer writer) {
    -155                    this(writer, FoldingScheme.DEFAULT);
    -156            }
    -157    
    -158            /**
    -159             * Creates an iCalendar writer that writes to a writer. Uses the standard
    -160             * newline sequence.
    -161             * @param writer the writer to the data stream
    -162             * @param foldingScheme the folding scheme to use or null not to fold at all
    -163             */
    -164            public ICalWriter(Writer writer, FoldingScheme foldingScheme) {
    -165                    this(writer, foldingScheme, "\r\n");
    -166            }
    -167    
    -168            /**
    -169             * Creates an iCalendar writer that writes to a writer.
    -170             * @param writer the writer to the data stream
    -171             * @param foldingScheme the folding scheme to use or null not to fold at all
    -172             * @param newline the newline sequence to use
    -173             */
    -174            public ICalWriter(Writer writer, FoldingScheme foldingScheme, String newline) {
    -175                    this.writer = new ICalRawWriter(writer, foldingScheme, newline);
    -176            }
    -177    
    -178            /**
    -179             * <p>
    -180             * Gets whether the writer will apply circumflex accent encoding on
    -181             * parameter values (disabled by default). This escaping mechanism allows
    -182             * for newlines and double quotes to be included in parameter values.
    -183             * </p>
    -184             * 
    -185             * <p>
    -186             * When disabled, the writer will replace newlines with spaces and double
    -187             * quotes with single quotes.
    -188             * </p>
    -189             * @return true if circumflex accent encoding is enabled, false if not
    -190             * @see ICalRawWriter#isCaretEncodingEnabled()
    -191             */
    -192            public boolean isCaretEncodingEnabled() {
    -193                    return writer.isCaretEncodingEnabled();
    -194            }
    -195    
    -196            /**
    -197             * <p>
    -198             * Sets whether the writer will apply circumflex accent encoding on
    -199             * parameter values (disabled by default). This escaping mechanism allows
    -200             * for newlines and double quotes to be included in parameter values.
    -201             * </p>
    -202             * 
    -203             * <p>
    -204             * When disabled, the writer will replace newlines with spaces and double
    -205             * quotes with single quotes.
    -206             * </p>
    -207             * @param enable true to use circumflex accent encoding, false not to
    -208             * @see ICalRawWriter#setCaretEncodingEnabled(boolean)
    -209             */
    -210            public void setCaretEncodingEnabled(boolean enable) {
    -211                    writer.setCaretEncodingEnabled(enable);
    -212            }
    -213    
    -214            /**
    -215             * Gets the newline sequence that is used to separate lines.
    -216             * @return the newline sequence
    -217             */
    -218            public String getNewline() {
    -219                    return writer.getNewline();
    -220            }
    -221    
    -222            /**
    -223             * Gets the rules for how each line is folded.
    -224             * @return the folding scheme or null if the lines are not folded
    -225             */
    -226            public FoldingScheme getFoldingScheme() {
    -227                    return writer.getFoldingScheme();
    -228            }
    -229    
    -230            /**
    -231             * <p>
    -232             * Registers an experimental property marshaller. Can also be used to
    -233             * override the marshaller of a standard property (such as DTSTART). Calling
    -234             * this method is the same as calling:
    -235             * </p>
    -236             * <p>
    -237             * {@code getRegistrar().register(marshaller)}.
    -238             * </p>
    -239             * @param marshaller the marshaller to register
    -240             */
    -241            public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -242                    registrar.register(marshaller);
    -243            }
    -244    
    -245            /**
    -246             * <p>
    -247             * Registers an experimental component marshaller. Can also be used to
    -248             * override the marshaller of a standard component (such as VEVENT). Calling
    -249             * this method is the same as calling:
    -250             * </p>
    -251             * <p>
    -252             * {@code getRegistrar().register(marshaller)}.
    -253             * </p>
    -254             * @param marshaller the marshaller to register
    -255             */
    -256            public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -257                    registrar.register(marshaller);
    -258            }
    -259    
    -260            /**
    -261             * Gets the object that manages the component/property marshaller objects.
    -262             * @return the marshaller registrar
    -263             */
    -264            public ICalMarshallerRegistrar getRegistrar() {
    -265                    return registrar;
    -266            }
    -267    
    -268            /**
    -269             * Sets the object that manages the component/property marshaller objects.
    -270             * @param registrar the marshaller registrar
    -271             */
    -272            public void setRegistrar(ICalMarshallerRegistrar registrar) {
    -273                    this.registrar = registrar;
    -274            }
    -275    
    -276            /**
    -277             * Writes an iCalendar object to the data stream.
    -278             * @param ical the iCalendar object to write
    -279             * @throws IllegalArgumentException if the marshaller class for a component
    -280             * or property object cannot be found (only happens when an experimental
    -281             * property/component marshaller is not registered with the
    -282             * {@code registerMarshaller} method.)
    -283             * @throws IOException if there's a problem writing to the data stream
    -284             */
    -285            public void write(ICalendar ical) throws IOException {
    -286                    writeComponent(ical);
    -287            }
    -288    
    -289            /**
    -290             * Writes a component to the data stream.
    -291             * @param component the component to write
    -292             * @throws IOException if there's a problem writing to the data stream
    -293             */
    -294            @SuppressWarnings({ "rawtypes", "unchecked" })
    -295            private void writeComponent(ICalComponent component) throws IOException {
    -296                    ICalComponentMarshaller m = registrar.getComponentMarshaller(component);
    -297                    if (m == null) {
    -298                            throw new IllegalArgumentException("No marshaller found for component class \"" + component.getClass().getName() + "\".");
    -299                    }
    -300    
    -301                    writer.writeBeginComponent(m.getComponentName());
    -302    
    -303                    for (Object obj : m.getProperties(component)) {
    -304                            ICalProperty property = (ICalProperty) obj;
    -305                            ICalPropertyMarshaller pm = registrar.getPropertyMarshaller(property);
    -306                            if (pm == null) {
    -307                                    throw new IllegalArgumentException("No marshaller found for property class \"" + property.getClass().getName() + "\".");
    -308                            }
    -309    
    -310                            //marshal property
    -311                            ICalParameters parameters;
    -312                            String value;
    -313                            try {
    -314                                    parameters = pm.prepareParameters(property);
    -315                                    value = pm.writeText(property);
    -316                            } catch (SkipMeException e) {
    -317                                    continue;
    -318                            }
    -319    
    -320                            //set the data type
    -321                            ICalDataType dataType = pm.dataType(property);
    -322                            if (dataType != null && dataType != pm.getDefaultDataType()) {
    -323                                    //only add a VALUE parameter if the data type is (1) not "unknown" and (2) different from the property's default data type
    -324                                    parameters.setValue(dataType);
    -325                            }
    -326    
    -327                            //write property to data stream
    -328                            writer.writeProperty(pm.getPropertyName(), parameters, value);
    -329                    }
    -330    
    -331                    for (Object obj : m.getComponents(component)) {
    -332                            ICalComponent subComponent = (ICalComponent) obj;
    -333                            writeComponent(subComponent);
    -334                    }
    -335    
    -336                    writer.writeEndComponent(m.getComponentName());
    -337            }
    -338    
    -339            /**
    -340             * Closes the underlying {@link Writer} object.
    -341             */
    -342            public void close() throws IOException {
    -343                    writer.close();
    -344            }
    -345    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalDocument.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalDocument.html deleted file mode 100644 index 884265dd..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalDocument.html +++ /dev/null @@ -1,809 +0,0 @@ - - -
    -001    package biweekly.io.xml;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.IOUtils.utf8Writer;
    -005    
    -006    import java.io.File;
    -007    import java.io.FileInputStream;
    -008    import java.io.IOException;
    -009    import java.io.InputStream;
    -010    import java.io.OutputStream;
    -011    import java.io.Reader;
    -012    import java.io.StringWriter;
    -013    import java.io.Writer;
    -014    import java.util.ArrayList;
    -015    import java.util.Collections;
    -016    import java.util.HashMap;
    -017    import java.util.List;
    -018    import java.util.Map;
    -019    
    -020    import javax.xml.namespace.QName;
    -021    import javax.xml.transform.OutputKeys;
    -022    import javax.xml.transform.TransformerException;
    -023    import javax.xml.xpath.XPath;
    -024    import javax.xml.xpath.XPathConstants;
    -025    import javax.xml.xpath.XPathExpressionException;
    -026    import javax.xml.xpath.XPathFactory;
    -027    
    -028    import org.w3c.dom.Document;
    -029    import org.w3c.dom.Element;
    -030    import org.xml.sax.SAXException;
    -031    
    -032    import biweekly.ICalDataType;
    -033    import biweekly.ICalendar;
    -034    import biweekly.component.ICalComponent;
    -035    import biweekly.component.marshaller.ICalComponentMarshaller;
    -036    import biweekly.component.marshaller.ICalendarMarshaller;
    -037    import biweekly.io.CannotParseException;
    -038    import biweekly.io.ICalMarshallerRegistrar;
    -039    import biweekly.io.SkipMeException;
    -040    import biweekly.parameter.ICalParameters;
    -041    import biweekly.property.ICalProperty;
    -042    import biweekly.property.Xml;
    -043    import biweekly.property.marshaller.ICalPropertyMarshaller;
    -044    import biweekly.property.marshaller.ICalPropertyMarshaller.Result;
    -045    import biweekly.util.IOUtils;
    -046    import biweekly.util.XmlUtils;
    -047    
    -048    /*
    -049     Copyright (c) 2013, Michael Angstadt
    -050     All rights reserved.
    -051    
    -052     Redistribution and use in source and binary forms, with or without
    -053     modification, are permitted provided that the following conditions are met: 
    -054    
    -055     1. Redistributions of source code must retain the above copyright notice, this
    -056     list of conditions and the following disclaimer. 
    -057     2. Redistributions in binary form must reproduce the above copyright notice,
    -058     this list of conditions and the following disclaimer in the documentation
    -059     and/or other materials provided with the distribution. 
    -060    
    -061     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -062     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -063     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -064     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -065     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -066     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -067     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -068     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -069     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -070     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -071     */
    -072    
    -073    //@formatter:off
    -074    /**
    -075     * <p>
    -076     * Represents an XML document that contains iCalendar objects ("xCal" standard).
    -077     * This class can be used to read and write xCal documents.
    -078     * </p>
    -079     * <p>
    -080     * <b>Examples:</b>
    -081     * 
    -082     * <pre class="brush:java">
    -083     * String xml =
    -084     * "&lt;?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
    -085     * "&lt;icalendar xmlns=\"urn:ietf:params:xml:ns:icalendar-2.0\"&gt;" +
    -086     *   "&lt;vcalendar&gt;" +
    -087     *     "&lt;properties&gt;" +
    -088     *       "&lt;prodid&gt;&lt;text&gt;-//Example Inc.//Example Client//EN&lt;/text&gt;&lt;/prodid&gt;" +
    -089     *       "&lt;version&gt;&lt;text&gt;2.0&lt;/text&gt;&lt;/version&gt;" +
    -090     *     "&lt;/properties&gt;" +
    -091     *     "&lt;components&gt;" +
    -092     *       "&lt;vevent&gt;" +
    -093     *         "&lt;properties&gt;" +
    -094     *           "&lt;dtstart&gt;&lt;date-time&gt;2013-06-27T13:00:00Z&lt;/date-time&gt;&lt;/dtstart&gt;" +
    -095     *           "&lt;dtend&gt;&lt;date-time&gt;2013-06-27T15:00:00Z&lt;/date-time&gt;&lt;/dtend&gt;" +
    -096     *           "&lt;summary&gt;&lt;text&gt;Team Meeting&lt;/text&gt;&lt;/summary&gt;" +
    -097     *         "&lt;/properties&gt;" +
    -098     *       "&lt;/vevent&gt;" +
    -099     *     "&lt;/components&gt;" +
    -100     *   "&lt;/vcalendar&gt;" +
    -101     * "&lt;/icalendar&gt;";
    -102     *     
    -103     * //parsing an existing xCal document
    -104     * XCalDocument xcal = new XCalDocument(xml);
    -105     * List&lt;ICalendar&gt; icals = xcal.parseAll();
    -106     * 
    -107     * //creating an empty xCal document
    -108     * XCalDocument xcal = new XCalDocument();
    -109     * 
    -110     * //ICalendar objects can be added at any time
    -111     * ICalendar ical = new ICalendar();
    -112     * xcal.add(ical);
    -113     * 
    -114     * //retrieving the raw XML DOM
    -115     * Document document = xcal.getDocument();
    -116     * 
    -117     * //call one of the "write()" methods to output the xCal document
    -118     * File file = new File("meeting.xml");
    -119     * xcal.write(file);
    -120     * </pre>
    -121     * 
    -122     * </p>
    -123     * @author Michael Angstadt
    -124     * @rfc 6321
    -125     */
    -126    //@formatter:on
    -127    public class XCalDocument {
    -128            private static final ICalendarMarshaller icalMarshaller = ICalMarshallerRegistrar.getICalendarMarshaller();
    -129            private static final XCalNamespaceContext nsContext = new XCalNamespaceContext("xcal");
    -130    
    -131            /**
    -132             * Defines the names of the XML elements that are used to hold each
    -133             * parameter's value.
    -134             */
    -135            private final Map<String, ICalDataType> parameterDataTypes = new HashMap<String, ICalDataType>();
    -136            {
    -137                    registerParameterDataType(ICalParameters.CN, ICalDataType.TEXT);
    -138                    registerParameterDataType(ICalParameters.ALTREP, ICalDataType.URI);
    -139                    registerParameterDataType(ICalParameters.CUTYPE, ICalDataType.TEXT);
    -140                    registerParameterDataType(ICalParameters.DELEGATED_FROM, ICalDataType.CAL_ADDRESS);
    -141                    registerParameterDataType(ICalParameters.DELEGATED_TO, ICalDataType.CAL_ADDRESS);
    -142                    registerParameterDataType(ICalParameters.DIR, ICalDataType.URI);
    -143                    registerParameterDataType(ICalParameters.ENCODING, ICalDataType.TEXT);
    -144                    registerParameterDataType(ICalParameters.FMTTYPE, ICalDataType.TEXT);
    -145                    registerParameterDataType(ICalParameters.FBTYPE, ICalDataType.TEXT);
    -146                    registerParameterDataType(ICalParameters.LANGUAGE, ICalDataType.TEXT);
    -147                    registerParameterDataType(ICalParameters.MEMBER, ICalDataType.CAL_ADDRESS);
    -148                    registerParameterDataType(ICalParameters.PARTSTAT, ICalDataType.TEXT);
    -149                    registerParameterDataType(ICalParameters.RANGE, ICalDataType.TEXT);
    -150                    registerParameterDataType(ICalParameters.RELATED, ICalDataType.TEXT);
    -151                    registerParameterDataType(ICalParameters.RELTYPE, ICalDataType.TEXT);
    -152                    registerParameterDataType(ICalParameters.ROLE, ICalDataType.TEXT);
    -153                    registerParameterDataType(ICalParameters.RSVP, ICalDataType.BOOLEAN);
    -154                    registerParameterDataType(ICalParameters.SENT_BY, ICalDataType.CAL_ADDRESS);
    -155                    registerParameterDataType(ICalParameters.TZID, ICalDataType.TEXT);
    -156            }
    -157    
    -158            private ICalMarshallerRegistrar registrar = new ICalMarshallerRegistrar();
    -159            private final List<List<String>> parseWarnings = new ArrayList<List<String>>();
    -160            private Document document;
    -161            private Element root;
    -162    
    -163            /**
    -164             * Parses an xCal document from a string.
    -165             * @param xml the xCal document in the form of a string
    -166             * @throws SAXException if there's a problem parsing the XML
    -167             */
    -168            public XCalDocument(String xml) throws SAXException {
    -169                    this(XmlUtils.toDocument(xml));
    -170            }
    -171    
    -172            /**
    -173             * Parses an xCal document from an input stream.
    -174             * @param in the input stream to read the the xCal document from
    -175             * @throws IOException if there's a problem reading from the input stream
    -176             * @throws SAXException if there's a problem parsing the XML
    -177             */
    -178            public XCalDocument(InputStream in) throws SAXException, IOException {
    -179                    this(XmlUtils.toDocument(in));
    -180            }
    -181    
    -182            /**
    -183             * Parses an xCal document from a file.
    -184             * @param file the file containing the xCal document
    -185             * @throws IOException if there's a problem reading from the file
    -186             * @throws SAXException if there's a problem parsing the XML
    -187             */
    -188            public XCalDocument(File file) throws SAXException, IOException {
    -189                    InputStream in = new FileInputStream(file);
    -190                    try {
    -191                            init(XmlUtils.toDocument(in));
    -192                    } finally {
    -193                            IOUtils.closeQuietly(in);
    -194                    }
    -195            }
    -196    
    -197            /**
    -198             * <p>
    -199             * Parses an xCal document from a reader.
    -200             * </p>
    -201             * <p>
    -202             * Note that use of this constructor is discouraged. It ignores the
    -203             * character encoding that is defined within the XML document itself, and
    -204             * should only be used if the encoding is undefined or if the encoding needs
    -205             * to be ignored for whatever reason. The {@link #XCalDocument(InputStream)}
    -206             * constructor should be used instead, since it takes the XML document's
    -207             * character encoding into account when parsing.
    -208             * </p>
    -209             * @param reader the reader to read the xCal document from
    -210             * @throws IOException if there's a problem reading from the reader
    -211             * @throws SAXException if there's a problem parsing the XML
    -212             */
    -213            public XCalDocument(Reader reader) throws SAXException, IOException {
    -214                    this(XmlUtils.toDocument(reader));
    -215            }
    -216    
    -217            /**
    -218             * Wraps an existing XML DOM object.
    -219             * @param document the XML DOM that contains the xCal document
    -220             */
    -221            public XCalDocument(Document document) {
    -222                    init(document);
    -223            }
    -224    
    -225            /**
    -226             * Creates an empty xCal document.
    -227             */
    -228            public XCalDocument() {
    -229                    document = XmlUtils.createDocument();
    -230                    root = document.createElementNS(XCAL_NS, "icalendar");
    -231                    document.appendChild(root);
    -232            }
    -233    
    -234            private void init(Document document) {
    -235                    this.document = document;
    -236    
    -237                    XPath xpath = XPathFactory.newInstance().newXPath();
    -238                    xpath.setNamespaceContext(nsContext);
    -239    
    -240                    try {
    -241                            //find the <icalendar> element
    -242                            String prefix = nsContext.getPrefix();
    -243                            root = (Element) xpath.evaluate("//" + prefix + ":icalendar", document, XPathConstants.NODE);
    -244                    } catch (XPathExpressionException e) {
    -245                            //never thrown, xpath expression is hard coded
    -246                    }
    -247            }
    -248    
    -249            /**
    -250             * <p>
    -251             * Registers an experimental property marshaller. Can also be used to
    -252             * override the marshaller of a standard property (such as DTSTART). Calling
    -253             * this method is the same as calling:
    -254             * </p>
    -255             * <p>
    -256             * {@code getRegistrar().register(marshaller)}.
    -257             * </p>
    -258             * @param marshaller the marshaller to register
    -259             */
    -260            public void registerMarshaller(ICalPropertyMarshaller<? extends ICalProperty> marshaller) {
    -261                    registrar.register(marshaller);
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Registers an experimental component marshaller. Can also be used to
    -267             * override the marshaller of a standard component (such as VEVENT). Calling
    -268             * this method is the same as calling:
    -269             * </p>
    -270             * <p>
    -271             * {@code getRegistrar().register(marshaller)}.
    -272             * </p>
    -273             * @param marshaller the marshaller to register
    -274             */
    -275            public void registerMarshaller(ICalComponentMarshaller<? extends ICalComponent> marshaller) {
    -276                    registrar.register(marshaller);
    -277            }
    -278    
    -279            /**
    -280             * Gets the object that manages the component/property marshaller objects.
    -281             * @return the marshaller registrar
    -282             */
    -283            public ICalMarshallerRegistrar getRegistrar() {
    -284                    return registrar;
    -285            }
    -286    
    -287            /**
    -288             * Sets the object that manages the component/property marshaller objects.
    -289             * @param registrar the marshaller registrar
    -290             */
    -291            public void setRegistrar(ICalMarshallerRegistrar registrar) {
    -292                    this.registrar = registrar;
    -293            }
    -294    
    -295            /**
    -296             * Registers the data type of an experimental parameter. Experimental
    -297             * parameters use the "unknown" xCal data type by default.
    -298             * @param parameterName the parameter name (e.g. "x-foo")
    -299             * @param dataType the data type or null to remove
    -300             */
    -301            public void registerParameterDataType(String parameterName, ICalDataType dataType) {
    -302                    parameterName = parameterName.toLowerCase();
    -303                    if (dataType == null) {
    -304                            parameterDataTypes.remove(parameterName);
    -305                    } else {
    -306                            parameterDataTypes.put(parameterName, dataType);
    -307                    }
    -308            }
    -309    
    -310            /**
    -311             * Gets the raw XML DOM object.
    -312             * @return the XML DOM
    -313             */
    -314            public Document getDocument() {
    -315                    return document;
    -316            }
    -317    
    -318            /**
    -319             * Gets the warnings from the last parse operation.
    -320             * @return the warnings (it is a "list of lists"--each parsed
    -321             * {@link ICalendar} object has its own warnings list)
    -322             * @see #parseAll
    -323             * @see #parseFirst
    -324             */
    -325            public List<List<String>> getParseWarnings() {
    -326                    return parseWarnings;
    -327            }
    -328    
    -329            /**
    -330             * Parses all the {@link ICalendar} objects from the xCal document.
    -331             * @return the iCalendar objects
    -332             */
    -333            public List<ICalendar> parseAll() {
    -334                    parseWarnings.clear();
    -335    
    -336                    if (root == null) {
    -337                            return Collections.emptyList();
    -338                    }
    -339    
    -340                    List<ICalendar> icals = new ArrayList<ICalendar>();
    -341                    for (Element vcalendarElement : getVCalendarElements()) {
    -342                            List<String> warnings = new ArrayList<String>();
    -343                            ICalendar ical = parseICal(vcalendarElement, warnings);
    -344                            icals.add(ical);
    -345                            this.parseWarnings.add(warnings);
    -346                    }
    -347    
    -348                    return icals;
    -349            }
    -350    
    -351            /**
    -352             * Parses the first {@link ICalendar} object from the xCal document.
    -353             * @return the iCalendar object or null if there are none
    -354             */
    -355            public ICalendar parseFirst() {
    -356                    parseWarnings.clear();
    -357    
    -358                    if (root == null) {
    -359                            return null;
    -360                    }
    -361    
    -362                    List<String> warnings = new ArrayList<String>();
    -363                    parseWarnings.add(warnings);
    -364    
    -365                    List<Element> vcalendarElements = getVCalendarElements();
    -366                    if (vcalendarElements.isEmpty()) {
    -367                            return null;
    -368                    }
    -369                    return parseICal(vcalendarElements.get(0), warnings);
    -370            }
    -371    
    -372            /**
    -373             * Adds an iCalendar object to the xCal document. This marshals the
    -374             * {@link ICalendar} object to the XML DOM. This means that any changes that
    -375             * are made to the {@link ICalendar} object after calling this method will
    -376             * NOT be applied to the xCal document.
    -377             * @param ical the iCalendar object to add
    -378             * @throws IllegalArgumentException if the marshaller class for a component
    -379             * or property object cannot be found (only happens when an experimental
    -380             * property/component marshaller is not registered with the
    -381             * {@code registerMarshaller} method.)
    -382             */
    -383            public void add(ICalendar ical) {
    -384                    Element element = buildComponentElement(ical);
    -385                    if (root == null) {
    -386                            root = document.createElementNS(XCAL_NS, "icalendar");
    -387                            document.appendChild(root);
    -388                    }
    -389                    root.appendChild(element);
    -390            }
    -391    
    -392            /**
    -393             * Writes the xCal document to a string without pretty-printing it.
    -394             * @return the XML string
    -395             */
    -396            public String write() {
    -397                    return write(-1);
    -398            }
    -399    
    -400            /**
    -401             * Writes the xCal document to a string and pretty-prints it.
    -402             * @param indent the number of indent spaces to use for pretty-printing
    -403             * @return the XML string
    -404             */
    -405            public String write(int indent) {
    -406                    StringWriter sw = new StringWriter();
    -407                    try {
    -408                            write(sw, indent);
    -409                    } catch (TransformerException e) {
    -410                            //writing to string
    -411                    }
    -412                    return sw.toString();
    -413            }
    -414    
    -415            /**
    -416             * Writes the xCal document to an output stream without pretty-printing it.
    -417             * @param out the output stream
    -418             * @throws TransformerException if there's a problem writing to the output
    -419             * stream
    -420             */
    -421            public void write(OutputStream out) throws TransformerException {
    -422                    write(out, -1);
    -423            }
    -424    
    -425            /**
    -426             * Writes the xCal document to an output stream and pretty-prints it.
    -427             * @param out the output stream
    -428             * @param indent the number of indent spaces to use for pretty-printing
    -429             * @throws TransformerException if there's a problem writing to the output
    -430             * stream
    -431             */
    -432            public void write(OutputStream out, int indent) throws TransformerException {
    -433                    write(utf8Writer(out), indent);
    -434            }
    -435    
    -436            /**
    -437             * Writes the xCal document to a file without pretty-printing it.
    -438             * @param file the file
    -439             * @throws IOException if there's a problem writing to the file
    -440             * @throws TransformerException if there's a problem writing the XML
    -441             */
    -442            public void write(File file) throws TransformerException, IOException {
    -443                    write(file, -1);
    -444            }
    -445    
    -446            /**
    -447             * Writes the xCal document to a file and pretty-prints it.
    -448             * @param file the file stream
    -449             * @param indent the number of indent spaces to use for pretty-printing
    -450             * @throws IOException if there's a problem writing to the file
    -451             * @throws TransformerException if there's a problem writing the XML
    -452             */
    -453            public void write(File file, int indent) throws TransformerException, IOException {
    -454                    Writer writer = utf8Writer(file);
    -455                    try {
    -456                            write(writer, indent);
    -457                    } finally {
    -458                            IOUtils.closeQuietly(writer);
    -459                    }
    -460            }
    -461    
    -462            /**
    -463             * Writes the xCal document to a writer without pretty-printing it.
    -464             * @param writer the writer
    -465             * @throws TransformerException if there's a problem writing to the writer
    -466             */
    -467            public void write(Writer writer) throws TransformerException {
    -468                    write(writer, -1);
    -469            }
    -470    
    -471            /**
    -472             * Writes the xCal document to a writer and pretty-prints it.
    -473             * @param writer the writer
    -474             * @param indent the number of indent spaces to use for pretty-printing
    -475             * @throws TransformerException if there's a problem writing to the writer
    -476             */
    -477            public void write(Writer writer, int indent) throws TransformerException {
    -478                    Map<String, String> properties = new HashMap<String, String>();
    -479                    if (indent >= 0) {
    -480                            properties.put(OutputKeys.INDENT, "yes");
    -481                            properties.put("{http://xml.apache.org/xslt}indent-amount", indent + "");
    -482                    }
    -483                    XmlUtils.toWriter(document, writer, properties);
    -484            }
    -485    
    -486            @SuppressWarnings({ "rawtypes", "unchecked" })
    -487            private Element buildComponentElement(ICalComponent component) {
    -488                    ICalComponentMarshaller m = registrar.getComponentMarshaller(component);
    -489                    if (m == null) {
    -490                            throw new IllegalArgumentException("No marshaller found for component class \"" + component.getClass().getName() + "\".");
    -491                    }
    -492    
    -493                    Element componentElement = buildElement(m.getComponentName().toLowerCase());
    -494    
    -495                    Element propertiesWrapperElement = buildElement("properties");
    -496                    for (Object obj : m.getProperties(component)) {
    -497                            ICalProperty property = (ICalProperty) obj;
    -498    
    -499                            //create property element
    -500                            Element propertyElement = buildPropertyElement(property);
    -501                            if (propertyElement != null) {
    -502                                    propertiesWrapperElement.appendChild(propertyElement);
    -503                            }
    -504                    }
    -505                    if (propertiesWrapperElement.hasChildNodes()) {
    -506                            componentElement.appendChild(propertiesWrapperElement);
    -507                    }
    -508    
    -509                    Element componentsWrapperElement = buildElement("components");
    -510                    for (Object obj : m.getComponents(component)) {
    -511                            ICalComponent subComponent = (ICalComponent) obj;
    -512                            Element subComponentElement = buildComponentElement(subComponent);
    -513                            if (subComponentElement != null) {
    -514                                    componentsWrapperElement.appendChild(subComponentElement);
    -515                            }
    -516                    }
    -517                    if (componentsWrapperElement.hasChildNodes()) {
    -518                            componentElement.appendChild(componentsWrapperElement);
    -519                    }
    -520    
    -521                    return componentElement;
    -522            }
    -523    
    -524            @SuppressWarnings({ "rawtypes", "unchecked" })
    -525            private Element buildPropertyElement(ICalProperty property) {
    -526                    Element propertyElement;
    -527                    ICalParameters parameters;
    -528    
    -529                    if (property instanceof Xml) {
    -530                            Xml xml = (Xml) property;
    -531    
    -532                            Document value = xml.getValue();
    -533                            if (value == null) {
    -534                                    return null;
    -535                            }
    -536    
    -537                            //import the XML element into the xCal DOM
    -538                            propertyElement = XmlUtils.getRootElement(value);
    -539                            propertyElement = (Element) document.importNode(propertyElement, true);
    -540    
    -541                            //get parameters
    -542                            parameters = property.getParameters();
    -543                    } else {
    -544                            ICalPropertyMarshaller pm = registrar.getPropertyMarshaller(property);
    -545                            if (pm == null) {
    -546                                    throw new IllegalArgumentException("No marshaller found for property class \"" + property.getClass().getName() + "\".");
    -547                            }
    -548    
    -549                            propertyElement = buildElement(pm.getQName());
    -550    
    -551                            //marshal value
    -552                            try {
    -553                                    pm.writeXml(property, propertyElement);
    -554                            } catch (SkipMeException e) {
    -555                                    return null;
    -556                            }
    -557    
    -558                            //get parameters
    -559                            parameters = pm.prepareParameters(property);
    -560                    }
    -561    
    -562                    //build parameters
    -563                    Element parametersWrapperElement = buildParametersElement(parameters);
    -564                    if (parametersWrapperElement.hasChildNodes()) {
    -565                            propertyElement.insertBefore(parametersWrapperElement, propertyElement.getFirstChild());
    -566                    }
    -567    
    -568                    return propertyElement;
    -569            }
    -570    
    -571            private Element buildParametersElement(ICalParameters parameters) {
    -572                    Element parametersWrapperElement = buildElement("parameters");
    -573    
    -574                    for (Map.Entry<String, List<String>> parameter : parameters) {
    -575                            String name = parameter.getKey().toLowerCase();
    -576                            ICalDataType dataType = parameterDataTypes.get(name);
    -577                            String dataTypeStr = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -578    
    -579                            Element parameterElement = buildAndAppendElement(name, parametersWrapperElement);
    -580                            for (String parameterValue : parameter.getValue()) {
    -581                                    Element parameterValueElement = buildAndAppendElement(dataTypeStr, parameterElement);
    -582                                    parameterValueElement.setTextContent(parameterValue);
    -583                            }
    -584                    }
    -585    
    -586                    return parametersWrapperElement;
    -587            }
    -588    
    -589            private ICalendar parseICal(Element icalElement, List<String> warnings) {
    -590                    ICalComponent root = parseComponent(icalElement, warnings);
    -591    
    -592                    ICalendar ical;
    -593                    if (root instanceof ICalendar) {
    -594                            ical = (ICalendar) root;
    -595                    } else {
    -596                            //shouldn't happen, since only <vcalendar> elements are passed into this method
    -597                            ical = icalMarshaller.emptyInstance();
    -598                            ical.addComponent(root);
    -599                    }
    -600                    return ical;
    -601            }
    -602    
    -603            private ICalComponent parseComponent(Element componentElement, List<String> warnings) {
    -604                    //create the component object
    -605                    ICalComponentMarshaller<? extends ICalComponent> m = registrar.getComponentMarshaller(componentElement.getLocalName());
    -606                    ICalComponent component = m.emptyInstance();
    -607    
    -608                    //parse properties
    -609                    for (Element propertyWrapperElement : getChildElements(componentElement, "properties")) { //there should be only one <properties> element, but parse them all incase there are more
    -610                            for (Element propertyElement : XmlUtils.toElementList(propertyWrapperElement.getChildNodes())) {
    -611                                    ICalProperty property = parseProperty(propertyElement, warnings);
    -612                                    if (property != null) {
    -613                                            component.addProperty(property);
    -614                                    }
    -615                            }
    -616                    }
    -617    
    -618                    //parse sub-components
    -619                    for (Element componentWrapperElement : getChildElements(componentElement, "components")) { //there should be only one <components> element, but parse them all incase there are more
    -620                            for (Element subComponentElement : XmlUtils.toElementList(componentWrapperElement.getChildNodes())) {
    -621                                    if (!XCAL_NS.equals(subComponentElement.getNamespaceURI())) {
    -622                                            continue;
    -623                                    }
    -624    
    -625                                    ICalComponent subComponent = parseComponent(subComponentElement, warnings);
    -626                                    component.addComponent(subComponent);
    -627                            }
    -628                    }
    -629    
    -630                    return component;
    -631            }
    -632    
    -633            private ICalProperty parseProperty(Element propertyElement, List<String> warnings) {
    -634                    ICalParameters parameters = parseParameters(propertyElement);
    -635                    String propertyName = propertyElement.getLocalName();
    -636                    QName qname = new QName(propertyElement.getNamespaceURI(), propertyName);
    -637    
    -638                    ICalPropertyMarshaller<? extends ICalProperty> m = registrar.getPropertyMarshaller(qname);
    -639    
    -640                    ICalProperty property = null;
    -641                    try {
    -642                            Result<? extends ICalProperty> result = m.parseXml(propertyElement, parameters);
    -643    
    -644                            for (String warning : result.getWarnings()) {
    -645                                    addWarning(warning, propertyName, warnings);
    -646                            }
    -647    
    -648                            property = result.getProperty();
    -649                    } catch (SkipMeException e) {
    -650                            if (e.getMessage() == null) {
    -651                                    addWarning("Property has requested that it be skipped.", propertyName, warnings);
    -652                            } else {
    -653                                    addWarning("Property has requested that it be skipped: " + e.getMessage(), propertyName, warnings);
    -654                            }
    -655                            return null;
    -656                    } catch (CannotParseException e) {
    -657                            if (e.getMessage() == null) {
    -658                                    addWarning("Property could not be unmarshalled.  Unmarshalling as an " + Xml.class.getSimpleName() + " property instead.", propertyName, warnings);
    -659                            } else {
    -660                                    addWarning("Property could not be unmarshalled.  Unmarshalling as an " + Xml.class.getSimpleName() + " property instead: " + e.getMessage(), propertyName, warnings);
    -661                            }
    -662                    }
    -663    
    -664                    //unmarshal as an XML property
    -665                    if (property == null) {
    -666                            m = registrar.getPropertyMarshaller(Xml.class);
    -667    
    -668                            Result<? extends ICalProperty> result = m.parseXml(propertyElement, parameters);
    -669    
    -670                            for (String warning : result.getWarnings()) {
    -671                                    addWarning(warning, propertyName, warnings);
    -672                            }
    -673    
    -674                            property = result.getProperty();
    -675                    }
    -676    
    -677                    return property;
    -678            }
    -679    
    -680            private ICalParameters parseParameters(Element propertyElement) {
    -681                    ICalParameters parameters = new ICalParameters();
    -682    
    -683                    for (Element parametersElement : getChildElements(propertyElement, "parameters")) { //there should be only one <parameters> element, but parse them all incase there are more
    -684                            List<Element> paramElements = XmlUtils.toElementList(parametersElement.getChildNodes());
    -685                            for (Element paramElement : paramElements) {
    -686                                    String name = paramElement.getLocalName().toUpperCase();
    -687                                    List<Element> valueElements = XmlUtils.toElementList(paramElement.getChildNodes());
    -688                                    if (valueElements.isEmpty()) { //this should never be true if the xCal follows the specs
    -689                                            String value = paramElement.getTextContent();
    -690                                            parameters.put(name, value);
    -691                                    } else {
    -692                                            for (Element valueElement : valueElements) {
    -693                                                    String value = valueElement.getTextContent();
    -694                                                    parameters.put(name, value);
    -695                                            }
    -696                                    }
    -697                            }
    -698                    }
    -699    
    -700                    return parameters;
    -701            }
    -702    
    -703            private Element buildElement(String localName) {
    -704                    return buildElement(new QName(XCAL_NS, localName));
    -705            }
    -706    
    -707            private Element buildElement(QName qname) {
    -708                    return document.createElementNS(qname.getNamespaceURI(), qname.getLocalPart());
    -709            }
    -710    
    -711            private Element buildAndAppendElement(String localName, Element parent) {
    -712                    return buildAndAppendElement(new QName(XCAL_NS, localName), parent);
    -713            }
    -714    
    -715            private Element buildAndAppendElement(QName qname, Element parent) {
    -716                    Element child = document.createElementNS(qname.getNamespaceURI(), qname.getLocalPart());
    -717                    parent.appendChild(child);
    -718                    return child;
    -719            }
    -720    
    -721            private List<Element> getVCalendarElements() {
    -722                    return getChildElements(root, "vcalendar");
    -723            }
    -724    
    -725            private List<Element> getChildElements(Element parent, String localName) {
    -726                    List<Element> elements = new ArrayList<Element>();
    -727                    for (Element child : XmlUtils.toElementList(parent.getChildNodes())) {
    -728                            if (localName.equals(child.getLocalName()) && XCAL_NS.equals(child.getNamespaceURI())) {
    -729                                    elements.add(child);
    -730                            }
    -731                    }
    -732                    return elements;
    -733            }
    -734    
    -735            private void addWarning(String message, String propertyName, List<String> warnings) {
    -736                    warnings.add("<" + propertyName + "> property: " + message);
    -737            }
    -738    
    -739            @Override
    -740            public String toString() {
    -741                    return write(2);
    -742            }
    -743    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalElement.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalElement.html deleted file mode 100644 index 24de2450..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalElement.html +++ /dev/null @@ -1,289 +0,0 @@ - - -
    -001    package biweekly.io.xml;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    
    -005    import java.util.ArrayList;
    -006    import java.util.Collection;
    -007    import java.util.List;
    -008    
    -009    import org.w3c.dom.Document;
    -010    import org.w3c.dom.Element;
    -011    
    -012    import biweekly.ICalDataType;
    -013    import biweekly.util.XmlUtils;
    -014    
    -015    /*
    -016     Copyright (c) 2013, Michael Angstadt
    -017     All rights reserved.
    -018    
    -019     Redistribution and use in source and binary forms, with or without
    -020     modification, are permitted provided that the following conditions are met: 
    -021    
    -022     1. Redistributions of source code must retain the above copyright notice, this
    -023     list of conditions and the following disclaimer. 
    -024     2. Redistributions in binary form must reproduce the above copyright notice,
    -025     this list of conditions and the following disclaimer in the documentation
    -026     and/or other materials provided with the distribution. 
    -027    
    -028     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -029     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -030     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -031     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -032     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -033     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -034     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -035     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -036     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -037     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -038     */
    -039    
    -040    /**
    -041     * Wraps xCal functionality around an XML {@link Element} object.
    -042     * @author Michael Angstadt
    -043     */
    -044    public class XCalElement {
    -045            private final Element element;
    -046            private final Document document;
    -047    
    -048            /**
    -049             * Creates a new xCal element.
    -050             * @param element the XML element to wrap
    -051             */
    -052            public XCalElement(Element element) {
    -053                    this.element = element;
    -054                    document = element.getOwnerDocument();
    -055            }
    -056    
    -057            /**
    -058             * Gets the first value of the given data type.
    -059             * @param dataType the data type to look for or null for the "unknown" data
    -060             * type
    -061             * @return the value or null if not found
    -062             */
    -063            public String first(ICalDataType dataType) {
    -064                    String dataTypeStr = toLocalName(dataType);
    -065                    return first(dataTypeStr);
    -066            }
    -067    
    -068            /**
    -069             * Gets the value of the first child element with the given name.
    -070             * @param localName the name of the element
    -071             * @return the element's text or null if not found
    -072             */
    -073            public String first(String localName) {
    -074                    for (Element child : children()) {
    -075                            if (localName.equals(child.getLocalName()) && XCAL_NS.equals(child.getNamespaceURI())) {
    -076                                    return child.getTextContent();
    -077                            }
    -078                    }
    -079                    return null;
    -080            }
    -081    
    -082            /**
    -083             * Gets all the values of a given data type.
    -084             * @param dataType the data type to look for or null for the "unknown" data
    -085             * type
    -086             * @return the values
    -087             */
    -088            public List<String> all(ICalDataType dataType) {
    -089                    String dataTypeStr = toLocalName(dataType);
    -090                    return all(dataTypeStr);
    -091            }
    -092    
    -093            /**
    -094             * Gets the values of all child elements that have the given name.
    -095             * @param localName the element name
    -096             * @return the values of the child elements
    -097             */
    -098            public List<String> all(String localName) {
    -099                    List<String> childrenText = new ArrayList<String>();
    -100                    for (Element child : children()) {
    -101                            if (localName.equals(child.getLocalName()) && XCAL_NS.equals(child.getNamespaceURI())) {
    -102                                    String text = child.getTextContent();
    -103                                    childrenText.add(text);
    -104                            }
    -105                    }
    -106                    return childrenText;
    -107            }
    -108    
    -109            /**
    -110             * Adds a value.
    -111             * @param dataType the data type or null for the "unknown" data type
    -112             * @param value the value
    -113             * @return the created element
    -114             */
    -115            public Element append(ICalDataType dataType, String value) {
    -116                    String dataTypeStr = toLocalName(dataType);
    -117                    return append(dataTypeStr, value);
    -118            }
    -119    
    -120            /**
    -121             * Adds a child element.
    -122             * @param name the name of the child element
    -123             * @param value the value of the child element.
    -124             * @return the created element
    -125             */
    -126            public Element append(String name, String value) {
    -127                    Element child = document.createElementNS(XCAL_NS, name);
    -128                    child.setTextContent(value);
    -129                    element.appendChild(child);
    -130                    return child;
    -131            }
    -132    
    -133            /**
    -134             * Adds a child element.
    -135             * @param name the name of the child element
    -136             * @return the created element
    -137             */
    -138            public XCalElement append(String name) {
    -139                    return new XCalElement(append(name, (String) null));
    -140            }
    -141    
    -142            /**
    -143             * Adds an empty value.
    -144             * @param dataType the data type
    -145             * @return the created element
    -146             */
    -147            public XCalElement append(ICalDataType dataType) {
    -148                    return append(dataType.getName().toLowerCase());
    -149            }
    -150    
    -151            /**
    -152             * Adds multiple child elements, each with the same name.
    -153             * @param name the name for all the child elements
    -154             * @param values the values of each child element
    -155             * @return the created elements
    -156             */
    -157            public List<Element> append(String name, Collection<String> values) {
    -158                    List<Element> elements = new ArrayList<Element>(values.size());
    -159                    for (String value : values) {
    -160                            elements.add(append(name, value));
    -161                    }
    -162                    return elements;
    -163            }
    -164    
    -165            /**
    -166             * Gets the owner document.
    -167             * @return the owner document
    -168             */
    -169            public Document document() {
    -170                    return document;
    -171            }
    -172    
    -173            /**
    -174             * Gets the wrapped XML element.
    -175             * @return the wrapped XML element
    -176             */
    -177            public Element getElement() {
    -178                    return element;
    -179            }
    -180    
    -181            /**
    -182             * Gets the child elements of the wrapped XML element.
    -183             * @return the child elements
    -184             */
    -185            private List<Element> children() {
    -186                    return XmlUtils.toElementList(element.getChildNodes());
    -187            }
    -188    
    -189            /**
    -190             * Gets all child elements with the given data type.
    -191             * @param dataType the data type
    -192             * @return the child elements
    -193             */
    -194            public List<XCalElement> children(ICalDataType dataType) {
    -195                    String localName = dataType.getName().toLowerCase();
    -196                    List<XCalElement> children = new ArrayList<XCalElement>();
    -197                    for (Element child : children()) {
    -198                            if (localName.equals(child.getLocalName()) && XCAL_NS.equals(child.getNamespaceURI())) {
    -199                                    children.add(new XCalElement(child));
    -200                            }
    -201                    }
    -202                    return children;
    -203            }
    -204    
    -205            /**
    -206             * Gets the first child element with the given data type.
    -207             * @param dataType the data type
    -208             * @return the child element or null if not found
    -209             */
    -210            public XCalElement child(ICalDataType dataType) {
    -211                    String localName = dataType.getName().toLowerCase();
    -212                    for (Element child : children()) {
    -213                            if (localName.equals(child.getLocalName()) && XCAL_NS.equals(child.getNamespaceURI())) {
    -214                                    return new XCalElement(child);
    -215                            }
    -216                    }
    -217                    return null;
    -218            }
    -219    
    -220            private String toLocalName(ICalDataType dataType) {
    -221                    return (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -222            }
    -223    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalNamespaceContext.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalNamespaceContext.html deleted file mode 100644 index be6413fb..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/io/xml/XCalNamespaceContext.html +++ /dev/null @@ -1,152 +0,0 @@ - - -
    -001    package biweekly.io.xml;
    -002    
    -003    import java.util.Arrays;
    -004    import java.util.Iterator;
    -005    
    -006    import javax.xml.namespace.NamespaceContext;
    -007    import javax.xml.xpath.XPath;
    -008    
    -009    /*
    -010     Copyright (c) 2013, Michael Angstadt
    -011     All rights reserved.
    -012    
    -013     Redistribution and use in source and binary forms, with or without
    -014     modification, are permitted provided that the following conditions are met: 
    -015    
    -016     1. Redistributions of source code must retain the above copyright notice, this
    -017     list of conditions and the following disclaimer. 
    -018     2. Redistributions in binary form must reproduce the above copyright notice,
    -019     this list of conditions and the following disclaimer in the documentation
    -020     and/or other materials provided with the distribution. 
    -021    
    -022     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -023     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -024     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -025     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -026     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -027     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -028     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -029     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -030     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -031     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -032     */
    -033    
    -034    /**
    -035     * Used for xCal xpath expressions.
    -036     * @see XPath#setNamespaceContext(NamespaceContext)
    -037     * @author Michael Angstadt
    -038     */
    -039    public class XCalNamespaceContext implements NamespaceContext {
    -040            /**
    -041             * The XML namespace for xCal documents.
    -042             */
    -043            public static final String XCAL_NS = "urn:ietf:params:xml:ns:icalendar-2.0";
    -044    
    -045            private final String prefix;
    -046    
    -047            /**
    -048             * Creates a new namespace context.
    -049             * @param prefix the prefix to use in xpath expressions
    -050             */
    -051            public XCalNamespaceContext(String prefix) {
    -052                    this.prefix = prefix;
    -053            }
    -054    
    -055            /**
    -056             * Gets the prefix to use in xpath expressions.
    -057             * @return the xpath prefix
    -058             */
    -059            public String getPrefix() {
    -060                    return prefix;
    -061            }
    -062    
    -063            //@Override
    -064            public String getNamespaceURI(String prefix) {
    -065                    if (this.prefix.equals(prefix)) {
    -066                            return XCAL_NS;
    -067                    }
    -068                    return null;
    -069            }
    -070    
    -071            //@Override
    -072            public String getPrefix(String ns) {
    -073                    if (XCAL_NS.equals(ns)) {
    -074                            return prefix;
    -075                    }
    -076                    return null;
    -077            }
    -078    
    -079            //@Override
    -080            public Iterator<String> getPrefixes(String ns) {
    -081                    if (XCAL_NS.equals(ns)) {
    -082                            return Arrays.asList(prefix).iterator();
    -083                    }
    -084                    return null;
    -085            }
    -086    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/CalendarUserType.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/CalendarUserType.html deleted file mode 100644 index 982305ef..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/CalendarUserType.html +++ /dev/null @@ -1,143 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Defines the type of user an entity is.
    -032     * @author Michael Angstadt
    -033     * @rfc 5545 p.16
    -034     */
    -035    public class CalendarUserType extends EnumParameterValue {
    -036            private static final ICalParameterCaseClasses<CalendarUserType> enums = new ICalParameterCaseClasses<CalendarUserType>(CalendarUserType.class);
    -037    
    -038            public static final CalendarUserType INDIVIDUAL = new CalendarUserType("INDIVIDUAL");
    -039            public static final CalendarUserType GROUP = new CalendarUserType("GROUP");
    -040            public static final CalendarUserType RESOURCE = new CalendarUserType("RESOURCE");
    -041            public static final CalendarUserType ROOM = new CalendarUserType("ROOM");
    -042            public static final CalendarUserType UNKNOWN = new CalendarUserType("UNKNOWN");
    -043    
    -044            private CalendarUserType(String value) {
    -045                    super(value);
    -046            }
    -047    
    -048            /**
    -049             * Searches for a parameter value that is defined as a static constant in
    -050             * this class.
    -051             * @param value the parameter value
    -052             * @return the object or null if not found
    -053             */
    -054            public static CalendarUserType find(String value) {
    -055                    return enums.find(value);
    -056            }
    -057    
    -058            /**
    -059             * Searches for a parameter value and creates one if it cannot be found. All
    -060             * objects are guaranteed to be unique, so they can be compared with
    -061             * {@code ==} equality.
    -062             * @param value the parameter value
    -063             * @return the object
    -064             */
    -065            public static CalendarUserType get(String value) {
    -066                    return enums.get(value);
    -067            }
    -068    
    -069            /**
    -070             * Gets all of the parameter values that are defined as static constants in
    -071             * this class.
    -072             * @return the parameter values
    -073             */
    -074            public static Collection<CalendarUserType> all() {
    -075                    return enums.all();
    -076            }
    -077    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Encoding.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Encoding.html deleted file mode 100644 index 9078957d..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Encoding.html +++ /dev/null @@ -1,141 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Defines how a property value is encoded.
    -032     * @author Michael Angstadt
    -033     * @rfc 5545 p.18-9
    -034     */
    -035    public class Encoding extends EnumParameterValue {
    -036            private static final ICalParameterCaseClasses<Encoding> enums = new ICalParameterCaseClasses<Encoding>(Encoding.class);
    -037    
    -038            public static final Encoding BASE64 = new Encoding("BASE64");
    -039    
    -040            public static final Encoding _8BIT = new Encoding("8BIT");
    -041    
    -042            private Encoding(String value) {
    -043                    super(value);
    -044            }
    -045    
    -046            /**
    -047             * Searches for a parameter value that is defined as a static constant in
    -048             * this class.
    -049             * @param value the parameter value
    -050             * @return the object or null if not found
    -051             */
    -052            public static Encoding find(String value) {
    -053                    return enums.find(value);
    -054            }
    -055    
    -056            /**
    -057             * Searches for a parameter value and creates one if it cannot be found. All
    -058             * objects are guaranteed to be unique, so they can be compared with
    -059             * {@code ==} equality.
    -060             * @param value the parameter value
    -061             * @return the object
    -062             */
    -063            public static Encoding get(String value) {
    -064                    return enums.get(value);
    -065            }
    -066    
    -067            /**
    -068             * Gets all of the parameter values that are defined as static constants in
    -069             * this class.
    -070             * @return the parameter values
    -071             */
    -072            public static Collection<Encoding> all() {
    -073                    return enums.all();
    -074            }
    -075    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/EnumParameterValue.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/EnumParameterValue.html deleted file mode 100644 index ff694353..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/EnumParameterValue.html +++ /dev/null @@ -1,124 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * Represents a value from a parameter that has a list of pre-defined values
    -030     * (for example, the VALUE or ACTION parameters).
    -031     * @author Michael Angstadt
    -032     */
    -033    public class EnumParameterValue {
    -034            /**
    -035             * The value (for example, "text").
    -036             */
    -037            protected final String value;
    -038    
    -039            /**
    -040             * @param value the value (e.g. "text")
    -041             */
    -042            protected EnumParameterValue(String value) {
    -043                    this.value = value;
    -044            }
    -045    
    -046            /**
    -047             * Gets the value of the parameter.
    -048             * @return the value of the parameter (e.g. "text")
    -049             */
    -050            public String getValue() {
    -051                    return value;
    -052            }
    -053    
    -054            @Override
    -055            public String toString() {
    -056                    return value;
    -057            }
    -058    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/FreeBusyType.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/FreeBusyType.html deleted file mode 100644 index 27ec5f86..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/FreeBusyType.html +++ /dev/null @@ -1,142 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Defines whether a calendar user is free or busy over a time period.
    -032     * @author Michael Angstadt
    -033     * @rfc 5545 p.20-1
    -034     */
    -035    public class FreeBusyType extends EnumParameterValue {
    -036            private static final ICalParameterCaseClasses<FreeBusyType> enums = new ICalParameterCaseClasses<FreeBusyType>(FreeBusyType.class);
    -037    
    -038            public static final FreeBusyType FREE = new FreeBusyType("FREE");
    -039            public static final FreeBusyType BUSY = new FreeBusyType("BUSY");
    -040            public static final FreeBusyType BUSY_UNAVAILABLE = new FreeBusyType("BUSY-UNAVAILABLE");
    -041            public static final FreeBusyType BUSY_TENTATIVE = new FreeBusyType("BUSY-TENTATIVE");
    -042    
    -043            private FreeBusyType(String value) {
    -044                    super(value);
    -045            }
    -046    
    -047            /**
    -048             * Searches for a parameter value that is defined as a static constant in
    -049             * this class.
    -050             * @param value the parameter value
    -051             * @return the object or null if not found
    -052             */
    -053            public static FreeBusyType find(String value) {
    -054                    return enums.find(value);
    -055            }
    -056    
    -057            /**
    -058             * Searches for a parameter value and creates one if it cannot be found. All
    -059             * objects are guaranteed to be unique, so they can be compared with
    -060             * {@code ==} equality.
    -061             * @param value the parameter value
    -062             * @return the object
    -063             */
    -064            public static FreeBusyType get(String value) {
    -065                    return enums.get(value);
    -066            }
    -067    
    -068            /**
    -069             * Gets all of the parameter values that are defined as static constants in
    -070             * this class.
    -071             * @return the parameter values
    -072             */
    -073            public static Collection<FreeBusyType> all() {
    -074                    return enums.all();
    -075            }
    -076    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ICalParameterCaseClasses.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ICalParameterCaseClasses.html deleted file mode 100644 index fe3ca839..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ICalParameterCaseClasses.html +++ /dev/null @@ -1,125 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.lang.reflect.Constructor;
    -004    
    -005    import biweekly.util.CaseClasses;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Manages the list of pre-defined values for a parameter (such as VALUE or
    -034     * ENCODING).
    -035     * @author Michael Angstadt
    -036     * @param <T> the parameter class
    -037     */
    -038    public class ICalParameterCaseClasses<T extends EnumParameterValue> extends CaseClasses<T, String> {
    -039            public ICalParameterCaseClasses(Class<T> clazz) {
    -040                    super(clazz);
    -041            }
    -042    
    -043            @Override
    -044            protected T create(String value) {
    -045                    try {
    -046                            //reflection: return new ClassName(value);
    -047                            Constructor<T> constructor = clazz.getDeclaredConstructor(String.class);
    -048                            constructor.setAccessible(true);
    -049                            return constructor.newInstance(value);
    -050                    } catch (Exception e) {
    -051                            throw new RuntimeException(e);
    -052                    }
    -053            }
    -054    
    -055            @Override
    -056            protected boolean matches(T object, String value) {
    -057                    return object.value.equalsIgnoreCase(value);
    -058            }
    -059    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ICalParameters.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ICalParameters.html deleted file mode 100644 index 950c0123..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ICalParameters.html +++ /dev/null @@ -1,691 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.List;
    -005    
    -006    import biweekly.ICalDataType;
    -007    import biweekly.component.VTimezone;
    -008    import biweekly.property.FreeBusy;
    -009    import biweekly.property.RecurrenceId;
    -010    import biweekly.property.RelatedTo;
    -011    import biweekly.property.TimezoneId;
    -012    import biweekly.property.Trigger;
    -013    import biweekly.util.ListMultimap;
    -014    
    -015    /*
    -016     Copyright (c) 2013, Michael Angstadt
    -017     All rights reserved.
    -018    
    -019     Redistribution and use in source and binary forms, with or without
    -020     modification, are permitted provided that the following conditions are met: 
    -021    
    -022     1. Redistributions of source code must retain the above copyright notice, this
    -023     list of conditions and the following disclaimer. 
    -024     2. Redistributions in binary form must reproduce the above copyright notice,
    -025     this list of conditions and the following disclaimer in the documentation
    -026     and/or other materials provided with the distribution. 
    -027    
    -028     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -029     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -030     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -031     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -032     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -033     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -034     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -035     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -036     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -037     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -038     */
    -039    
    -040    /**
    -041     * Contains the list of parameters that belong to a property.
    -042     * @author Michael Angstadt
    -043     */
    -044    public class ICalParameters extends ListMultimap<String, String> {
    -045            public static final String CN = "CN";
    -046            public static final String ALTREP = "ALTREP";
    -047            public static final String CUTYPE = "CUTYPE";
    -048            public static final String DELEGATED_FROM = "DELEGATED-FROM";
    -049            public static final String DELEGATED_TO = "DELEGATED-TO";
    -050            public static final String DIR = "DIR";
    -051            public static final String ENCODING = "ENCODING";
    -052            public static final String FMTTYPE = "FMTTYPE";
    -053            public static final String FBTYPE = "FBTYPE";
    -054            public static final String LANGUAGE = "LANGUAGE";
    -055            public static final String MEMBER = "MEMBER";
    -056            public static final String PARTSTAT = "PARTSTAT";
    -057            public static final String RANGE = "RANGE";
    -058            public static final String RELATED = "RELATED";
    -059            public static final String RELTYPE = "RELTYPE";
    -060            public static final String ROLE = "ROLE";
    -061            public static final String RSVP = "RSVP";
    -062            public static final String SENT_BY = "SENT-BY";
    -063            public static final String TZID = "TZID";
    -064            public static final String VALUE = "VALUE";
    -065    
    -066            /**
    -067             * Creates a parameters list.
    -068             */
    -069            public ICalParameters() {
    -070                    super(0); //initialize map size to 0 because most properties don't use any parameters
    -071            }
    -072    
    -073            /**
    -074             * Copies an existing parameters list.
    -075             * @param parameters the list to copy
    -076             */
    -077            public ICalParameters(ICalParameters parameters) {
    -078                    super(parameters);
    -079            }
    -080    
    -081            /**
    -082             * Gets a URI pointing to additional information about the entity
    -083             * represented by the property.
    -084             * @return the URI or null if not set
    -085             * @rfc 5545 p.14-5
    -086             */
    -087            public String getAltRepresentation() {
    -088                    return first(ALTREP);
    -089            }
    -090    
    -091            /**
    -092             * Sets a URI pointing to additional information about the entity
    -093             * represented by the property.
    -094             * @param uri the URI or null to remove
    -095             * @rfc 5545 p.14-5
    -096             */
    -097            public void setAltRepresentation(String uri) {
    -098                    replace(ALTREP, uri);
    -099            }
    -100    
    -101            /**
    -102             * Gets the display name of a person.
    -103             * @return the display name (e.g. "John Doe") or null if not set
    -104             * @rfc 5545 p.15-6
    -105             */
    -106            public String getCommonName() {
    -107                    return first(CN);
    -108            }
    -109    
    -110            /**
    -111             * Sets the display name of a person.
    -112             * @param cn the display name (e.g. "John Doe") or null to remove
    -113             * @rfc 5545 p.15-6
    -114             */
    -115            public void setCommonName(String cn) {
    -116                    replace(CN, cn);
    -117            }
    -118    
    -119            /**
    -120             * Gets the type of user an attendee is (for example, an "individual" or a
    -121             * "room").
    -122             * @return the calendar user type or null if not set
    -123             * @rfc 5545 p.16
    -124             */
    -125            public CalendarUserType getCalendarUserType() {
    -126                    String value = first(CUTYPE);
    -127                    return (value == null) ? null : CalendarUserType.get(value);
    -128            }
    -129    
    -130            /**
    -131             * Sets the type of user an attendee is (for example, an "individual" or a
    -132             * "room").
    -133             * @param cutype the calendar user type or null to remove
    -134             * @rfc 5545 p.16
    -135             */
    -136            public void setCalendarUserType(CalendarUserType cutype) {
    -137                    replace(CUTYPE, (cutype == null) ? null : cutype.getValue());
    -138            }
    -139    
    -140            /**
    -141             * Gets the people who have delegated their responsibility to an attendee.
    -142             * @return the delegators (typically email URIs, e.g.
    -143             * "mailto:janedoe@example.com")
    -144             * @rfc 5545 p.17
    -145             */
    -146            public List<String> getDelegatedFrom() {
    -147                    return get(DELEGATED_FROM);
    -148            }
    -149    
    -150            /**
    -151             * Adds a person who has delegated his or her responsibility to an attendee.
    -152             * @param uri the delegator (typically an email URI, e.g.
    -153             * "mailto:janedoe@example.com")
    -154             * @rfc 5545 p.17
    -155             */
    -156            public void addDelegatedFrom(String uri) {
    -157                    put(DELEGATED_FROM, uri);
    -158            }
    -159    
    -160            /**
    -161             * Removes a person who has delegated his or her responsibility to an
    -162             * attendee.
    -163             * @param uri the delegator to remove (typically an email URI, e.g.
    -164             * "mailto:janedoe@example.com")
    -165             * @rfc 5545 p.17
    -166             */
    -167            public void removeDelegatedFrom(String uri) {
    -168                    remove(DELEGATED_FROM, uri);
    -169            }
    -170    
    -171            /**
    -172             * Removes everyone who has delegated his or her responsibility to an
    -173             * attendee.
    -174             * @rfc 5545 p.17
    -175             */
    -176            public void removeDelegatedFrom() {
    -177                    removeAll(DELEGATED_FROM);
    -178            }
    -179    
    -180            /**
    -181             * Gets the people to which an attendee has delegated his or her
    -182             * responsibility.
    -183             * @return the delegatees (typically email URIs, e.g.
    -184             * "mailto:janedoe@example.com")
    -185             * @rfc 5545 p.17-8
    -186             */
    -187            public List<String> getDelegatedTo() {
    -188                    return get(DELEGATED_TO);
    -189            }
    -190    
    -191            /**
    -192             * Adds a person to which an attendee has delegated his or her
    -193             * responsibility.
    -194             * @param uri the delegatee (typically an email URI, e.g.
    -195             * "mailto:janedoe@example.com")
    -196             * @rfc 5545 p.17-8
    -197             */
    -198            public void addDelegatedTo(String uri) {
    -199                    put(DELEGATED_TO, uri);
    -200            }
    -201    
    -202            /**
    -203             * Removes a person to which an attendee has delegated his or her
    -204             * responsibility.
    -205             * @param uri the delegatee to remove (typically an email URI, e.g.
    -206             * "mailto:janedoe@example.com")
    -207             * @rfc 5545 p.17-8
    -208             */
    -209            public void removeDelegatedTo(String uri) {
    -210                    remove(DELEGATED_TO, uri);
    -211            }
    -212    
    -213            /**
    -214             * Removes everyone to which an attendee has delegated his or her
    -215             * responsibility.
    -216             * @rfc 5545 p.17-8
    -217             */
    -218            public void removeDelegatedTo() {
    -219                    removeAll(DELEGATED_TO);
    -220            }
    -221    
    -222            /**
    -223             * Gets a URI that contains additional information about the person.
    -224             * @return the URI (e.g. an LDAP URI) or null if not set
    -225             * @rfc 5545 p.18
    -226             */
    -227            public String getDirectoryEntry() {
    -228                    return first(DIR);
    -229            }
    -230    
    -231            /**
    -232             * Sets a URI that contains additional information about the person.
    -233             * @param uri the URI (e.g. an LDAP URI) or null to remove
    -234             * @rfc 5545 p.18
    -235             */
    -236            public void setDirectoryEntry(String uri) {
    -237                    replace(DIR, uri);
    -238            }
    -239    
    -240            /**
    -241             * Gets the encoding of the property value (for example, "base64").
    -242             * @return the encoding or null if not set
    -243             * @rfc 5545 p.18-9
    -244             */
    -245            public Encoding getEncoding() {
    -246                    String value = first(ENCODING);
    -247                    return (value == null) ? null : Encoding.get(value);
    -248            }
    -249    
    -250            /**
    -251             * Sets the encoding of the property value (for example, "base64").
    -252             * @param encoding the encoding or null to remove
    -253             * @rfc 5545 p.18-9
    -254             */
    -255            public void setEncoding(Encoding encoding) {
    -256                    replace(ENCODING, (encoding == null) ? null : encoding.getValue());
    -257            }
    -258    
    -259            /**
    -260             * Gets the content-type of the property's value.
    -261             * @return the content type (e.g. "image/png") or null if not set
    -262             * @rfc 5545 p.19-20
    -263             */
    -264            public String getFormatType() {
    -265                    return first(FMTTYPE);
    -266            }
    -267    
    -268            /**
    -269             * Sets the content-type of the property's value.
    -270             * @param formatType the content type (e.g. "image/png") or null to remove
    -271             * @rfc 5545 p.19-20
    -272             */
    -273            public void setFormatType(String formatType) {
    -274                    replace(FMTTYPE, formatType);
    -275            }
    -276    
    -277            /**
    -278             * Gets the person's status over the time periods that are specified in a
    -279             * {@link FreeBusy} property (for example, "free" or "busy"). If not set,
    -280             * the user should be considered "busy".
    -281             * @return the type or null if not set
    -282             * @rfc 5545 p.20
    -283             */
    -284            public FreeBusyType getFreeBusyType() {
    -285                    String value = first(FBTYPE);
    -286                    return (value == null) ? null : FreeBusyType.get(value);
    -287            }
    -288    
    -289            /**
    -290             * Sets the person's status over the time periods that are specified in a
    -291             * {@link FreeBusy} property (for example, "free" or "busy"). If not set,
    -292             * the user should be considered "busy".
    -293             * @param fbType the type or null to remove
    -294             * @rfc 5545 p.20
    -295             */
    -296            public void setFreeBusyType(FreeBusyType fbType) {
    -297                    replace(FBTYPE, (fbType == null) ? null : fbType.getValue());
    -298            }
    -299    
    -300            /**
    -301             * Gets the language that the property value is written in.
    -302             * @return the language (e.g. "en" for English) or null if not set
    -303             * @rfc 5545 p.21
    -304             */
    -305            public String getLanguage() {
    -306                    return first(LANGUAGE);
    -307            }
    -308    
    -309            /**
    -310             * Sets the language that the property value is written in.
    -311             * @param language the language (e.g. "en" for English) or null to remove
    -312             * @rfc 5545 p.21
    -313             */
    -314            public void setLanguage(String language) {
    -315                    replace(LANGUAGE, language);
    -316            }
    -317    
    -318            /**
    -319             * Adds a group that an attendee is a member of.
    -320             * @param uri the group URI (typically, an email address URI, e.g.
    -321             * "mailto:mailinglist@example.com")
    -322             * @rfc 5545 p.21-2
    -323             */
    -324            public void addMember(String uri) {
    -325                    put(MEMBER, uri);
    -326            }
    -327    
    -328            /**
    -329             * Gets the groups that an attendee is a member of.
    -330             * @return the group URIs (typically, these are email address URIs, e.g.
    -331             * "mailto:mailinglist@example.com")
    -332             * @rfc 5545 p.21-2
    -333             */
    -334            public List<String> getMembers() {
    -335                    return get(MEMBER);
    -336            }
    -337    
    -338            /**
    -339             * Removes a group that an attendee is a member of.
    -340             * @param uri the group URI to remove (typically, an email address URI, e.g.
    -341             * "mailto:mailinglist@example.com")
    -342             * @rfc 5545 p.21-2
    -343             */
    -344            public void removeMember(String uri) {
    -345                    remove(MEMBER, uri);
    -346            }
    -347    
    -348            /**
    -349             * Removes all groups that an attendee is a member of.
    -350             * @rfc 5545 p.21-2
    -351             */
    -352            public void removeMembers() {
    -353                    removeAll(MEMBER);
    -354            }
    -355    
    -356            /**
    -357             * Gets an attendee's level of participation.
    -358             * @return the participation status or null if not set
    -359             * @rfc 5545 p.22-3
    -360             */
    -361            public ParticipationStatus getParticipationStatus() {
    -362                    String value = first(PARTSTAT);
    -363                    return (value == null) ? null : ParticipationStatus.get(value);
    -364            }
    -365    
    -366            /**
    -367             * Sets an attendee's level of participation.
    -368             * @param status the participation status or null to remove
    -369             * @rfc 5545 p.22-3
    -370             */
    -371            public void setParticipationStatus(ParticipationStatus status) {
    -372                    replace(PARTSTAT, (status == null) ? null : status.getValue());
    -373            }
    -374    
    -375            /**
    -376             * Gets the effective range of recurrence instances from the instance
    -377             * specified by a {@link RecurrenceId} property.
    -378             * @return the range or null if not set
    -379             * @rfc 5545 p.23-4
    -380             */
    -381            public Range getRange() {
    -382                    String value = first(RANGE);
    -383                    return (value == null) ? null : Range.get(value);
    -384            }
    -385    
    -386            /**
    -387             * Sets the effective range of recurrence instances from the instance
    -388             * specified by a {@link RecurrenceId} property.
    -389             * @param range the range or null to remove
    -390             * @rfc 5545 p.23-4
    -391             */
    -392            public void setRange(Range range) {
    -393                    replace(RANGE, (range == null) ? null : range.getValue());
    -394            }
    -395    
    -396            /**
    -397             * Gets the date-time field that the duration in a {@link Trigger} property
    -398             * is relative to.
    -399             * @return the field or null if not set
    -400             * @rfc 5545 p.24
    -401             */
    -402            public Related getRelated() {
    -403                    String value = first(RELATED);
    -404                    return (value == null) ? null : Related.get(value);
    -405            }
    -406    
    -407            /**
    -408             * Sets the date-time field that the duration in a {@link Trigger} property
    -409             * is relative to.
    -410             * @param related the field or null to remove
    -411             * @rfc 5545 p.24
    -412             */
    -413            public void setRelated(Related related) {
    -414                    replace(RELATED, (related == null) ? null : related.getValue());
    -415            }
    -416    
    -417            /**
    -418             * Gets the relationship type of a {@link RelatedTo} property.
    -419             * @return the relationship type (e.g. "child") or null if not set
    -420             * @rfc 5545 p.25
    -421             */
    -422            public RelationshipType getRelationshipType() {
    -423                    String value = first(RELTYPE);
    -424                    return (value == null) ? null : RelationshipType.get(value);
    -425            }
    -426    
    -427            /**
    -428             * Sets the relationship type of a {@link RelatedTo} property.
    -429             * @param relationshipType the relationship type (e.g. "child") or null to
    -430             * remove
    -431             * @rfc 5545 p.25
    -432             */
    -433            public void setRelationshipType(RelationshipType relationshipType) {
    -434                    replace(RELTYPE, (relationshipType == null) ? null : relationshipType.getValue());
    -435            }
    -436    
    -437            /**
    -438             * Gets an attendee's role (for example, "chair" or "required participant").
    -439             * @return the role or null if not set
    -440             * @rfc 5545 p.25-6
    -441             */
    -442            public Role getRole() {
    -443                    String value = first(ROLE);
    -444                    return (value == null) ? null : Role.get(value);
    -445            }
    -446    
    -447            /**
    -448             * Sets an attendee's role (for example, "chair" or "required participant").
    -449             * @param role the role or null to remove
    -450             * @rfc 5545 p.25-6
    -451             */
    -452            public void setRole(Role role) {
    -453                    replace(ROLE, (role == null) ? null : role.getValue());
    -454            }
    -455    
    -456            /**
    -457             * Gets whether the organizer requests a response from an attendee.
    -458             * @throws IllegalStateException if the parameter value is malformed and
    -459             * cannot be parsed
    -460             * @return true if an RSVP is requested, false if not, null if not set
    -461             * @rfc 5545 p.26-7
    -462             */
    -463            public Boolean getRsvp() {
    -464                    String value = first(RSVP);
    -465    
    -466                    if (value == null) {
    -467                            return null;
    -468                    }
    -469                    if ("true".equalsIgnoreCase(value)) {
    -470                            return true;
    -471                    }
    -472                    if ("false".equalsIgnoreCase(value)) {
    -473                            return false;
    -474                    }
    -475                    throw new IllegalStateException(RSVP + " parameter value is malformed and could not be parsed. Retrieve its raw text value instead.");
    -476            }
    -477    
    -478            /**
    -479             * Sets whether the organizer requests a response from an attendee.
    -480             * @param rsvp true if an RSVP has been requested, false if not, null to
    -481             * remove
    -482             * @rfc 5545 p.26-7
    -483             */
    -484            public void setRsvp(Boolean rsvp) {
    -485                    replace(RSVP, (rsvp == null) ? null : rsvp.toString().toUpperCase());
    -486            }
    -487    
    -488            /**
    -489             * Gets a person that is acting on behalf of the person defined in the
    -490             * property.
    -491             * @return a URI representing the person (typically, an email URI, e.g.
    -492             * "mailto:janedoe@example.com") or null if not set
    -493             * @rfc 5545 p.27
    -494             */
    -495            public String getSentBy() {
    -496                    return first(SENT_BY);
    -497            }
    -498    
    -499            /**
    -500             * Sets a person that is acting on behalf of the person defined in the
    -501             * property.
    -502             * @param uri a URI representing the person (typically, an email URI, e.g.
    -503             * "mailto:janedoe@example.com") or null to remove
    -504             * @rfc 5545 p.27
    -505             */
    -506            public void setSentBy(String uri) {
    -507                    replace(SENT_BY, uri);
    -508            }
    -509    
    -510            /**
    -511             * Gets the timezone identifier. This either (a) references the
    -512             * {@link TimezoneId} property of a {@link VTimezone} component, or (b)
    -513             * specifies a globally-defined timezone (e.g. "America/New_York"). For a
    -514             * list of globally-defined timezones, see the <a
    -515             * href="http://www.twinsun.com/tz/tz-link.htm">TZ database</a>.
    -516             * @return the timezone identifier or null if not set
    -517             * @rfc 5545 p.27-8
    -518             */
    -519            public String getTimezoneId() {
    -520                    return first(TZID);
    -521            }
    -522    
    -523            /**
    -524             * Sets the timezone identifier. This either (a) references the
    -525             * {@link TimezoneId} property of a {@link VTimezone} component, or (b)
    -526             * specifies a globally-defined timezone (e.g. "America/New_York"). For a
    -527             * list of globally-defined timezones, see the <a
    -528             * href="http://www.twinsun.com/tz/tz-link.htm">TZ database</a>.
    -529             * @param timezoneId the timezone identifier or null to remove
    -530             * @rfc 5545 p.27-8
    -531             */
    -532            public void setTimezoneId(String timezoneId) {
    -533                    replace(TZID, timezoneId);
    -534            }
    -535    
    -536            /**
    -537             * Gets the data type of the property's value (for example, "text" or
    -538             * "datetime").
    -539             * @return the data type or null if not set
    -540             * @rfc 5545 p.29-50
    -541             */
    -542            public ICalDataType getValue() {
    -543                    String value = first(VALUE);
    -544                    return (value == null) ? null : ICalDataType.get(value);
    -545            }
    -546    
    -547            /**
    -548             * Sets the data type of the property's value (for example, "text" or
    -549             * "datetime").
    -550             * @param value the data type or null to remove
    -551             * @rfc 5545 p.29-50
    -552             */
    -553            public void setValue(ICalDataType value) {
    -554                    replace(VALUE, (value == null) ? null : value.getName());
    -555            }
    -556    
    -557            /**
    -558             * Checks this parameters list for data consistency problems or deviations
    -559             * from the spec. These problems will not prevent the iCalendar object from
    -560             * being written to a data stream, but may prevent it from being parsed
    -561             * correctly by the consuming application.
    -562             * @return a list of warnings or an empty list if no problems were found
    -563             */
    -564            public List<String> validate() {
    -565                    List<String> warnings = new ArrayList<String>(0);
    -566                    String message = "%s parameter has a non-standard value (\"%s\").  Standard values are: %s";
    -567    
    -568                    String value = first(RSVP);
    -569                    if (value != null && !value.equalsIgnoreCase("true") && !value.equalsIgnoreCase("false")) {
    -570                            warnings.add(String.format(message, RSVP, value, "[TRUE, FALSE]"));
    -571                    }
    -572    
    -573                    value = first(CUTYPE);
    -574                    if (value != null && CalendarUserType.find(value) == null) {
    -575                            warnings.add(String.format(message, CUTYPE, value, CalendarUserType.all()));
    -576                    }
    -577    
    -578                    value = first(ENCODING);
    -579                    if (value != null && Encoding.find(value) == null) {
    -580                            warnings.add(String.format(message, ENCODING, value, Encoding.all()));
    -581                    }
    -582    
    -583                    value = first(FBTYPE);
    -584                    if (value != null && FreeBusyType.find(value) == null) {
    -585                            warnings.add(String.format(message, FBTYPE, value, FreeBusyType.all()));
    -586                    }
    -587    
    -588                    value = first(PARTSTAT);
    -589                    if (value != null && ParticipationStatus.find(value) == null) {
    -590                            warnings.add(String.format(message, PARTSTAT, value, ParticipationStatus.all()));
    -591                    }
    -592    
    -593                    value = first(RANGE);
    -594                    if (value != null && Range.find(value) == null) {
    -595                            warnings.add(String.format(message, RANGE, value, Range.all()));
    -596                    }
    -597    
    -598                    value = first(RELATED);
    -599                    if (value != null && Related.find(value) == null) {
    -600                            warnings.add(String.format(message, RELATED, value, Related.all()));
    -601                    }
    -602    
    -603                    value = first(RELTYPE);
    -604                    if (value != null && RelationshipType.find(value) == null) {
    -605                            warnings.add(String.format(message, RELTYPE, value, RelationshipType.all()));
    -606                    }
    -607    
    -608                    value = first(ROLE);
    -609                    if (value != null && Role.find(value) == null) {
    -610                            warnings.add(String.format(message, ROLE, value, Role.all()));
    -611                    }
    -612    
    -613                    value = first(VALUE);
    -614                    if (value != null && ICalDataType.find(value) == null) {
    -615                            warnings.add(String.format(message, VALUE, value, ICalDataType.all()));
    -616                    }
    -617    
    -618                    return warnings;
    -619            }
    -620    
    -621            @Override
    -622            protected String sanitizeKey(String key) {
    -623                    return (key == null) ? null : key.toUpperCase();
    -624            }
    -625    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ParticipationStatus.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ParticipationStatus.html deleted file mode 100644 index 8a6f25a6..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/ParticipationStatus.html +++ /dev/null @@ -1,145 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Defines a calendar user's level of participation.
    -032     * @author Michael Angstadt
    -033     * @rfc 5545 p.22-3
    -034     */
    -035    public class ParticipationStatus extends EnumParameterValue {
    -036            private static final ICalParameterCaseClasses<ParticipationStatus> enums = new ICalParameterCaseClasses<ParticipationStatus>(ParticipationStatus.class);
    -037    
    -038            public static final ParticipationStatus NEEDS_ACTION = new ParticipationStatus("NEEDS-ACTION"); //VEVENT, VTODO, VJOURNAL
    -039            public static final ParticipationStatus ACCEPTED = new ParticipationStatus("ACCEPTED"); //VEVENT, VTODO, VJOURNAL
    -040            public static final ParticipationStatus DECLINED = new ParticipationStatus("DECLINED"); //VEVENT, VTODO, VJOURNAL
    -041            public static final ParticipationStatus TENTATIVE = new ParticipationStatus("TENTATIVE"); //VEVENT, VTODO
    -042            public static final ParticipationStatus DELEGATED = new ParticipationStatus("DELEGATED"); //VEVENT, VTODO
    -043            public static final ParticipationStatus COMPLETED = new ParticipationStatus("COMPLETED"); //VTODO
    -044            public static final ParticipationStatus IN_PROGRESS = new ParticipationStatus("IN_PROGRESS"); //VTODO
    -045    
    -046            private ParticipationStatus(String value) {
    -047                    super(value);
    -048            }
    -049    
    -050            /**
    -051             * Searches for a parameter value that is defined as a static constant in
    -052             * this class.
    -053             * @param value the parameter value
    -054             * @return the object or null if not found
    -055             */
    -056            public static ParticipationStatus find(String value) {
    -057                    return enums.find(value);
    -058            }
    -059    
    -060            /**
    -061             * Searches for a parameter value and creates one if it cannot be found. All
    -062             * objects are guaranteed to be unique, so they can be compared with
    -063             * {@code ==} equality.
    -064             * @param value the parameter value
    -065             * @return the object
    -066             */
    -067            public static ParticipationStatus get(String value) {
    -068                    return enums.get(value);
    -069            }
    -070    
    -071            /**
    -072             * Gets all of the parameter values that are defined as static constants in
    -073             * this class.
    -074             * @return the parameter values
    -075             */
    -076            public static Collection<ParticipationStatus> all() {
    -077                    return enums.all();
    -078            }
    -079    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Range.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Range.html deleted file mode 100644 index 1023ee5c..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Range.html +++ /dev/null @@ -1,147 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    import biweekly.property.RecurrenceId;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Defines the effective range of recurrence instances specified by the
    -034     * {@link RecurrenceId} property. This parameter is essentially deprecated.
    -035     * @author Michael Angstadt
    -036     * @rfc 5545 p.23-4
    -037     */
    -038    public class Range extends EnumParameterValue {
    -039            private static final ICalParameterCaseClasses<Range> enums = new ICalParameterCaseClasses<Range>(Range.class);
    -040    
    -041            public static final Range THIS_AND_FUTURE = new Range("THISANDFUTURE");
    -042    
    -043            /**
    -044             * Deprecated in the latest iCal specification.
    -045             */
    -046            public static final Range THIS_AND_PRIOR = new Range("THISANDPRIOR");
    -047    
    -048            private Range(String value) {
    -049                    super(value);
    -050            }
    -051    
    -052            /**
    -053             * Searches for a parameter value that is defined as a static constant in
    -054             * this class.
    -055             * @param value the parameter value
    -056             * @return the object or null if not found
    -057             */
    -058            public static Range find(String value) {
    -059                    return enums.find(value);
    -060            }
    -061    
    -062            /**
    -063             * Searches for a parameter value and creates one if it cannot be found. All
    -064             * objects are guaranteed to be unique, so they can be compared with
    -065             * {@code ==} equality.
    -066             * @param value the parameter value
    -067             * @return the object
    -068             */
    -069            public static Range get(String value) {
    -070                    return enums.get(value);
    -071            }
    -072    
    -073            /**
    -074             * Gets all of the parameter values that are defined as static constants in
    -075             * this class.
    -076             * @return the parameter values
    -077             */
    -078            public static Collection<Range> all() {
    -079                    return enums.all();
    -080            }
    -081    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Related.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Related.html deleted file mode 100644 index c48fcb99..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Related.html +++ /dev/null @@ -1,141 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Defines the date that an alarm trigger is relative to.
    -032     * @author Michael Angstadt
    -033     * @rfc 5545 p.24
    -034     */
    -035    public class Related extends EnumParameterValue {
    -036            private static final ICalParameterCaseClasses<Related> enums = new ICalParameterCaseClasses<Related>(Related.class);
    -037    
    -038            public static final Related START = new Related("START");
    -039    
    -040            public static final Related END = new Related("END");
    -041    
    -042            private Related(String value) {
    -043                    super(value);
    -044            }
    -045    
    -046            /**
    -047             * Searches for a parameter value that is defined as a static constant in
    -048             * this class.
    -049             * @param value the parameter value
    -050             * @return the object or null if not found
    -051             */
    -052            public static Related find(String value) {
    -053                    return enums.find(value);
    -054            }
    -055    
    -056            /**
    -057             * Searches for a parameter value and creates one if it cannot be found. All
    -058             * objects are guaranteed to be unique, so they can be compared with
    -059             * {@code ==} equality.
    -060             * @param value the parameter value
    -061             * @return the object
    -062             */
    -063            public static Related get(String value) {
    -064                    return enums.get(value);
    -065            }
    -066    
    -067            /**
    -068             * Gets all of the parameter values that are defined as static constants in
    -069             * this class.
    -070             * @return the parameter values
    -071             */
    -072            public static Collection<Related> all() {
    -073                    return enums.all();
    -074            }
    -075    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/RelationshipType.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/RelationshipType.html deleted file mode 100644 index 04c12d5f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/RelationshipType.html +++ /dev/null @@ -1,144 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Defines the hierarchical relationship that a component has with another
    -032     * component.
    -033     * @author Michael Angstadt
    -034     * @rfc 5545 p.25
    -035     */
    -036    public class RelationshipType extends EnumParameterValue {
    -037            private static final ICalParameterCaseClasses<RelationshipType> enums = new ICalParameterCaseClasses<RelationshipType>(RelationshipType.class);
    -038    
    -039            public static final RelationshipType PARENT = new RelationshipType("PARENT");
    -040    
    -041            public static final RelationshipType CHILD = new RelationshipType("CHILD");
    -042    
    -043            public static final RelationshipType SIBLING = new RelationshipType("SIBLING");
    -044    
    -045            private RelationshipType(String value) {
    -046                    super(value);
    -047            }
    -048    
    -049            /**
    -050             * Searches for a parameter value that is defined as a static constant in
    -051             * this class.
    -052             * @param value the parameter value
    -053             * @return the object or null if not found
    -054             */
    -055            public static RelationshipType find(String value) {
    -056                    return enums.find(value);
    -057            }
    -058    
    -059            /**
    -060             * Searches for a parameter value and creates one if it cannot be found. All
    -061             * objects are guaranteed to be unique, so they can be compared with
    -062             * {@code ==} equality.
    -063             * @param value the parameter value
    -064             * @return the object
    -065             */
    -066            public static RelationshipType get(String value) {
    -067                    return enums.get(value);
    -068            }
    -069    
    -070            /**
    -071             * Gets all of the parameter values that are defined as static constants in
    -072             * this class.
    -073             * @return the parameter values
    -074             */
    -075            public static Collection<RelationshipType> all() {
    -076                    return enums.all();
    -077            }
    -078    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Role.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Role.html deleted file mode 100644 index b2e3bd97..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/parameter/Role.html +++ /dev/null @@ -1,145 +0,0 @@ - - -
    -001    package biweekly.parameter;
    -002    
    -003    import java.util.Collection;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Defines the role that a calendar user holds.
    -032     * @author Michael Angstadt
    -033     * @rfc 5545 p.25-6
    -034     */
    -035    public class Role extends EnumParameterValue {
    -036            private static final ICalParameterCaseClasses<Role> enums = new ICalParameterCaseClasses<Role>(Role.class);
    -037    
    -038            public static final Role CHAIR = new Role("CHAIR");
    -039    
    -040            public static final Role REQ_PARTICIPANT = new Role("REQ-PARTICIPANT");
    -041    
    -042            public static final Role OPT_PARTICIPANT = new Role("OPT-PARTICIPANT");
    -043    
    -044            public static final Role NON_PARTICIPANT = new Role("NON-PARTICIPANT");
    -045    
    -046            private Role(String value) {
    -047                    super(value);
    -048            }
    -049    
    -050            /**
    -051             * Searches for a parameter value that is defined as a static constant in
    -052             * this class.
    -053             * @param value the parameter value
    -054             * @return the object or null if not found
    -055             */
    -056            public static Role find(String value) {
    -057                    return enums.find(value);
    -058            }
    -059    
    -060            /**
    -061             * Searches for a parameter value and creates one if it cannot be found. All
    -062             * objects are guaranteed to be unique, so they can be compared with
    -063             * {@code ==} equality.
    -064             * @param value the parameter value
    -065             * @return the object
    -066             */
    -067            public static Role get(String value) {
    -068                    return enums.get(value);
    -069            }
    -070    
    -071            /**
    -072             * Gets all of the parameter values that are defined as static constants in
    -073             * this class.
    -074             * @return the parameter values
    -075             */
    -076            public static Collection<Role> all() {
    -077                    return enums.all();
    -078            }
    -079    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Action.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Action.html deleted file mode 100644 index 83b7dca7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Action.html +++ /dev/null @@ -1,189 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Arrays;
    -004    import java.util.Collection;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * <p>
    -033     * Defines the type of action to invoke when an alarm is triggered.
    -034     * </p>
    -035     * 
    -036     * <p>
    -037     * <b>Examples:</b>
    -038     * 
    -039     * <pre class="brush:java">
    -040     * //creating a new property
    -041     * Action action = Action.audio();
    -042     * 
    -043     * if (action.isAudio()) {
    -044     *      //it's an &quot;AUDIO&quot; alarm
    -045     * }
    -046     * </pre>
    -047     * 
    -048     * </p>
    -049     * @author Michael Angstadt
    -050     * @rfc 5545 p.132-3
    -051     */
    -052    public class Action extends EnumProperty {
    -053            private static final String AUDIO = "AUDIO";
    -054            private static final String DISPLAY = "DISPLAY";
    -055            private static final String EMAIL = "EMAIL";
    -056    
    -057            /**
    -058             * Creates an action property. Use of this constructor is discouraged and
    -059             * may put the property in an invalid state. Use one of the static factory
    -060             * methods instead.
    -061             * @param value the value (e.g. "AUDIO")
    -062             */
    -063            public Action(String value) {
    -064                    super(value);
    -065            }
    -066    
    -067            /**
    -068             * Creates an "audio" action property.
    -069             * @return the property
    -070             */
    -071            public static Action audio() {
    -072                    return create(AUDIO);
    -073            }
    -074    
    -075            /**
    -076             * Determines if this property is an "audio" action.
    -077             * @return true if it's an "audio" action, false if not
    -078             */
    -079            public boolean isAudio() {
    -080                    return is(AUDIO);
    -081            }
    -082    
    -083            /**
    -084             * Creates an "display" action property.
    -085             * @return the property
    -086             */
    -087            public static Action display() {
    -088                    return create(DISPLAY);
    -089            }
    -090    
    -091            /**
    -092             * Determines if this property is an "display" action.
    -093             * @return true if it's an "display" action, false if not
    -094             */
    -095            public boolean isDisplay() {
    -096                    return is(DISPLAY);
    -097            }
    -098    
    -099            /**
    -100             * Creates an "email" action property.
    -101             * @return the property
    -102             */
    -103            public static Action email() {
    -104                    return create(EMAIL);
    -105            }
    -106    
    -107            /**
    -108             * Determines if this property is an "email" action.
    -109             * @return true if it's an "email" action, false if not
    -110             */
    -111            public boolean isEmail() {
    -112                    return is(EMAIL);
    -113            }
    -114    
    -115            private static Action create(String value) {
    -116                    return new Action(value);
    -117            }
    -118    
    -119            @Override
    -120            protected Collection<String> getStandardValues() {
    -121                    return Arrays.asList(AUDIO, DISPLAY, EMAIL);
    -122            }
    -123    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Attachment.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Attachment.html deleted file mode 100644 index e4115c4c..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Attachment.html +++ /dev/null @@ -1,215 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.io.File;
    -004    import java.io.FileInputStream;
    -005    import java.io.IOException;
    -006    import java.util.List;
    -007    
    -008    import biweekly.component.ICalComponent;
    -009    import biweekly.util.IOUtils;
    -010    
    -011    /*
    -012     Copyright (c) 2013, Michael Angstadt
    -013     All rights reserved.
    -014    
    -015     Redistribution and use in source and binary forms, with or without
    -016     modification, are permitted provided that the following conditions are met: 
    -017    
    -018     1. Redistributions of source code must retain the above copyright notice, this
    -019     list of conditions and the following disclaimer. 
    -020     2. Redistributions in binary form must reproduce the above copyright notice,
    -021     this list of conditions and the following disclaimer in the documentation
    -022     and/or other materials provided with the distribution. 
    -023    
    -024     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -025     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -026     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -027     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -028     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -029     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -030     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -031     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -032     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -033     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -034     */
    -035    
    -036    /**
    -037     * <p>
    -038     * Represents a binary resource that is associated with an event, to-do, journal
    -039     * entry, or alarm.
    -040     * </p>
    -041     * 
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * //from a byte array
    -047     * byte[] data = ...
    -048     * Attachment attach = new Attachment("image/png", data);
    -049     * 
    -050     * //reading from a file 
    -051     * Attachment attach = new Attachment(&quot;image/png&quot;, new File(&quot;image.png&quot;));
    -052     * 
    -053     * //referencing a URL
    -054     * Attachment attach = new Attachment(&quot;image/png&quot;, &quot;http://example.com/image.png&quot;);
    -055     * </pre>
    -056     * 
    -057     * </p>
    -058     * @author Michael Angstadt
    -059     * @rfc 5545 p.80-1
    -060     */
    -061    public class Attachment extends ICalProperty {
    -062            private byte[] data;
    -063            private String uri;
    -064    
    -065            /**
    -066             * Creates a new attachment.
    -067             * @param formatType the content-type of the data (e.g. "image/png")
    -068             * @param file the file to attach
    -069             * @throws IOException if there's a problem reading from the file
    -070             */
    -071            public Attachment(String formatType, File file) throws IOException {
    -072                    this.data = IOUtils.toByteArray(new FileInputStream(file), true);
    -073                    setFormatType(formatType);
    -074            }
    -075    
    -076            /**
    -077             * Creates a new attachment.
    -078             * @param formatType the content-type of the data (e.g. "image/png")
    -079             * @param data the binary data
    -080             */
    -081            public Attachment(String formatType, byte[] data) {
    -082                    this.data = data;
    -083                    setFormatType(formatType);
    -084            }
    -085    
    -086            /**
    -087             * Creates a new attachment.
    -088             * @param formatType the content-type of the data (e.g. "image/png")
    -089             * @param uri a URL pointing to the resource (e.g.
    -090             * "http://example.com/image.png")
    -091             */
    -092            public Attachment(String formatType, String uri) {
    -093                    this.uri = uri;
    -094                    setFormatType(formatType);
    -095            }
    -096    
    -097            /**
    -098             * Gets the attachment's binary data.
    -099             * @return the binary data or null if not set
    -100             */
    -101            public byte[] getData() {
    -102                    return data;
    -103            }
    -104    
    -105            /**
    -106             * Sets the attachment's binary data. If the attachment has a URI associated
    -107             * with it, the URI will be set to null.
    -108             * @param data the binary data
    -109             */
    -110            public void setData(byte[] data) {
    -111                    this.data = data;
    -112                    uri = null;
    -113            }
    -114    
    -115            /**
    -116             * Gets the attachment's URI.
    -117             * @return the URI (e.g. "http://example.com/image.png") or null if not set
    -118             */
    -119            public String getUri() {
    -120                    return uri;
    -121            }
    -122    
    -123            /**
    -124             * Sets the attachment's URI. If the attachment has binary data associated
    -125             * with it, the binary data will be set to null.
    -126             * @param uri the URI (e.g. "http://example.com/image.png")
    -127             */
    -128            public void setUri(String uri) {
    -129                    this.uri = uri;
    -130                    data = null;
    -131            }
    -132    
    -133            @Override
    -134            public String getFormatType() {
    -135                    return super.getFormatType();
    -136            }
    -137    
    -138            @Override
    -139            public void setFormatType(String formatType) {
    -140                    super.setFormatType(formatType);
    -141            }
    -142    
    -143            @Override
    -144            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -145                    if (uri == null && data == null) {
    -146                            warnings.add("No URI or data specified.");
    -147                    }
    -148            }
    -149    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Attendee.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Attendee.html deleted file mode 100644 index f9381cae..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Attendee.html +++ /dev/null @@ -1,332 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.VAlarm;
    -006    import biweekly.parameter.CalendarUserType;
    -007    import biweekly.parameter.ParticipationStatus;
    -008    import biweekly.parameter.Role;
    -009    
    -010    /*
    -011     Copyright (c) 2013, Michael Angstadt
    -012     All rights reserved.
    -013    
    -014     Redistribution and use in source and binary forms, with or without
    -015     modification, are permitted provided that the following conditions are met: 
    -016    
    -017     1. Redistributions of source code must retain the above copyright notice, this
    -018     list of conditions and the following disclaimer. 
    -019     2. Redistributions in binary form must reproduce the above copyright notice,
    -020     this list of conditions and the following disclaimer in the documentation
    -021     and/or other materials provided with the distribution. 
    -022    
    -023     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -024     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -025     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -026     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -027     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -028     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -029     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -030     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -031     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -032     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -033     */
    -034    
    -035    /**
    -036     * <p>
    -037     * Defines an attendee (such as a person attending an event). This property has
    -038     * different meanings depending on the component that it belongs to:
    -039     * <ul>
    -040     * <li>{@link VAlarm} (with "EMAIL" action) - An email address that is to
    -041     * receive the alarm.</li>
    -042     * <li>All others - An attendee of the event.</li>
    -043     * </ul>
    -044     * </p>
    -045     * 
    -046     * <p>
    -047     * <b>Examples:</b>
    -048     * 
    -049     * <pre class="brush:java">
    -050     * Attendee attendee = Attendee.email("johndoe@example.com")
    -051     * attendee.setCommonName("John Doe");
    -052     * attendee.setRsvp(true);
    -053     * attendee.setRole(Role.CHAIR);
    -054     * attendee.setParticipationStatus(ParticipationStatus.ACCEPTED);
    -055     * </pre>
    -056     * 
    -057     * </p>
    -058     * @author Michael Angstadt
    -059     * @rfc 5545 p.107-9
    -060     */
    -061    public class Attendee extends TextProperty {
    -062            /**
    -063             * Creates an attendee property.
    -064             * @param uri a URI representing the attendee (typically, an email address,
    -065             * e.g. "mailto:johndoe@example.com")
    -066             */
    -067            public Attendee(String uri) {
    -068                    super(uri);
    -069            }
    -070    
    -071            /**
    -072             * Creates an attendee property using an email address as its value.
    -073             * @param email the email address (e.g. "johndoe@example.com")
    -074             * @return the property
    -075             */
    -076            public static Attendee email(String email) {
    -077                    return new Attendee("mailto:" + email);
    -078            }
    -079    
    -080            /**
    -081             * Gets the type of user the attendee is (for example, an "individual" or a
    -082             * "room").
    -083             * @return the calendar user type or null if not set
    -084             * @rfc 5545 p.16
    -085             */
    -086            public CalendarUserType getCalendarUserType() {
    -087                    return parameters.getCalendarUserType();
    -088            }
    -089    
    -090            /**
    -091             * Sets the type of user the attendee is (for example, an "individual" or a
    -092             * "room").
    -093             * @param cutype the calendar user type or null to remove
    -094             * @rfc 5545 p.16
    -095             */
    -096            public void setCalendarUserType(CalendarUserType cutype) {
    -097                    parameters.setCalendarUserType(cutype);
    -098            }
    -099    
    -100            /**
    -101             * Gets the groups that the attendee is a member of.
    -102             * @return the group URIs (typically, these are email address URIs, e.g.
    -103             * "mailto:mailinglist@example.com")
    -104             * @rfc 5545 p.21-2
    -105             */
    -106            public List<String> getMembers() {
    -107                    return parameters.getMembers();
    -108            }
    -109    
    -110            /**
    -111             * Adds a group that the attendee is a member of.
    -112             * @param uri the group URI (typically, an email address URI, e.g.
    -113             * "mailto:mailinglist@example.com")
    -114             * @rfc 5545 p.21-2
    -115             */
    -116            public void addMember(String uri) {
    -117                    parameters.addMember(uri);
    -118            }
    -119    
    -120            /**
    -121             * Gets the attendee's role (for example, "chair" or
    -122             * "required participant").
    -123             * @return the role or null if not set
    -124             * @rfc 5545 p.25-6
    -125             */
    -126            public Role getRole() {
    -127                    return parameters.getRole();
    -128            }
    -129    
    -130            /**
    -131             * Sets the attendee's role (for example, "chair" or
    -132             * "required participant").
    -133             * @param role the role or null to remove
    -134             * @rfc 5545 p.25-6
    -135             */
    -136            public void setRole(Role role) {
    -137                    parameters.setRole(role);
    -138            }
    -139    
    -140            /**
    -141             * Gets the attendee's level of participation.
    -142             * @return the participation status or null if not set
    -143             * @rfc 5545 p.22-3
    -144             */
    -145            public ParticipationStatus getParticipationStatus() {
    -146                    return parameters.getParticipationStatus();
    -147            }
    -148    
    -149            /**
    -150             * Sets the attendee's level of participation.
    -151             * @param status the participation status or null to remove
    -152             * @rfc 5545 p.22-3
    -153             */
    -154            public void setParticipationStatus(ParticipationStatus status) {
    -155                    parameters.setParticipationStatus(status);
    -156            }
    -157    
    -158            /**
    -159             * Gets whether the organizer requests a response from the attendee.
    -160             * @return true if an RSVP is requested, false if not, null if not set
    -161             * @rfc 5545 p.26-7
    -162             */
    -163            public Boolean getRsvp() {
    -164                    return parameters.getRsvp();
    -165            }
    -166    
    -167            /**
    -168             * Sets whether the organizer requests a response from the attendee.
    -169             * @param rsvp true if an RSVP has been requested, false if not, null to
    -170             * remove
    -171             * @rfc 5545 p.26-7
    -172             */
    -173            public void setRsvp(Boolean rsvp) {
    -174                    parameters.setRsvp(rsvp);
    -175            }
    -176    
    -177            /**
    -178             * Gets the people who have delegated their responsibility to the attendee.
    -179             * @return the delegators (typically email URIs, e.g.
    -180             * "mailto:janedoe@example.com")
    -181             * @rfc 5545 p.17
    -182             */
    -183            public List<String> getDelegatedFrom() {
    -184                    return parameters.getDelegatedFrom();
    -185            }
    -186    
    -187            /**
    -188             * Adds a person who has delegated his or her responsibility to the
    -189             * attendee.
    -190             * @param uri the delegator (typically an email URI, e.g.
    -191             * "mailto:janedoe@example.com")
    -192             * @rfc 5545 p.17
    -193             */
    -194            public void addDelegatedFrom(String uri) {
    -195                    parameters.addDelegatedFrom(uri);
    -196            }
    -197    
    -198            /**
    -199             * Gets the people to which the attendee has delegated his or her
    -200             * responsibility.
    -201             * @return the delegatees (typically email URIs, e.g.
    -202             * "mailto:janedoe@example.com")
    -203             * @rfc 5545 p.17-8
    -204             */
    -205            public List<String> getDelegatedTo() {
    -206                    return parameters.getDelegatedTo();
    -207            }
    -208    
    -209            /**
    -210             * Adds a person to which the attendee has delegated his or her
    -211             * responsibility.
    -212             * @param uri the delegatee (typically an email URI, e.g.
    -213             * "mailto:janedoe@example.com")
    -214             * @rfc 5545 p.17-8
    -215             */
    -216            public void addDelegatedTo(String uri) {
    -217                    parameters.addDelegatedTo(uri);
    -218            }
    -219    
    -220            @Override
    -221            public String getSentBy() {
    -222                    return super.getSentBy();
    -223            }
    -224    
    -225            @Override
    -226            public void setSentBy(String uri) {
    -227                    super.setSentBy(uri);
    -228            }
    -229    
    -230            @Override
    -231            public String getCommonName() {
    -232                    return super.getCommonName();
    -233            }
    -234    
    -235            @Override
    -236            public void setCommonName(String commonName) {
    -237                    super.setCommonName(commonName);
    -238            }
    -239    
    -240            @Override
    -241            public String getDirectoryEntry() {
    -242                    return super.getDirectoryEntry();
    -243            }
    -244    
    -245            @Override
    -246            public void setDirectoryEntry(String uri) {
    -247                    super.setDirectoryEntry(uri);
    -248            }
    -249    
    -250            /**
    -251             * Gets the language that the common name parameter is written in.
    -252             */
    -253            @Override
    -254            public String getLanguage() {
    -255                    return super.getLanguage();
    -256            }
    -257    
    -258            /**
    -259             * Sets the language that the common name parameter is written in.
    -260             */
    -261            @Override
    -262            public void setLanguage(String language) {
    -263                    super.setLanguage(language);
    -264            }
    -265    
    -266    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/CalendarScale.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/CalendarScale.html deleted file mode 100644 index 46a16de7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/CalendarScale.html +++ /dev/null @@ -1,151 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Arrays;
    -004    import java.util.Collection;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * <p>
    -033     * Specifies the calendar system that this iCalendar object uses. If none is
    -034     * specified, then the calendar is assumed to be in "gregorian" format.
    -035     * </p>
    -036     * <p>
    -037     * <b>Examples:</b>
    -038     * 
    -039     * <pre class="brush:java">
    -040     * //creating a new property
    -041     * CalendarScale calscale = CalendarScale.gregorian();
    -042     * 
    -043     * if (calscale.isGregorian()) {
    -044     *      //its value is &quot;GREGORIAN&quot;
    -045     * }
    -046     * </pre>
    -047     * 
    -048     * </p>
    -049     * @author Michael Angstadt
    -050     * @rfc 5545 p.76-7
    -051     */
    -052    public class CalendarScale extends EnumProperty {
    -053            private static final String GREGORIAN = "GREGORIAN";
    -054    
    -055            /**
    -056             * Creates a new calendar scale property. Use of this constructor is
    -057             * discouraged and may put the property in an invalid state. Use one of the
    -058             * static factory methods instead.
    -059             * @param value the value of the property (e.g. "gregorian")
    -060             */
    -061            public CalendarScale(String value) {
    -062                    super(value);
    -063            }
    -064    
    -065            /**
    -066             * Creates a new property whose value is set to "gregorian".
    -067             * @return the new property
    -068             */
    -069            public static CalendarScale gregorian() {
    -070                    return new CalendarScale(GREGORIAN);
    -071            }
    -072    
    -073            /**
    -074             * Determines whether the property is set to "gregorian".
    -075             * @return true if it's set to "gregorian", false if not
    -076             */
    -077            public boolean isGregorian() {
    -078                    return is(GREGORIAN);
    -079            }
    -080    
    -081            @Override
    -082            protected Collection<String> getStandardValues() {
    -083                    return Arrays.asList(GREGORIAN);
    -084            }
    -085    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Categories.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Categories.html deleted file mode 100644 index 90115047..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Categories.html +++ /dev/null @@ -1,145 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines a list of "tags" or "keywords" that describe the component.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * //creating a new property (multi-valued)
    -039     * Categories categories = new Categories(&quot;conference&quot;, &quot;meeting&quot;);
    -040     * </pre>
    -041     * 
    -042     * </p>
    -043     * @author Michael Angstadt
    -044     * @rfc 5545 p.81-2
    -045     */
    -046    public class Categories extends ListProperty<String> {
    -047            /**
    -048             * Creates a new categories property.
    -049             */
    -050            public Categories() {
    -051                    super();
    -052            }
    -053    
    -054            /**
    -055             * Creates a new categories property.
    -056             * @param categories the categories to initialize the property with
    -057             */
    -058            public Categories(String... categories) {
    -059                    super(categories);
    -060            }
    -061    
    -062            /**
    -063             * Creates a new categories property.
    -064             * @param categories the categories to initialize the property with
    -065             */
    -066            public Categories(List<String> categories) {
    -067                    super(categories);
    -068            }
    -069    
    -070            @Override
    -071            public String getLanguage() {
    -072                    return super.getLanguage();
    -073            }
    -074    
    -075            @Override
    -076            public void setLanguage(String language) {
    -077                    super.setLanguage(language);
    -078            }
    -079    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Classification.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Classification.html deleted file mode 100644 index ab9f62cc..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Classification.html +++ /dev/null @@ -1,188 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Arrays;
    -004    import java.util.Collection;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * <p>
    -033     * Defines the level of sensitivity of the iCalendar data. If not specified, the
    -034     * data should be considered "public".
    -035     * </p>
    -036     * <p>
    -037     * <b>Examples:</b>
    -038     * 
    -039     * <pre class="brush:java">
    -040     * //creating a new property
    -041     * Classification classification = Classification.public_();
    -042     * 
    -043     * if (classification.isPublic()) {
    -044     *      //its value is &quot;PUBLIC&quot;
    -045     * }
    -046     * </pre>
    -047     * 
    -048     * </p>
    -049     * @author Michael Angstadt
    -050     * @rfc 5545 p.82-3
    -051     */
    -052    public class Classification extends EnumProperty {
    -053            private static final String PUBLIC = "PUBLIC";
    -054            private static final String PRIVATE = "PRIVATE";
    -055            private static final String CONFIDENTIAL = "CONFIDENTIAL";
    -056    
    -057            /**
    -058             * Creates a new classification property. Use the static factory methods to
    -059             * create a property with a standard classification level.
    -060             * @param classification the classification level (e.g. "PUBLIC")
    -061             */
    -062            public Classification(String classification) {
    -063                    super(classification);
    -064            }
    -065    
    -066            /**
    -067             * Creates a "public" classification property.
    -068             * @return the property
    -069             */
    -070            public static Classification public_() {
    -071                    return create(PUBLIC);
    -072            }
    -073    
    -074            /**
    -075             * Determines if the classification level is "public".
    -076             * @return true if it's "public", false if not
    -077             */
    -078            public boolean isPublic() {
    -079                    return is(PUBLIC);
    -080            }
    -081    
    -082            /**
    -083             * Creates a "private" classification property.
    -084             * @return the property
    -085             */
    -086            public static Classification private_() {
    -087                    return create(PRIVATE);
    -088            }
    -089    
    -090            /**
    -091             * Determines if the classification level is "private".
    -092             * @return true if it's "private", false if not
    -093             */
    -094            public boolean isPrivate() {
    -095                    return is(PRIVATE);
    -096            }
    -097    
    -098            /**
    -099             * Creates a "confidential" classification property.
    -100             * @return the property
    -101             */
    -102            public static Classification confidential() {
    -103                    return create(CONFIDENTIAL);
    -104            }
    -105    
    -106            /**
    -107             * Determines if the classification level is "confidential".
    -108             * @return true if it's "confidential", false if not
    -109             */
    -110            public boolean isConfidential() {
    -111                    return is(CONFIDENTIAL);
    -112            }
    -113    
    -114            private static Classification create(String classification) {
    -115                    return new Classification(classification);
    -116            }
    -117    
    -118            @Override
    -119            protected Collection<String> getStandardValues() {
    -120                    return Arrays.asList(PUBLIC, PRIVATE, CONFIDENTIAL);
    -121            }
    -122    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Comment.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Comment.html deleted file mode 100644 index baa127ce..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Comment.html +++ /dev/null @@ -1,137 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines a free-text comment to be read by the user.
    -031     * </p>
    -032     * <p>
    -033     * <b>Examples:</b>
    -034     * 
    -035     * <pre class="brush:java">
    -036     * Comment comment = new Comment(&quot;Free text&quot;);
    -037     * </pre>
    -038     * 
    -039     * </p>
    -040     * @author Michael Angstadt
    -041     * @rfc 5545 p.83-4
    -042     */
    -043    public class Comment extends TextProperty {
    -044            /**
    -045             * Creates a comment property.
    -046             * @param comment the comment
    -047             */
    -048            public Comment(String comment) {
    -049                    super(comment);
    -050            }
    -051    
    -052            @Override
    -053            public String getAltRepresentation() {
    -054                    return super.getAltRepresentation();
    -055            }
    -056    
    -057            @Override
    -058            public void setAltRepresentation(String uri) {
    -059                    super.setAltRepresentation(uri);
    -060            }
    -061    
    -062            @Override
    -063            public String getLanguage() {
    -064                    return super.getLanguage();
    -065            }
    -066    
    -067            @Override
    -068            public void setLanguage(String language) {
    -069                    super.setLanguage(language);
    -070            }
    -071    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Completed.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Completed.html deleted file mode 100644 index aed34db0..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Completed.html +++ /dev/null @@ -1,120 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines the date and time that a to-do task was completed.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * Date datetime = ...
    -039     * Completed completed = new Completed(datetime);
    -040     * </pre>
    -041     * 
    -042     * </p>
    -043     * @author Michael Angstadt
    -044     * @rfc 5545 p.94-5
    -045     */
    -046    public class Completed extends DateTimeProperty {
    -047            /**
    -048             * Creates a completed property.
    -049             * @param completed the completion date
    -050             */
    -051            public Completed(Date completed) {
    -052                    super(completed);
    -053            }
    -054    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Contact.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Contact.html deleted file mode 100644 index aa4aa714..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Contact.html +++ /dev/null @@ -1,145 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines contact information for a person or other entity (for example, the
    -031     * name of a business and its phone number).
    -032     * </p>
    -033     * <p>
    -034     * <b>Examples:</b>
    -035     * 
    -036     * <pre class="brush:java">
    -037     * Contact contact = new Contact(&quot;Acme Co: (212) 555-1234&quot;);
    -038     * </pre>
    -039     * 
    -040     * </p>
    -041     * @author Michael Angstadt
    -042     * @rfc 5545 p.109-11
    -043     */
    -044    public class Contact extends TextProperty {
    -045            //TODO override get/setValue methods to customize the Javadocs?
    -046            /**
    -047             * Creates a contact property.
    -048             * @param contact the contact information (e.g. "Acme Co: (212) 555-1234")
    -049             */
    -050            public Contact(String contact) {
    -051                    super(contact);
    -052            }
    -053    
    -054            /**
    -055             * @return the URI (such as a URL to a vCard) or null if not set
    -056             */
    -057            @Override
    -058            public String getAltRepresentation() {
    -059                    return super.getAltRepresentation();
    -060            }
    -061    
    -062            /**
    -063             * @param uri the URI (such as a URL to a vCard) or null to remove
    -064             */
    -065            @Override
    -066            public void setAltRepresentation(String uri) {
    -067                    super.setAltRepresentation(uri);
    -068            }
    -069    
    -070            @Override
    -071            public String getLanguage() {
    -072                    return super.getLanguage();
    -073            }
    -074    
    -075            @Override
    -076            public void setLanguage(String language) {
    -077                    super.setLanguage(language);
    -078            }
    -079    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Created.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Created.html deleted file mode 100644 index 8bb8afdc..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Created.html +++ /dev/null @@ -1,120 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines the date-time that the calendar information was initially created.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * Date datetime = ...
    -039     * Created created = new Created(datetime);
    -040     * </pre>
    -041     * 
    -042     * </p>
    -043     * @author Michael Angstadt
    -044     * @rfc 5545 p.136
    -045     */
    -046    public class Created extends DateTimeProperty {
    -047            /**
    -048             * Creates a created property.
    -049             * @param date the creation date
    -050             */
    -051            public Created(Date date) {
    -052                    super(date);
    -053            }
    -054    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateDue.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateDue.html deleted file mode 100644 index fc068abf..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateDue.html +++ /dev/null @@ -1,140 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines the date that a to-do task is due by.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * //date and time
    -039     * Date datetime = ...
    -040     * DateDue due = new DateDue(datetime);
    -041     * 
    -042     * //date
    -043     * Date date = ...
    -044     * DateDue due = new DateDue(date, false);
    -045     * 
    -046     * //with timezone 
    -047     * Date datetime = ... 
    -048     * DateDue due = new DateDue(datetime); 
    -049     * due.setTimezoneId("America/New_York");
    -050     * </pre>
    -051     * 
    -052     * </p>
    -053     * @author Michael Angstadt
    -054     * @rfc 5545 p.96-7
    -055     */
    -056    public class DateDue extends DateOrDateTimeProperty {
    -057            /**
    -058             * Creates a due date property.
    -059             * @param dueDate the due date
    -060             */
    -061            public DateDue(Date dueDate) {
    -062                    this(dueDate, true);
    -063            }
    -064    
    -065            /**
    -066             * Creates a due date property.
    -067             * @param dueDate the due date
    -068             * @param hasTime true to include the time component of the date, false not
    -069             * to
    -070             */
    -071            public DateDue(Date dueDate, boolean hasTime) {
    -072                    super(dueDate, hasTime);
    -073            }
    -074    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateEnd.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateEnd.html deleted file mode 100644 index 28d19a79..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateEnd.html +++ /dev/null @@ -1,140 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines the date that an event or free/busy component ends.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * //date and time
    -039     * Date datetime = ...
    -040     * DateEnd dtend = new DateEnd(datetime);
    -041     * 
    -042     * //date
    -043     * Date date = ...
    -044     * DateEnd dtend = new DateEnd(date, false);
    -045     * 
    -046     * //with timezone 
    -047     * Date datetime = ... 
    -048     * DateEnd dtend = new DateEnd(datetime); 
    -049     * dtend.setTimezoneId("America/New_York");
    -050     * </pre>
    -051     * 
    -052     * </p>
    -053     * @author Michael Angstadt
    -054     * @rfc 5545 p.95-6
    -055     */
    -056    public class DateEnd extends DateOrDateTimeProperty {
    -057            /**
    -058             * Creates a date end property.
    -059             * @param endDate the end date
    -060             */
    -061            public DateEnd(Date endDate) {
    -062                    this(endDate, true);
    -063            }
    -064    
    -065            /**
    -066             * Creates a date end property.
    -067             * @param endDate the end date
    -068             * @param hasTime true to include the time component of the date, false not
    -069             * to
    -070             */
    -071            public DateEnd(Date endDate, boolean hasTime) {
    -072                    super(endDate, hasTime);
    -073            }
    -074    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateOrDateTimeProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateOrDateTimeProperty.html deleted file mode 100644 index 2282088a..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateOrDateTimeProperty.html +++ /dev/null @@ -1,224 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.component.ICalComponent;
    -007    import biweekly.component.VTimezone;
    -008    import biweekly.util.DateTimeComponents;
    -009    import biweekly.util.ICalDateFormatter;
    -010    
    -011    /*
    -012     Copyright (c) 2013, Michael Angstadt
    -013     All rights reserved.
    -014    
    -015     Redistribution and use in source and binary forms, with or without
    -016     modification, are permitted provided that the following conditions are met: 
    -017    
    -018     1. Redistributions of source code must retain the above copyright notice, this
    -019     list of conditions and the following disclaimer. 
    -020     2. Redistributions in binary form must reproduce the above copyright notice,
    -021     this list of conditions and the following disclaimer in the documentation
    -022     and/or other materials provided with the distribution. 
    -023    
    -024     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -025     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -026     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -027     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -028     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -029     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -030     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -031     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -032     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -033     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -034     */
    -035    
    -036    /**
    -037     * Represents a property whose value is a date or a date-time.
    -038     * @author Michael Angstadt
    -039     */
    -040    public class DateOrDateTimeProperty extends ICalProperty {
    -041            protected Date value;
    -042            protected DateTimeComponents rawComponents;
    -043            protected boolean hasTime;
    -044            protected boolean localTime;
    -045    
    -046            /**
    -047             * Creates a new property.
    -048             * @param rawComponents the raw components of the date-time value
    -049             */
    -050            public DateOrDateTimeProperty(DateTimeComponents rawComponents) {
    -051                    setRawComponents(rawComponents);
    -052            }
    -053    
    -054            /**
    -055             * Creates a new property.
    -056             * @param value the date-time value
    -057             * @param hasTime true if the value has a time component, false if it is
    -058             * strictly a date
    -059             */
    -060            public DateOrDateTimeProperty(Date value, boolean hasTime) {
    -061                    setValue(value, hasTime);
    -062            }
    -063    
    -064            /**
    -065             * Gets the date-time value.
    -066             * @return the date-time value
    -067             */
    -068            public Date getValue() {
    -069                    return value;
    -070            }
    -071    
    -072            /**
    -073             * Sets the date-time value.
    -074             * @param value the date-time value
    -075             * @param hasTime true if the value has a time component, false if it is
    -076             * strictly a date
    -077             */
    -078            public void setValue(Date value, boolean hasTime) {
    -079                    this.value = value;
    -080                    this.hasTime = hasTime;
    -081            }
    -082    
    -083            /**
    -084             * Gets the raw components of the date-time value.
    -085             * @return the raw components
    -086             */
    -087            public DateTimeComponents getRawComponents() {
    -088                    return rawComponents;
    -089            }
    -090    
    -091            /**
    -092             * Sets the raw components of the date-time value.
    -093             * @param rawComponents the raw components
    -094             */
    -095            public void setRawComponents(DateTimeComponents rawComponents) {
    -096                    this.rawComponents = rawComponents;
    -097            }
    -098    
    -099            /**
    -100             * Determines whether the date-time value has a time component.
    -101             * @return true if the value has a time component, false if it is strictly a
    -102             * date
    -103             */
    -104            public boolean hasTime() {
    -105                    return hasTime;
    -106            }
    -107    
    -108            /**
    -109             * Gets whether the date should be outputted in local time (without a
    -110             * timezone).
    -111             * @return true to output the date without a timezone, false to include a
    -112             * timezone
    -113             */
    -114            public boolean isLocalTime() {
    -115                    return localTime;
    -116            }
    -117    
    -118            /**
    -119             * Sets whether the date should be outputted in local time (without a
    -120             * timezone). Use {@link #setTimezoneId(String)} to specify a timezone.
    -121             * Dates are written in UTC time by default.
    -122             * @param localTime true to output the date without a timezone, false to
    -123             * include a timezone (defaults to false)
    -124             */
    -125            public void setLocalTime(boolean localTime) {
    -126                    this.localTime = localTime;
    -127                    if (localTime) {
    -128                            setTimezoneId(null);
    -129                    }
    -130            }
    -131    
    -132            @Override
    -133            public String getTimezoneId() {
    -134                    return super.getTimezoneId();
    -135            }
    -136    
    -137            @Override
    -138            public void setTimezoneId(String timezoneId) {
    -139                    super.setTimezoneId(timezoneId);
    -140            }
    -141    
    -142            @Override
    -143            public void setTimezone(VTimezone timezone) {
    -144                    super.setTimezone(timezone);
    -145            }
    -146    
    -147            @Override
    -148            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -149                    if (value == null && components == null) {
    -150                            warnings.add("No value set.");
    -151                    }
    -152    
    -153                    String tzid = getTimezoneId();
    -154                    if (tzid != null && tzid.contains("/") && ICalDateFormatter.parseTimeZoneId(tzid) == null) {
    -155                            warnings.add("Unrecognized timezone ID: " + tzid);
    -156                    }
    -157            }
    -158    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateStart.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateStart.html deleted file mode 100644 index 4c125386..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateStart.html +++ /dev/null @@ -1,160 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.util.DateTimeComponents;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * <p>
    -034     * Defines the date that an event, free/busy component, or timezone component
    -035     * starts.
    -036     * </p>
    -037     * <p>
    -038     * <b>Examples:</b>
    -039     * 
    -040     * <pre class="brush:java">
    -041     * //date and time
    -042     * Date datetime = ...
    -043     * DateStart dtstart = new DateStart(datetime);
    -044     * 
    -045     * //date
    -046     * Date date = ...
    -047     * DateStart dtstart = new DateStart(date, false);
    -048     * 
    -049     * //local date and time (don't print a timezone)
    -050     * Date datetime = ...
    -051     * DateStart dtstart = new DateStart(datetime);
    -052     * dtstart.setLocalTime(true);
    -053     * 
    -054     * //with timezone 
    -055     * Date datetime = ... 
    -056     * DateStart dtstart = new DateStart(datetime); 
    -057     * dtstart.setTimezoneId("America/New_York");
    -058     * 
    -059     * //raw components 
    -060     * DateTimeComponents components = new DateTimeComponents(1999, 4, 4, 2, 0, 0, false);
    -061     * DateStart dtstart = new DateStart(components);
    -062     * </pre>
    -063     * 
    -064     * </p>
    -065     * @author Michael Angstadt
    -066     * @rfc 5545 p.97-8
    -067     */
    -068    public class DateStart extends DateOrDateTimeProperty {
    -069            /**
    -070             * Creates a start date property.
    -071             * @param startDate the start date
    -072             */
    -073            public DateStart(Date startDate) {
    -074                    this(startDate, true);
    -075            }
    -076    
    -077            /**
    -078             * Creates a start date property.
    -079             * @param startDate the start date
    -080             * @param hasTime true to include the time component of the date, false not
    -081             * to
    -082             */
    -083            public DateStart(Date startDate, boolean hasTime) {
    -084                    super(startDate, hasTime);
    -085            }
    -086    
    -087            /**
    -088             * Creates a start date property.
    -089             * @param components the raw components of the date-time value
    -090             */
    -091            public DateStart(DateTimeComponents components) {
    -092                    super(components);
    -093            }
    -094    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateTimeProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateTimeProperty.html deleted file mode 100644 index 7450c8e8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateTimeProperty.html +++ /dev/null @@ -1,108 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Represents a property whose value is a date-time.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class DateTimeProperty extends ValuedProperty<Date> {
    -035            /**
    -036             * Creates a new property.
    -037             * @param value the date
    -038             */
    -039            public DateTimeProperty(Date value) {
    -040                    super(value);
    -041            }
    -042    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateTimeStamp.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateTimeStamp.html deleted file mode 100644 index 80e3ddad..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DateTimeStamp.html +++ /dev/null @@ -1,129 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * The meaning of this property varies depending on the state of the iCalendar
    -033     * object:
    -034     * <ul>
    -035     * <li><b>If a {@link Method} property exists</b>: Defines the creation date of
    -036     * the iCalendar object (not the creation date of the actual calendar data). Use
    -037     * the {@link Created} property to define the date that the calendar data was
    -038     * last created.</li>
    -039     * <li><b>Otherwise</b> - Defines the date that the calendar data was last
    -040     * modified (the {@link LastModified} property also holds this information).</li>
    -041     * </ul>
    -042     * </p>
    -043     * <p>
    -044     * <b>Examples:</b>
    -045     * 
    -046     * <pre class="brush:java">
    -047     * Date datetime = ... 
    -048     * DateTimeStamp dtstamp = new DateTimeStamp(datetime);
    -049     * </pre>
    -050     * 
    -051     * </p>
    -052     * @author Michael Angstadt
    -053     * @rfc 5545 p.137-8
    -054     */
    -055    public class DateTimeStamp extends DateTimeProperty {
    -056            /**
    -057             * Creates a date time stamp property.
    -058             * @param date the date
    -059             */
    -060            public DateTimeStamp(Date date) {
    -061                    super(date);
    -062            }
    -063    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Description.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Description.html deleted file mode 100644 index 2aaa18ee..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Description.html +++ /dev/null @@ -1,140 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * A detailed description of the component that this property belongs to. The
    -031     * description should be a more detailed version of the text provided by the
    -032     * {@link Summary} property.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * Description description = new Description(&quot;description text&quot;);
    -039     * </pre>
    -040     * 
    -041     * </p>
    -042     * 
    -043     * @author Michael Angstadt
    -044     * @rfc 5545 p.84-5
    -045     */
    -046    public class Description extends TextProperty {
    -047            /**
    -048             * Creates a description property.
    -049             * @param description the description
    -050             */
    -051            public Description(String description) {
    -052                    super(description);
    -053            }
    -054    
    -055            @Override
    -056            public String getAltRepresentation() {
    -057                    return super.getAltRepresentation();
    -058            }
    -059    
    -060            @Override
    -061            public void setAltRepresentation(String uri) {
    -062                    super.setAltRepresentation(uri);
    -063            }
    -064    
    -065            @Override
    -066            public String getLanguage() {
    -067                    return super.getLanguage();
    -068            }
    -069    
    -070            @Override
    -071            public void setLanguage(String language) {
    -072                    super.setLanguage(language);
    -073            }
    -074    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DurationProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DurationProperty.html deleted file mode 100644 index 6108cfa7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/DurationProperty.html +++ /dev/null @@ -1,132 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import biweekly.component.VAlarm;
    -004    import biweekly.component.VEvent;
    -005    import biweekly.component.VTodo;
    -006    import biweekly.util.Duration;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * <p>
    -035     * Defines a duration of time (for example, "2 hours and 30 minutes"). It has
    -036     * different meanings depending on the component it belongs to:
    -037     * <ul>
    -038     * <li>{@link VEvent} - The duration of the event (used in place of a
    -039     * {@link DateEnd} property).</li>
    -040     * <li>{@link VTodo} - The duration of the to-do task (used in place of a
    -041     * {@link DateEnd} property).</li>
    -042     * <li>{@link VAlarm} - The pause between alarm repetitions.</li>
    -043     * </ul>
    -044     * </p>
    -045     * 
    -046     * <p>
    -047     * <b>Examples:</b>
    -048     * 
    -049     * <pre class="brush:java">
    -050     * Duration duration = Duration.builder().hours(2).minutes(30).build();
    -051     * DurationProperty prop = new DurationProperty(duration);
    -052     * </pre>
    -053     * 
    -054     * </p>
    -055     * @author Michael Angstadt
    -056     * @rfc 5545 p.99
    -057     */
    -058    public class DurationProperty extends ValuedProperty<Duration> {
    -059            /**
    -060             * Creates a duration property.
    -061             * @param duration the duration value (e.g. "2 hours nad 30 minutes")
    -062             */
    -063            public DurationProperty(Duration duration) {
    -064                    super(duration);
    -065            }
    -066    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/EnumProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/EnumProperty.html deleted file mode 100644 index e5c4a7ce..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/EnumProperty.html +++ /dev/null @@ -1,145 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Collection;
    -004    import java.util.List;
    -005    
    -006    import biweekly.component.ICalComponent;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Parent class for properties that have a defined set of acceptable values (for
    -035     * example, {@link Action}).
    -036     * @author Michael Angstadt
    -037     */
    -038    public abstract class EnumProperty extends TextProperty {
    -039            /**
    -040             * Creates an enum property.
    -041             * @param value the property value
    -042             */
    -043            public EnumProperty(String value) {
    -044                    super(value);
    -045            }
    -046    
    -047            /**
    -048             * Compares the property's value with a given string (case-insensitive).
    -049             * @param value the string
    -050             * @return true if it's equal, false if not
    -051             */
    -052            protected boolean is(String value) {
    -053                    return value.equalsIgnoreCase(this.value);
    -054            }
    -055    
    -056            /**
    -057             * Gets the list of acceptable values for this property.
    -058             * @return the list of acceptable values
    -059             */
    -060            protected abstract Collection<String> getStandardValues();
    -061    
    -062            @Override
    -063            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -064                    super.validate(components, warnings);
    -065                    if (value == null) {
    -066                            return;
    -067                    }
    -068    
    -069                    Collection<String> standardValues = getStandardValues();
    -070                    for (String standardValue : standardValues) {
    -071                            if (value.equalsIgnoreCase(standardValue)) {
    -072                                    //found, value is OK
    -073                                    return;
    -074                            }
    -075                    }
    -076    
    -077                    warnings.add("Non-standard value \"" + value + "\".  Standard values are: " + standardValues);
    -078            }
    -079    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ExceptionDates.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ExceptionDates.html deleted file mode 100644 index e50f42de..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ExceptionDates.html +++ /dev/null @@ -1,180 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.component.ICalComponent;
    -007    import biweekly.component.VTimezone;
    -008    import biweekly.util.ICalDateFormatter;
    -009    
    -010    /*
    -011     Copyright (c) 2013, Michael Angstadt
    -012     All rights reserved.
    -013    
    -014     Redistribution and use in source and binary forms, with or without
    -015     modification, are permitted provided that the following conditions are met: 
    -016    
    -017     1. Redistributions of source code must retain the above copyright notice, this
    -018     list of conditions and the following disclaimer. 
    -019     2. Redistributions in binary form must reproduce the above copyright notice,
    -020     this list of conditions and the following disclaimer in the documentation
    -021     and/or other materials provided with the distribution. 
    -022    
    -023     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -024     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -025     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -026     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -027     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -028     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -029     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -030     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -031     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -032     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -033     */
    -034    
    -035    /**
    -036     * <p>
    -037     * Defines a list of exceptions to the recurrence rule defined in a component.
    -038     * </p>
    -039     * <p>
    -040     * <b>Examples:</b>
    -041     * 
    -042     * <pre class="brush:java">
    -043     * //date and times
    -044     * ExceptionDates exdate = new ExceptionDates(true);
    -045     * Date datetime1 = ...;
    -046     * exdate.addValue(datetime1);
    -047     * Date datetime2 = ...;
    -048     * exdate.addValue(datetime2);
    -049     * 
    -050     * //dates
    -051     * ExceptionDates exdate = new ExceptionDates(false);
    -052     * Date date1 = ...;
    -053     * exdate.addValue(date1);
    -054     * Date date2 = ...;
    -055     * exdate.addValue(date2);
    -056     * </pre>
    -057     * 
    -058     * </p>
    -059     * @author Michael Angstadt
    -060     * @rfc 5545 p.118-20
    -061     */
    -062    public class ExceptionDates extends ListProperty<Date> {
    -063            private boolean hasTime = true;
    -064    
    -065            /**
    -066             * Creates an exception dates property.
    -067             * @param hasTime true if the dates have a time component, false if they are
    -068             * strictly dates
    -069             */
    -070            public ExceptionDates(boolean hasTime) {
    -071                    setHasTime(hasTime);
    -072            }
    -073    
    -074            /**
    -075             * Gets whether the dates have time components.
    -076             * @return true if the dates have time components, false if they are
    -077             * strictly dates
    -078             */
    -079            public boolean hasTime() {
    -080                    return hasTime;
    -081            }
    -082    
    -083            /**
    -084             * Sets whether the dates have time components.
    -085             * @param hasTime true if the dates have time components, false if they are
    -086             * strictly dates
    -087             */
    -088            public void setHasTime(boolean hasTime) {
    -089                    this.hasTime = hasTime;
    -090            }
    -091    
    -092            @Override
    -093            public String getTimezoneId() {
    -094                    return super.getTimezoneId();
    -095            }
    -096    
    -097            @Override
    -098            public void setTimezoneId(String timezoneId) {
    -099                    super.setTimezoneId(timezoneId);
    -100            }
    -101    
    -102            @Override
    -103            public void setTimezone(VTimezone timezone) {
    -104                    super.setTimezone(timezone);
    -105            }
    -106    
    -107            @Override
    -108            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -109                    String tzid = getTimezoneId();
    -110                    if (tzid != null && tzid.contains("/") && ICalDateFormatter.parseTimeZoneId(tzid) == null) {
    -111                            warnings.add("Unrecognized timezone ID: " + tzid);
    -112                    }
    -113            }
    -114    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ExceptionRule.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ExceptionRule.html deleted file mode 100644 index 57f4b719..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ExceptionRule.html +++ /dev/null @@ -1,134 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * <p>
    -034     * Defines an exception to a {@link RecurrenceRule}.
    -035     * </p>
    -036     * <p>
    -037     * Note that this property has been removed from the latest version of the iCal
    -038     * specification. Its use should be avoided.
    -039     * </p>
    -040     * <p>
    -041     * <b>Examples:</b>
    -042     * 
    -043     * <pre class="brush:java">
    -044     * //&quot;bi-weekly&quot;
    -045     * Recurrence recur = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    -046     * ExceptionRule exrule = new ExceptionRule(recur);
    -047     * </pre>
    -048     * 
    -049     * </p>
    -050     * @author Michael Angstadt
    -051     * @rfc 2445 p.114-15
    -052     */
    -053    public class ExceptionRule extends RecurrenceProperty {
    -054            /**
    -055             * Creates a new exception rule property.
    -056             * @param recur the recurrence rule
    -057             */
    -058            public ExceptionRule(biweekly.util.Recurrence recur) {
    -059                    super(recur);
    -060            }
    -061    
    -062            @Override
    -063            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -064                    super.validate(components, warnings);
    -065    
    -066                    warnings.add("Property has been removed from the latest iCal specification.  Its use should be avoided.");
    -067            }
    -068    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/FreeBusy.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/FreeBusy.html deleted file mode 100644 index d70b9b66..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/FreeBusy.html +++ /dev/null @@ -1,201 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Date;
    -005    import java.util.List;
    -006    
    -007    import biweekly.component.ICalComponent;
    -008    import biweekly.parameter.FreeBusyType;
    -009    import biweekly.util.Duration;
    -010    import biweekly.util.Period;
    -011    
    -012    /*
    -013     Copyright (c) 2013, Michael Angstadt
    -014     All rights reserved.
    -015    
    -016     Redistribution and use in source and binary forms, with or without
    -017     modification, are permitted provided that the following conditions are met: 
    -018    
    -019     1. Redistributions of source code must retain the above copyright notice, this
    -020     list of conditions and the following disclaimer. 
    -021     2. Redistributions in binary form must reproduce the above copyright notice,
    -022     this list of conditions and the following disclaimer in the documentation
    -023     and/or other materials provided with the distribution. 
    -024    
    -025     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -026     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -027     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -028     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -029     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -030     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -031     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -032     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -033     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -034     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -035     */
    -036    
    -037    /**
    -038     * <p>
    -039     * Defines a person's availability over certain time periods (for example,
    -040     * "busy" between 1pm-3pm and 4pm-5pm). Note that this property can contain
    -041     * multiple time periods, but only one availability type may be defined (e.g.
    -042     * "busy" or "free").
    -043     * </p>
    -044     * <p>
    -045     * <b>Examples:</b>
    -046     * 
    -047     * <pre class="brush:java">
    -048     * FreeBusy freebusy = new FreeBusy();
    -049     * freebusy.setType(FreeBusyType.BUSY);
    -050     * 
    -051     * Date onePM = ...
    -052     * Date threePM = ...
    -053     * freebusy.addValue(onePM, threePM);
    -054     * 
    -055     * Date fourPM = ...
    -056     * Duration oneHour = Duration.builder().hours(1).build();
    -057     * freeBusy.addValue(fourPM, oneHour);
    -058     * </pre>
    -059     * 
    -060     * </p>
    -061     * @author Michael Angstadt
    -062     * @rfc 5545 p.100-1
    -063     */
    -064    public class FreeBusy extends ICalProperty {
    -065            private final List<Period> values = new ArrayList<Period>();
    -066    
    -067            /**
    -068             * Adds a time period.
    -069             * @param start the start date
    -070             * @param end the end date
    -071             */
    -072            public void addValue(Date start, Date end) {
    -073                    values.add(new Period(start, end));
    -074            }
    -075    
    -076            /**
    -077             * Adds a time period.
    -078             * @param start the start date
    -079             * @param duration the duration
    -080             */
    -081            public void addValue(Date start, Duration duration) {
    -082                    values.add(new Period(start, duration));
    -083            }
    -084    
    -085            /**
    -086             * Gets all time periods.
    -087             * @return the time periods
    -088             */
    -089            public List<Period> getValues() {
    -090                    return values;
    -091            }
    -092    
    -093            /**
    -094             * Gets the person's status over the time periods that are specified in this
    -095             * property (for example, "free" or "busy"). If not set, the user should be
    -096             * considered "busy".
    -097             * @return the type or null if not set
    -098             * @rfc 5545 p.20
    -099             */
    -100            public FreeBusyType getType() {
    -101                    return parameters.getFreeBusyType();
    -102            }
    -103    
    -104            /**
    -105             * Sets the person's status over the time periods that are specified in this
    -106             * property (for example, "free" or "busy"). If not set, the user should be
    -107             * considered "busy".
    -108             * @param fbType the type or null to remove
    -109             * @rfc 5545 p.20
    -110             */
    -111            public void setType(FreeBusyType fbType) {
    -112                    parameters.setFreeBusyType(fbType);
    -113            }
    -114    
    -115            @Override
    -116            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -117                    if (values.isEmpty()) {
    -118                            warnings.add("No time periods are defined.");
    -119                    } else {
    -120                            for (Period timePeriod : values) {
    -121                                    if (timePeriod.getStartDate() == null) {
    -122                                            warnings.add("One or more time periods do not have start dates.");
    -123                                            break;
    -124                                    }
    -125                            }
    -126    
    -127                            for (Period timePeriod : values) {
    -128                                    if (timePeriod.getEndDate() == null && timePeriod.getDuration() == null) {
    -129                                            warnings.add("One or more time periods do not have either an end date or a duration.");
    -130                                            break;
    -131                                    }
    -132                            }
    -133                    }
    -134            }
    -135    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Geo.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Geo.html deleted file mode 100644 index 36b0c394..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Geo.html +++ /dev/null @@ -1,180 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * <p>
    -034     * Defines a set of geographical coordinates.
    -035     * </p>
    -036     * <p>
    -037     * <b>Examples:</b>
    -038     * 
    -039     * <pre class="brush:java">
    -040     * Geo geo = new Geo(40.714623, -74.006605);
    -041     * </pre>
    -042     * 
    -043     * </p>
    -044     * @author Michael Angstadt
    -045     * @rfc 5545 p.85-7
    -046     */
    -047    public class Geo extends ICalProperty {
    -048            private Double latitude;
    -049            private Double longitude;
    -050    
    -051            /**
    -052             * Creates a new geo property.
    -053             * @param latitude the latitude
    -054             * @param longitude the longitude
    -055             */
    -056            public Geo(Double latitude, Double longitude) {
    -057                    this.latitude = latitude;
    -058                    this.longitude = longitude;
    -059            }
    -060    
    -061            /**
    -062             * Gets the latitude.
    -063             * @return the latitude
    -064             */
    -065            public Double getLatitude() {
    -066                    return latitude;
    -067            }
    -068    
    -069            /**
    -070             * Sets the latitude.
    -071             * @param latitude the latitude
    -072             */
    -073            public void setLatitude(Double latitude) {
    -074                    this.latitude = latitude;
    -075            }
    -076    
    -077            /**
    -078             * Gets the longitude.
    -079             * @return the longitude
    -080             */
    -081            public Double getLongitude() {
    -082                    return longitude;
    -083            }
    -084    
    -085            /**
    -086             * Sets the longitude.
    -087             * @param longitude the longitude
    -088             */
    -089            public void setLongitude(Double longitude) {
    -090                    this.longitude = longitude;
    -091            }
    -092    
    -093            /**
    -094             * Converts a coordinate in the degrees-minutes-seconds format into its
    -095             * decimal equivalent.
    -096             * @param degrees the degrees
    -097             * @param minutes the minutes
    -098             * @param seconds the seconds
    -099             * @return the decimal value
    -100             */
    -101            public static double toDecimal(int degrees, int minutes, int seconds) {
    -102                    return degrees + (minutes / 60.0) + (seconds / 3600.0);
    -103            }
    -104    
    -105            @Override
    -106            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -107                    if (latitude == null) {
    -108                            warnings.add("Latitude is not set.");
    -109                    }
    -110                    if (longitude == null) {
    -111                            warnings.add("Longitude is not set.");
    -112                    }
    -113            }
    -114    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ICalProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ICalProperty.html deleted file mode 100644 index 9e09b8a1..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ICalProperty.html +++ /dev/null @@ -1,378 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Collection;
    -005    import java.util.List;
    -006    
    -007    import biweekly.ICalendar;
    -008    import biweekly.component.ICalComponent;
    -009    import biweekly.component.VTimezone;
    -010    import biweekly.parameter.ICalParameters;
    -011    
    -012    /*
    -013     Copyright (c) 2013, Michael Angstadt
    -014     All rights reserved.
    -015    
    -016     Redistribution and use in source and binary forms, with or without
    -017     modification, are permitted provided that the following conditions are met: 
    -018    
    -019     1. Redistributions of source code must retain the above copyright notice, this
    -020     list of conditions and the following disclaimer. 
    -021     2. Redistributions in binary form must reproduce the above copyright notice,
    -022     this list of conditions and the following disclaimer in the documentation
    -023     and/or other materials provided with the distribution. 
    -024    
    -025     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -026     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -027     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -028     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -029     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -030     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -031     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -032     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -033     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -034     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -035     */
    -036    
    -037    /**
    -038     * Base class for all iCalendar properties.
    -039     * @author Michael Angstadt
    -040     */
    -041    public abstract class ICalProperty {
    -042            /**
    -043             * The property parameters.
    -044             */
    -045            protected ICalParameters parameters = new ICalParameters();
    -046    
    -047            /**
    -048             * Gets the property's parameters.
    -049             * @return the parameters
    -050             */
    -051            public ICalParameters getParameters() {
    -052                    return parameters;
    -053            }
    -054    
    -055            /**
    -056             * Sets the property's parameters
    -057             * @param parameters the parameters
    -058             */
    -059            public void setParameters(ICalParameters parameters) {
    -060                    this.parameters = parameters;
    -061            }
    -062    
    -063            /**
    -064             * Gets the first value of a parameter with the given name.
    -065             * @param name the parameter name (case insensitive, e.g. "LANGUAGE")
    -066             * @return the parameter value or null if not found
    -067             */
    -068            public String getParameter(String name) {
    -069                    return parameters.first(name);
    -070            }
    -071    
    -072            /**
    -073             * Gets all values of a parameter with the given name.
    -074             * @param name the parameter name (case insensitive, e.g. "LANGUAGE")
    -075             * @return the parameter values
    -076             */
    -077            public List<String> getParameters(String name) {
    -078                    return parameters.get(name);
    -079            }
    -080    
    -081            /**
    -082             * Adds a value to a parameter.
    -083             * @param name the parameter name (case insensitive, e.g. "LANGUAGE")
    -084             * @param value the parameter value
    -085             */
    -086            public void addParameter(String name, String value) {
    -087                    parameters.put(name, value);
    -088            }
    -089    
    -090            /**
    -091             * Replaces all existing values of a parameter with the given value.
    -092             * @param name the parameter name (case insensitive, e.g. "LANGUAGE")
    -093             * @param value the parameter value
    -094             */
    -095            public void setParameter(String name, String value) {
    -096                    parameters.replace(name, value);
    -097            }
    -098    
    -099            /**
    -100             * Replaces all existing values of a parameter with the given values.
    -101             * @param name the parameter name (case insensitive, e.g. "LANGUAGE")
    -102             * @param values the parameter values
    -103             */
    -104            public void setParameter(String name, Collection<String> values) {
    -105                    parameters.replace(name, values);
    -106            }
    -107    
    -108            /**
    -109             * Removes a parameter from the property.
    -110             * @param name the parameter name (case insensitive, e.g. "LANGUAGE")
    -111             */
    -112            public void removeParameter(String name) {
    -113                    parameters.removeAll(name);
    -114            }
    -115    
    -116            //Note: The following parameter helper methods are package-scoped to prevent them from cluttering up the Javadocs
    -117    
    -118            /**
    -119             * Gets a URI pointing to additional information about the entity
    -120             * represented by the property.
    -121             * @return the URI or null if not set
    -122             * @rfc 5545 p.14-5
    -123             */
    -124            String getAltRepresentation() {
    -125                    return parameters.getAltRepresentation();
    -126            }
    -127    
    -128            /**
    -129             * Sets a URI pointing to additional information about the entity
    -130             * represented by the property.
    -131             * @param uri the URI or null to remove
    -132             * @rfc 5545 p.14-5
    -133             */
    -134            void setAltRepresentation(String uri) {
    -135                    parameters.setAltRepresentation(uri);
    -136            }
    -137    
    -138            /**
    -139             * Gets the content-type of the property's value.
    -140             * @return the content type (e.g. "image/png") or null if not set
    -141             * @rfc 5545 p.19-20
    -142             */
    -143            String getFormatType() {
    -144                    return parameters.getFormatType();
    -145            }
    -146    
    -147            /**
    -148             * Sets the content-type of the property's value.
    -149             * @param formatType the content type (e.g. "image/png") or null to remove
    -150             * @rfc 5545 p.19-20
    -151             */
    -152            void setFormatType(String formatType) {
    -153                    parameters.setFormatType(formatType);
    -154            }
    -155    
    -156            /**
    -157             * Gets the language that the property value is written in.
    -158             * @return the language (e.g. "en" for English) or null if not set
    -159             * @rfc 5545 p.21
    -160             */
    -161            String getLanguage() {
    -162                    return parameters.getLanguage();
    -163            }
    -164    
    -165            /**
    -166             * Sets the language that the property value is written in.
    -167             * @param language the language (e.g. "en" for English) or null to remove
    -168             * @rfc 5545 p.21
    -169             */
    -170            void setLanguage(String language) {
    -171                    parameters.setLanguage(language);
    -172            }
    -173    
    -174            /**
    -175             * Gets the timezone identifier. This either (a) references the
    -176             * {@link TimezoneId} property of a {@link VTimezone} component, or (b)
    -177             * specifies a globally-defined timezone (e.g. "America/New_York"). For a
    -178             * list of globally-defined timezones, see the <a
    -179             * href="http://www.twinsun.com/tz/tz-link.htm">TZ database</a>.
    -180             * @return the timezone identifier or null if not set
    -181             * @rfc 5545 p.27-8
    -182             */
    -183            String getTimezoneId() {
    -184                    return parameters.getTimezoneId();
    -185            }
    -186    
    -187            /**
    -188             * Sets the timezone identifier. This either (a) references the
    -189             * {@link TimezoneId} property of a {@link VTimezone} component, or (b)
    -190             * specifies a globally-defined timezone (e.g. "America/New_York"). For a
    -191             * list of globally-defined timezones, see the <a
    -192             * href="http://www.twinsun.com/tz/tz-link.htm">TZ database</a>.
    -193             * @param timezoneId the timezone identifier (e.g. "America/New_York") or
    -194             * null to remove
    -195             * @rfc 5545 p.27-8
    -196             */
    -197            void setTimezoneId(String timezoneId) {
    -198                    parameters.setTimezoneId(timezoneId);
    -199            }
    -200    
    -201            /**
    -202             * Sets the property's timezone to a timezone that is defined within the
    -203             * iCalendar object. Use {@link #setTimezoneId(String)} to use a
    -204             * globally-defined timezone (e.g. "America/New_York").
    -205             * @param timezone the timezone component to reference or null to remove
    -206             * @rfc 5545 p.27-8
    -207             */
    -208            void setTimezone(VTimezone timezone) {
    -209                    if (timezone == null) {
    -210                            setTimezoneId(null);
    -211                            return;
    -212                    }
    -213    
    -214                    TimezoneId tzid = timezone.getTimezoneId();
    -215                    if (tzid != null) {
    -216                            setTimezoneId(tzid.getValue());
    -217                    }
    -218            }
    -219    
    -220            /**
    -221             * Gets a person that is acting on behalf of the person defined in the
    -222             * property.
    -223             * @return a URI representing the person (typically, an email URI, e.g.
    -224             * "mailto:janedoe@example.com") or null if not set
    -225             * @rfc 5545 p.27
    -226             */
    -227            String getSentBy() {
    -228                    return parameters.getSentBy();
    -229            }
    -230    
    -231            /**
    -232             * Sets a person that is acting on behalf of the person defined in the
    -233             * property.
    -234             * @param uri a URI representing the person (typically, an email URI, e.g.
    -235             * "mailto:janedoe@example.com") or null to remove
    -236             * @rfc 5545 p.27
    -237             */
    -238            void setSentBy(String uri) {
    -239                    parameters.setSentBy(uri);
    -240            }
    -241    
    -242            /**
    -243             * Gets the display name of the person.
    -244             * @return the display name (e.g. "John Doe") or null if not set
    -245             * @rfc 5545 p.15-6
    -246             */
    -247            String getCommonName() {
    -248                    return parameters.getCommonName();
    -249            }
    -250    
    -251            /**
    -252             * Sets the display name of the person.
    -253             * @param commonName the display name (e.g. "John Doe") or null to remove
    -254             * @rfc 5545 p.15-6
    -255             */
    -256            void setCommonName(String commonName) {
    -257                    parameters.setCommonName(commonName);
    -258            }
    -259    
    -260            /**
    -261             * Gets a URI that contains additional information about the person.
    -262             * @return the URI (e.g. an LDAP URI) or null if not set
    -263             * @rfc 5545 p.18
    -264             */
    -265            String getDirectoryEntry() {
    -266                    return parameters.getDirectoryEntry();
    -267            }
    -268    
    -269            /**
    -270             * Sets a URI that contains additional information about the person.
    -271             * @param uri the URI (e.g. an LDAP URI) or null to remove
    -272             * @rfc 5545 p.18
    -273             */
    -274            void setDirectoryEntry(String uri) {
    -275                    parameters.setDirectoryEntry(uri);
    -276            }
    -277    
    -278            /**
    -279             * Checks the property for data consistency problems or deviations from the
    -280             * spec. These problems will not prevent the property from being written to
    -281             * a data stream, but may prevent it from being parsed correctly by the
    -282             * consuming application. These problems can largely be avoided by reading
    -283             * the Javadocs of the property class, or by being familiar with the
    -284             * iCalendar standard.
    -285             * @param components the hierarchy of components that the property belongs
    -286             * to
    -287             * @see ICalendar#validate
    -288             * @return a list of warnings or an empty list if no problems were found
    -289             */
    -290            public final List<String> validate(List<ICalComponent> components) {
    -291                    //validate property value
    -292                    List<String> warnings = new ArrayList<String>(0);
    -293                    validate(components, warnings);
    -294    
    -295                    //validate parameters
    -296                    warnings.addAll(parameters.validate());
    -297    
    -298                    return warnings;
    -299            }
    -300    
    -301            /**
    -302             * Checks the property for data consistency problems or deviations from the
    -303             * spec. Meant to be overridden by child classes that wish to provide
    -304             * validation logic.
    -305             * @param components the hierarchy of components that the property belongs
    -306             * to
    -307             * @param warnings the list to add the warnings to
    -308             */
    -309            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -310                    //do nothing
    -311            }
    -312    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/IntegerProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/IntegerProperty.html deleted file mode 100644 index a8e1a476..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/IntegerProperty.html +++ /dev/null @@ -1,106 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * Represents a property whose value is an integer.
    -030     * @author Michael Angstadt
    -031     */
    -032    public class IntegerProperty extends ValuedProperty<Integer> {
    -033            /**
    -034             * Creates a new integer property.
    -035             * @param value the property's value
    -036             */
    -037            public IntegerProperty(Integer value) {
    -038                    super(value);
    -039            }
    -040    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/LastModified.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/LastModified.html deleted file mode 100644 index ad09db16..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/LastModified.html +++ /dev/null @@ -1,121 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines the date and time that the calendar data in a component was last
    -033     * changed.
    -034     * </p>
    -035     * <p>
    -036     * <b>Examples:</b>
    -037     * 
    -038     * <pre class="brush:java">
    -039     * Date datetime = ...
    -040     * LastModified lastModified = new LastModified(datetime);
    -041     * </pre>
    -042     * 
    -043     * </p>
    -044     * @author Michael Angstadt
    -045     * @rfc 5545 p.138
    -046     */
    -047    public class LastModified extends DateTimeProperty {
    -048            /**
    -049             * Creates a last modified property.
    -050             * @param date the date
    -051             */
    -052            public LastModified(Date date) {
    -053                    super(date);
    -054            }
    -055    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ListProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ListProperty.html deleted file mode 100644 index c1aadafb..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ListProperty.html +++ /dev/null @@ -1,155 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.List;
    -005    
    -006    import biweekly.component.ICalComponent;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Represents a property whose value is a list of values.
    -035     * @author Michael Angstadt
    -036     * @param <T> the value type
    -037     */
    -038    public class ListProperty<T> extends ICalProperty {
    -039            private final List<T> values;
    -040    
    -041            /**
    -042             * Creates a new list property.
    -043             */
    -044            public ListProperty() {
    -045                    values = new ArrayList<T>();
    -046            }
    -047    
    -048            /**
    -049             * Creates a new list property.
    -050             * @param values the values to initialize the property with
    -051             */
    -052            public ListProperty(T... values) {
    -053                    this();
    -054                    for (T value : values) {
    -055                            this.values.add(value);
    -056                    }
    -057            }
    -058    
    -059            /**
    -060             * Creates a new list property.
    -061             * @param values the values to initialize the property with
    -062             */
    -063            public ListProperty(List<T> values) {
    -064                    this.values = values;
    -065            }
    -066    
    -067            /**
    -068             * Adds a value to this property.
    -069             * @param value the value to add
    -070             */
    -071            public void addValue(T value) {
    -072                    values.add(value);
    -073            }
    -074    
    -075            /**
    -076             * Gets the values of this property.
    -077             * @return the values
    -078             */
    -079            public List<T> getValues() {
    -080                    return values;
    -081            }
    -082    
    -083            @Override
    -084            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -085                    if (values.isEmpty()) {
    -086                            warnings.add("Value list is empty.");
    -087                    }
    -088            }
    -089    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Location.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Location.html deleted file mode 100644 index 64f817ad..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Location.html +++ /dev/null @@ -1,137 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines the physical location of an event.
    -031     * </p>
    -032     * <p>
    -033     * <b>Examples:</b>
    -034     * 
    -035     * <pre class="brush:java">
    -036     * Location location = new Location(&quot;Room 32B&quot;);
    -037     * </pre>
    -038     * 
    -039     * </p>
    -040     * @author Michael Angstadt
    -041     * @rfc 5545 p.87-8
    -042     */
    -043    public class Location extends TextProperty {
    -044            /**
    -045             * Creates a location property.
    -046             * @param location the location (e.g. "Room 101")
    -047             */
    -048            public Location(String location) {
    -049                    super(location);
    -050            }
    -051    
    -052            @Override
    -053            public String getAltRepresentation() {
    -054                    return super.getAltRepresentation();
    -055            }
    -056    
    -057            @Override
    -058            public void setAltRepresentation(String uri) {
    -059                    super.setAltRepresentation(uri);
    -060            }
    -061    
    -062            @Override
    -063            public String getLanguage() {
    -064                    return super.getLanguage();
    -065            }
    -066    
    -067            @Override
    -068            public void setLanguage(String language) {
    -069                    super.setLanguage(language);
    -070            }
    -071    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Method.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Method.html deleted file mode 100644 index 35bad9f6..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Method.html +++ /dev/null @@ -1,118 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Specifies the value of the Content-Type "method" parameter if the iCalendar
    -031     * object is defined as a MIME message entity.
    -032     * </p>
    -033     * <p>
    -034     * <b>Examples:</b>
    -035     * 
    -036     * <pre class="brush:java">
    -037     * Method method = new Method(&quot;value&quot;);
    -038     * </pre>
    -039     * 
    -040     * </p>
    -041     * @author Michael Angstadt
    -042     * @rfc 5545 p.77-8
    -043     */
    -044    public class Method extends TextProperty {
    -045            /**
    -046             * Creates a new method property.
    -047             * @param value the property value
    -048             */
    -049            public Method(String value) {
    -050                    super(value);
    -051            }
    -052    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Organizer.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Organizer.html deleted file mode 100644 index 1845f564..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Organizer.html +++ /dev/null @@ -1,186 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import biweekly.component.VEvent;
    -004    import biweekly.component.VFreeBusy;
    -005    import biweekly.component.VJournal;
    -006    import biweekly.component.VTodo;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * <p>
    -035     * Defines an organizer. This property has different meanings depending on the
    -036     * component it belongs to:
    -037     * <ul>
    -038     * <li>{@link VEvent} - The organizer of the event.</li>
    -039     * <li>{@link VTodo} - The creator of the to-do task.</li>
    -040     * <li>{@link VJournal} - The owner of the journal entry.</li>
    -041     * <li>{@link VFreeBusy} - The person requesting the free/busy time.</li>
    -042     * </ul>
    -043     * </p>
    -044     * <p>
    -045     * <b>Examples:</b>
    -046     * 
    -047     * <pre class="brush:java">
    -048     * Organizer organizer = Organizer.email(&quot;johndoe@example.com&quot;);
    -049     * organizer.setCommonName(&quot;John Doe&quot;);
    -050     * </pre>
    -051     * 
    -052     * </p>
    -053     * @author Michael Angstadt
    -054     * @rfc 5545 p.111-2
    -055     */
    -056    public class Organizer extends TextProperty {
    -057            /**
    -058             * Creates an organizer property
    -059             * @param uri a URI representing the organizer (typically, an email address,
    -060             * e.g. "mailto:johndoe@example.com")
    -061             */
    -062            public Organizer(String uri) {
    -063                    super(uri);
    -064            }
    -065    
    -066            /**
    -067             * Creates an organizer property using an email address as its value.
    -068             * @param email the email address (e.g. "johndoe@example.com")
    -069             * @return the property
    -070             */
    -071            public static Organizer email(String email) {
    -072                    return new Organizer("mailto:" + email);
    -073            }
    -074    
    -075            @Override
    -076            public String getSentBy() {
    -077                    return super.getSentBy();
    -078            }
    -079    
    -080            @Override
    -081            public void setSentBy(String sentBy) {
    -082                    super.setSentBy(sentBy);
    -083            }
    -084    
    -085            @Override
    -086            public String getCommonName() {
    -087                    return super.getCommonName();
    -088            }
    -089    
    -090            @Override
    -091            public void setCommonName(String commonName) {
    -092                    super.setCommonName(commonName);
    -093            }
    -094    
    -095            @Override
    -096            public String getDirectoryEntry() {
    -097                    return super.getDirectoryEntry();
    -098            }
    -099    
    -100            @Override
    -101            public void setDirectoryEntry(String directoryEntry) {
    -102                    super.setDirectoryEntry(directoryEntry);
    -103            }
    -104    
    -105            /**
    -106             * Gets the language that the common name parameter is written in.
    -107             */
    -108            @Override
    -109            public String getLanguage() {
    -110                    return super.getLanguage();
    -111            }
    -112    
    -113            /**
    -114             * Sets the language that the common name parameter is written in.
    -115             */
    -116            @Override
    -117            public void setLanguage(String language) {
    -118                    super.setLanguage(language);
    -119            }
    -120    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/PercentComplete.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/PercentComplete.html deleted file mode 100644 index d233fd04..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/PercentComplete.html +++ /dev/null @@ -1,132 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * <p>
    -034     * Defines a to-do task's level of completion.
    -035     * </p>
    -036     * <p>
    -037     * <b>Examples:</b>
    -038     * 
    -039     * <pre class="brush:java">
    -040     * PercentComplete percentComplete = new PercentComplete(50); //50%
    -041     * 
    -042     * VTodo todo = new VTodo();
    -043     * todo.setPercentComplete(50);
    -044     * </pre>
    -045     * 
    -046     * </p>
    -047     * @author Michael Angstadt
    -048     * @rfc 5545 p.88-9
    -049     */
    -050    public class PercentComplete extends IntegerProperty {
    -051            /**
    -052             * Creates a percent complete property.
    -053             * @param percent the percentage (e.g. "50" for 50%)
    -054             */
    -055            public PercentComplete(Integer percent) {
    -056                    super(percent);
    -057            }
    -058    
    -059            @Override
    -060            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -061                    super.validate(components, warnings);
    -062                    if (value != null && (value < 0 || value > 100)) {
    -063                            warnings.add("Value should be between 1 and 100 inclusive: " + value);
    -064                    }
    -065            }
    -066    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Priority.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Priority.html deleted file mode 100644 index a9b38564..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Priority.html +++ /dev/null @@ -1,171 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines the priority of an event or to-do task.
    -031     * </p>
    -032     * <p>
    -033     * <b>Examples:</b>
    -034     * 
    -035     * <pre class="brush:java">
    -036     * //highest
    -037     * Priority priority = new Priority(1);
    -038     * 
    -039     * //lowest
    -040     * Priority priority = new Priority(9);
    -041     * 
    -042     * VTodo todo = new VTodo();
    -043     * todo.setPriority(1);
    -044     * </pre>
    -045     * 
    -046     * </p>
    -047     * @author Michael Angstadt
    -048     * @rfc 5545 p.89-90
    -049     */
    -050    public class Priority extends IntegerProperty {
    -051            /**
    -052             * Creates a priority property.
    -053             * @param priority the priority ("0" is undefined, "1" is the highest, "9"
    -054             * is the lowest)
    -055             */
    -056            public Priority(Integer priority) {
    -057                    super(priority);
    -058            }
    -059    
    -060            /**
    -061             * Determines if this priority is considered "high" priority.
    -062             * @return true if the priority is between 1 and 4, false if not
    -063             */
    -064            public boolean isHigh() {
    -065                    return value != null && value >= 1 && value <= 4;
    -066            }
    -067    
    -068            /**
    -069             * Determines if this priority is considered "medium" priority.
    -070             * @return true if the priority is "5", false if not
    -071             */
    -072            public boolean isMedium() {
    -073                    return value != null && value == 5;
    -074            }
    -075    
    -076            /**
    -077             * Determines if this priority is considered "low" priority.
    -078             * @return true if the priority is between 6 and 9, false if not
    -079             */
    -080            public boolean isLow() {
    -081                    return value != null && value >= 6 && value <= 9;
    -082            }
    -083    
    -084            /**
    -085             * Determines if this priority has an "undefined" value.
    -086             * @return true if the priority is "0", false if not
    -087             */
    -088            public boolean isUndefined() {
    -089                    return value != null && value == 0;
    -090            }
    -091    
    -092            /**
    -093             * Converts this priority to its two-character CUA code.
    -094             * @return the CUA code (e.g. "B1" for "4") or null if the priority cannot
    -095             * be converted to a CUA code
    -096             */
    -097            public String toCuaPriority() {
    -098                    if (value == null || value < 1 || value > 9) {
    -099                            return null;
    -100                    }
    -101                    int letter = ((value - 1) / 3) + 'A';
    -102                    int number = ((value - 1) % 3) + 1;
    -103                    return (char) letter + "" + number;
    -104            }
    -105    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ProductId.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ProductId.html deleted file mode 100644 index 80079c22..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ProductId.html +++ /dev/null @@ -1,131 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import biweekly.Biweekly;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Identifies the application that created the iCalendar object.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * ProductId prodid = new ProductId(&quot;-//Company//Application Name//EN&quot;);
    -039     * 
    -040     * ICalendar ical = new ICalendar();
    -041     * ical.setProductId(&quot;-//Company//Application Name//EN&quot;);
    -042     * </pre>
    -043     * 
    -044     * </p>
    -045     * @author Michael Angstadt
    -046     * @rfc 5545 p.78-9
    -047     */
    -048    public class ProductId extends TextProperty {
    -049            /**
    -050             * Creates a new product identifier property.
    -051             * @param value a unique string representing the application (e.g.
    -052             * "-//Company//Application Name//EN")
    -053             */
    -054            public ProductId(String value) {
    -055                    super(value);
    -056            }
    -057    
    -058            /**
    -059             * Creates a new product identifier property that represents this library.
    -060             * @return the property
    -061             */
    -062            public static ProductId biweekly() {
    -063                    return new ProductId("-//Michael Angstadt//biweekly " + Biweekly.VERSION + "//EN");
    -064            }
    -065    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RawProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RawProperty.html deleted file mode 100644 index 338badd0..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RawProperty.html +++ /dev/null @@ -1,126 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import biweekly.ICalDataType;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * A property that does not have a marshaller associated with it.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class RawProperty extends ICalProperty {
    -035            private String name;
    -036            private ICalDataType dataType;
    -037            private String value;
    -038    
    -039            public RawProperty(String name, String value) {
    -040                    this(name, null, value);
    -041            }
    -042    
    -043            public RawProperty(String name, ICalDataType dataType, String value) {
    -044                    this.name = name;
    -045                    this.dataType = dataType;
    -046                    this.value = value;
    -047            }
    -048    
    -049            public String getValue() {
    -050                    return value;
    -051            }
    -052    
    -053            public ICalDataType getDataType() {
    -054                    return dataType;
    -055            }
    -056    
    -057            public String getName() {
    -058                    return name;
    -059            }
    -060    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceDates.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceDates.html deleted file mode 100644 index 91eff335..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceDates.html +++ /dev/null @@ -1,206 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.component.ICalComponent;
    -007    import biweekly.component.VTimezone;
    -008    import biweekly.util.ICalDateFormatter;
    -009    import biweekly.util.Period;
    -010    
    -011    /*
    -012     Copyright (c) 2013, Michael Angstadt
    -013     All rights reserved.
    -014    
    -015     Redistribution and use in source and binary forms, with or without
    -016     modification, are permitted provided that the following conditions are met: 
    -017    
    -018     1. Redistributions of source code must retain the above copyright notice, this
    -019     list of conditions and the following disclaimer. 
    -020     2. Redistributions in binary form must reproduce the above copyright notice,
    -021     this list of conditions and the following disclaimer in the documentation
    -022     and/or other materials provided with the distribution. 
    -023    
    -024     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -025     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -026     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -027     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -028     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -029     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -030     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -031     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -032     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -033     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -034     */
    -035    
    -036    /**
    -037     * <p>
    -038     * Defines a list of dates or periods that help define a recurrence rule. It
    -039     * must contain either dates or time periods. It cannot contain a combination of
    -040     * both.
    -041     * </p>
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * //date-time values
    -047     * Date datetime1 = ...
    -048     * Date datetime2 = ...
    -049     * List&lt;Date&gt; datetimes = Arrays.asList(datetime1, datetime2);
    -050     * RecurrenceDates prop = new RecurrenceDates(datetimes, true);
    -051     * 
    -052     * //date values
    -053     * Date date1 = ...
    -054     * Date date2 = ...
    -055     * List&lt;Date&gt; dates = Arrays.asList(date1, date2);
    -056     * RecurrenceDates prop = new RecurrenceDates(dates, false);
    -057     * 
    -058     * //periods
    -059     * Period period1 = ...
    -060     * Period period2 = ...
    -061     * List&lt;Period&gt; periods = Arrays.asList(period1, period2);
    -062     * RecurrenceDates prop = new RecurrenceDates(periods, true);
    -063     * </pre>
    -064     * 
    -065     * </p>
    -066     * @author Michael Angstadt
    -067     * @rfc 5545 p.120-2
    -068     */
    -069    public class RecurrenceDates extends ICalProperty {
    -070            private List<Date> dates;
    -071            private boolean hasTime;
    -072            private List<Period> periods;
    -073    
    -074            /**
    -075             * Creates a recurrence dates property.
    -076             * @param dates the recurrence dates
    -077             * @param hasTime true if the dates have a time component, false if they are
    -078             * strictly dates
    -079             */
    -080            public RecurrenceDates(List<Date> dates, boolean hasTime) {
    -081                    this.dates = dates;
    -082                    this.hasTime = hasTime;
    -083            }
    -084    
    -085            /**
    -086             * Creates a recurrence dates property.
    -087             * @param periods the time periods
    -088             */
    -089            public RecurrenceDates(List<Period> periods) {
    -090                    this.periods = periods;
    -091            }
    -092    
    -093            /**
    -094             * Gets the recurrence dates.
    -095             * @return the dates or null if this property contains periods
    -096             */
    -097            public List<Date> getDates() {
    -098                    return dates;
    -099            }
    -100    
    -101            /**
    -102             * Gets whether the recurrence dates have time components.
    -103             * @return true if the dates have a time component, false if they are
    -104             * strictly dates
    -105             */
    -106            public boolean hasTime() {
    -107                    return hasTime;
    -108            }
    -109    
    -110            /**
    -111             * Gets the time periods.
    -112             * @return the time periods or null if this property contains dates
    -113             */
    -114            public List<Period> getPeriods() {
    -115                    return periods;
    -116            }
    -117    
    -118            @Override
    -119            public String getTimezoneId() {
    -120                    return super.getTimezoneId();
    -121            }
    -122    
    -123            @Override
    -124            public void setTimezoneId(String timezoneId) {
    -125                    super.setTimezoneId(timezoneId);
    -126            }
    -127    
    -128            @Override
    -129            public void setTimezone(VTimezone timezone) {
    -130                    super.setTimezone(timezone);
    -131            }
    -132    
    -133            @Override
    -134            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -135                    String tzid = getTimezoneId();
    -136                    if (tzid != null && tzid.contains("/") && ICalDateFormatter.parseTimeZoneId(tzid) == null) {
    -137                            warnings.add("Unrecognized timezone ID: " + tzid);
    -138                    }
    -139            }
    -140    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceId.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceId.html deleted file mode 100644 index 255ab14d..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceId.html +++ /dev/null @@ -1,159 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.parameter.Range;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * <p>
    -034     * Records the original value of the {@link DateStart} property if a recurrence
    -035     * instance has been modified. Used in conjunction with the {@link Uid} and
    -036     * {@link Sequence} properties to uniquely identify a recurrence instance.
    -037     * </p>
    -038     * <p>
    -039     * <b>Examples:</b>
    -040     * 
    -041     * <pre class="brush:java">
    -042     * //date-time value
    -043     * Date datetime = ...
    -044     * RecurrenceId recurrenceId = new RecurrenceId(datetime);
    -045     * 
    -046     * //datevalue
    -047     * Date date = ...
    -048     * RecurrenceId recurrenceId = new RecurrenceId(date, false);
    -049     * </pre>
    -050     * 
    -051     * </p>
    -052     * @author Michael Angstadt
    -053     * @rfc 5545 p.112-4
    -054     */
    -055    public class RecurrenceId extends DateOrDateTimeProperty {
    -056            /**
    -057             * Creates a recurrence ID property.
    -058             * @param originalStartDate the original start date
    -059             */
    -060            public RecurrenceId(Date originalStartDate) {
    -061                    this(originalStartDate, true);
    -062            }
    -063    
    -064            /**
    -065             * Creates a recurrence ID property.
    -066             * @param originalStartDate the original start date
    -067             * @param hasTime true to include the time component of the date, false not
    -068             * to
    -069             */
    -070            public RecurrenceId(Date originalStartDate, boolean hasTime) {
    -071                    super(originalStartDate, hasTime);
    -072            }
    -073    
    -074            /**
    -075             * Gets the effective range of recurrence instances from the instance
    -076             * specified by this property.
    -077             * @return the range or null if not set
    -078             * @rfc 5545 p.23-4
    -079             */
    -080            public Range getRange() {
    -081                    return parameters.getRange();
    -082            }
    -083    
    -084            /**
    -085             * Sets the effective range of recurrence instances from the instance
    -086             * specified by this property.
    -087             * @param range the range or null to remove
    -088             * @rfc 5545 p.23-4
    -089             */
    -090            public void setRange(Range range) {
    -091                    parameters.setRange(range);
    -092            }
    -093    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceProperty.html deleted file mode 100644 index 4c0f52bf..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceProperty.html +++ /dev/null @@ -1,127 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    import biweekly.util.Recurrence;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Defines a property whose value is a recurrence rule.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class RecurrenceProperty extends ValuedProperty<Recurrence> {
    -038            /**
    -039             * Creates a new recurrence property.
    -040             * @param recur the recurrence value
    -041             */
    -042            public RecurrenceProperty(Recurrence recur) {
    -043                    super(recur);
    -044            }
    -045    
    -046            @Override
    -047            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -048                    super.validate(components, warnings);
    -049                    if (value == null) {
    -050                            return;
    -051                    }
    -052    
    -053                    if (value.getFrequency() == null) {
    -054                            warnings.add("Frequency is not set (it is a required field).");
    -055                    }
    -056    
    -057                    if (value.getUntil() != null && value.getCount() != null) {
    -058                            warnings.add("\"UNTIL\" and \"COUNT\" cannot both be set.");
    -059                    }
    -060            }
    -061    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceRule.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceRule.html deleted file mode 100644 index 700321ba..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RecurrenceRule.html +++ /dev/null @@ -1,136 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    import biweekly.util.Recurrence;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * <p>
    -035     * Defines how often a component repeats.
    -036     * </p>
    -037     * <p>
    -038     * <b>Examples:</b>
    -039     * 
    -040     * <pre class="brush:java">
    -041     * //&quot;bi-weekly&quot;
    -042     * Recurrence recur = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    -043     * RecurrenceRule rrule = new RecurrenceRule(recur);
    -044     * </pre>
    -045     * 
    -046     * </p>
    -047     * @author Michael Angstadt
    -048     * @rfc 5545 p.122-32
    -049     */
    -050    public class RecurrenceRule extends RecurrenceProperty {
    -051            /**
    -052             * Creates a new recurrence rule property.
    -053             * @param recur the recurrence rule
    -054             */
    -055            public RecurrenceRule(Recurrence recur) {
    -056                    super(recur);
    -057            }
    -058    
    -059            @Override
    -060            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -061                    super.validate(components, warnings);
    -062                    if (value == null) {
    -063                            return;
    -064                    }
    -065    
    -066                    if (!value.getXRules().isEmpty()) {
    -067                            warnings.add("Non-standard rule parts are not allowed in the latest iCal specification.");
    -068                    }
    -069            }
    -070    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RelatedTo.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RelatedTo.html deleted file mode 100644 index f4a9e155..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RelatedTo.html +++ /dev/null @@ -1,140 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import biweekly.parameter.RelationshipType;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines a relationship between the component that this property belongs to
    -033     * and another component.
    -034     * </p>
    -035     * <p>
    -036     * <b>Examples:</b>
    -037     * 
    -038     * <pre class="brush:java">
    -039     * RelatedTo relatedTo = new RelatedTo(&quot;uid-value&quot;);
    -040     * </pre>
    -041     * 
    -042     * </p>
    -043     * @author Michael Angstadt
    -044     * @rfc 5545 p.115-6
    -045     */
    -046    public class RelatedTo extends TextProperty {
    -047            /**
    -048             * Creates a related-to property.
    -049             * @param uid the value of the {@link Uid} property of the component that
    -050             * this property is referencing
    -051             */
    -052            public RelatedTo(String uid) {
    -053                    super(uid);
    -054            }
    -055    
    -056            /**
    -057             * Gets the relationship type.
    -058             * @return the relationship type (e.g. "child") or null if not set
    -059             * @rfc 5545 p.25
    -060             */
    -061            public RelationshipType getRelationshipType() {
    -062                    return parameters.getRelationshipType();
    -063            }
    -064    
    -065            /**
    -066             * Sets the relationship type.
    -067             * @param relationshipType the relationship type (e.g. "child") or null to
    -068             * remove
    -069             * @rfc 5545 p.25
    -070             */
    -071            public void setRelationshipType(RelationshipType relationshipType) {
    -072                    parameters.setRelationshipType(relationshipType);
    -073            }
    -074    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Repeat.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Repeat.html deleted file mode 100644 index b48d8883..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Repeat.html +++ /dev/null @@ -1,125 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines the number of times an alarm should be repeated after its initial
    -031     * trigger. Used in conjunction with {@link DurationProperty}, which defines the
    -032     * length of the pause between repeats.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * //repeat 5 more times after the first time
    -039     * Repeat relatedTo = new Repeat(5);
    -040     * 
    -041     * VAlarm alarm = ...;
    -042     * alarm.setRepeat(5);
    -043     * </pre>
    -044     * 
    -045     * </p>
    -046     * @author Michael Angstadt
    -047     * @rfc 5545 p.133
    -048     */
    -049    public class Repeat extends IntegerProperty {
    -050            /**
    -051             * Creates a repeat property.
    -052             * @param count the number of times to repeat the alarm (e.g. "2" to repeat
    -053             * it two more times after it was initially triggered, for a total of three
    -054             * times)
    -055             */
    -056            public Repeat(Integer count) {
    -057                    super(count);
    -058            }
    -059    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RequestStatus.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RequestStatus.html deleted file mode 100644 index 5347e24a..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/RequestStatus.html +++ /dev/null @@ -1,218 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * <p>
    -034     * Represents a response to a scheduling request, describing whether the request
    -035     * was successfully processed or not.
    -036     * </p>
    -037     * <p>
    -038     * Each property instance has a status code. The following status code families
    -039     * are defined:
    -040     * <ul>
    -041     * <li><b>1.x</b> - The request has been received, but is still being processed.
    -042     * </li>
    -043     * <li><b>2.x</b> - The request was processed successfully.</li>
    -044     * <li><b>3.x</b> - There is a client-side problem with the request (such as
    -045     * some incorrect syntax).</li>
    -046     * <li><b>4.x</b> - A server-side error occurred.</li>
    -047     * </ul>
    -048     * </p>
    -049     * <p>
    -050     * <b>Examples:</b>
    -051     * 
    -052     * <pre class="brush:java">
    -053     * RequestStatus requestStatus = new RequestStatus(&quot;2.0&quot;);
    -054     * requestStatus.setDescription(&quot;Success&quot;);
    -055     * </pre>
    -056     * 
    -057     * </p>
    -058     * @author Michael Angstadt
    -059     * @rfc 5545 p.141-3
    -060     */
    -061    public class RequestStatus extends ICalProperty {
    -062            private String statusCode, description, exceptionText;
    -063    
    -064            /**
    -065             * Creates a request status property.
    -066             * @param statusCode the status code (e.g. "1.1.3")
    -067             */
    -068            public RequestStatus(String statusCode) {
    -069                    setStatusCode(statusCode);
    -070            }
    -071    
    -072            /**
    -073             * Gets the status code. The following status code families are defined:
    -074             * <ul>
    -075             * <li><b>1.x</b> - The request has been received, but is still being
    -076             * processed.</li>
    -077             * <li><b>2.x</b> - The request was processed successfully.</li>
    -078             * <li><b>3.x</b> - There is a client-side problem with the request (such as
    -079             * some incorrect syntax).</li>
    -080             * <li><b>4.x</b> - A server-side error occurred.</li>
    -081             * </ul>
    -082             * @return the status code (e.g. "1.1.3")
    -083             */
    -084            public String getStatusCode() {
    -085                    return statusCode;
    -086            }
    -087    
    -088            /**
    -089             * Sets a status code. The following status code families are defined:
    -090             * <ul>
    -091             * <li><b>1.x</b> - The request has been received, but is still being
    -092             * processed.</li>
    -093             * <li><b>2.x</b> - The request was processed successfully.</li>
    -094             * <li><b>3.x</b> - There is a client-side problem with the request (such as
    -095             * some incorrect syntax).</li>
    -096             * <li><b>4.x</b> - A server-side error occurred.</li>
    -097             * </ul>
    -098             * @param statusCode the status code (e.g. "1.1.3")
    -099             */
    -100            public void setStatusCode(String statusCode) {
    -101                    this.statusCode = statusCode;
    -102            }
    -103    
    -104            /**
    -105             * Gets the human-readable description of the status.
    -106             * @return the description (e.g. "Success") or null if not set
    -107             */
    -108            public String getDescription() {
    -109                    return description;
    -110            }
    -111    
    -112            /**
    -113             * Sets a human-readable description of the status.
    -114             * @param description the description (e.g. "Success") or null to remove
    -115             */
    -116            public void setDescription(String description) {
    -117                    this.description = description;
    -118            }
    -119    
    -120            /**
    -121             * Gets any additional data related to the response.
    -122             * @return the additional data or null if not set
    -123             */
    -124            public String getExceptionText() {
    -125                    return exceptionText;
    -126            }
    -127    
    -128            /**
    -129             * Sets any additional data related to the response.
    -130             * @param exceptionText the additional data or null to remove
    -131             */
    -132            public void setExceptionText(String exceptionText) {
    -133                    this.exceptionText = exceptionText;
    -134            }
    -135    
    -136            @Override
    -137            public String getLanguage() {
    -138                    return super.getLanguage();
    -139            }
    -140    
    -141            @Override
    -142            public void setLanguage(String language) {
    -143                    super.setLanguage(language);
    -144            }
    -145    
    -146            @Override
    -147            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -148                    if (statusCode == null) {
    -149                            warnings.add("No status code is set.");
    -150                    }
    -151            }
    -152    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Resources.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Resources.html deleted file mode 100644 index 066dd9b7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Resources.html +++ /dev/null @@ -1,157 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines a list of resources that are needed for an event or to-do task (for
    -033     * example a projector or DVD player).
    -034     * </p>
    -035     * <p>
    -036     * <b>Examples:</b>
    -037     * 
    -038     * <pre class="brush:java">
    -039     * Resources resources = new Resources(&quot;projector&quot;, &quot;DVD player&quot;);
    -040     * </pre>
    -041     * 
    -042     * </p>
    -043     * @author Michael Angstadt
    -044     * @rfc 5545 p.91
    -045     */
    -046    public class Resources extends ListProperty<String> {
    -047            /**
    -048             * Creates a new resources property.
    -049             */
    -050            public Resources() {
    -051                    super();
    -052            }
    -053    
    -054            /**
    -055             * Creates a new resources property.
    -056             * @param values the values to initialize the property with (e.g. "easel",
    -057             * "projector")
    -058             */
    -059            public Resources(String... values) {
    -060                    super(values);
    -061            }
    -062    
    -063            /**
    -064             * Creates a new resources property.
    -065             * @param values the values to initialize the property with (e.g. "easel",
    -066             * "projector")
    -067             */
    -068            public Resources(List<String> values) {
    -069                    super(values);
    -070            }
    -071    
    -072            @Override
    -073            public String getAltRepresentation() {
    -074                    return super.getAltRepresentation();
    -075            }
    -076    
    -077            @Override
    -078            public void setAltRepresentation(String uri) {
    -079                    super.setAltRepresentation(uri);
    -080            }
    -081    
    -082            @Override
    -083            public String getLanguage() {
    -084                    return super.getLanguage();
    -085            }
    -086    
    -087            @Override
    -088            public void setLanguage(String language) {
    -089                    super.setLanguage(language);
    -090            }
    -091    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Sequence.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Sequence.html deleted file mode 100644 index d3caf944..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Sequence.html +++ /dev/null @@ -1,134 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines a revision number for an event, to-do task, or journal entry. This
    -031     * number can be incremented every time a significant change is made to the
    -032     * component.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * Sequence sequence = new Sequence(2);
    -039     * 
    -040     * VEvent event = ...
    -041     * event.setSequence(2);
    -042     * </pre>
    -043     * 
    -044     * </p>
    -045     * @author Michael Angstadt
    -046     * @rfc 5545 p.138-9
    -047     */
    -048    public class Sequence extends IntegerProperty {
    -049            /**
    -050             * Creates a sequence property.
    -051             * @param sequence the sequence number (e.g. "0" for the initial version,
    -052             * "1" for the first revision, etc)
    -053             */
    -054            public Sequence(Integer sequence) {
    -055                    super(sequence);
    -056            }
    -057    
    -058            /**
    -059             * Increments the sequence number.
    -060             */
    -061            public void increment() {
    -062                    if (value == null) {
    -063                            value = 1;
    -064                    } else {
    -065                            value++;
    -066                    }
    -067            }
    -068    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Status.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Status.html deleted file mode 100644 index 5d203ec3..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Status.html +++ /dev/null @@ -1,277 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Arrays;
    -004    import java.util.Collection;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * <p>
    -033     * Defines the status of the component that this property belongs to, such as a
    -034     * to-do task being in a "completed" state.
    -035     * </p>
    -036     * <p>
    -037     * <b>Examples:</b>
    -038     * 
    -039     * <pre class="brush:java">
    -040     * //creating a new property
    -041     * Status status = Status.completed();
    -042     * 
    -043     * if (status.isCompleted()) {
    -044     *      //its value is &quot;COMPLETED&quot;
    -045     * }
    -046     * </pre>
    -047     * 
    -048     * </p>
    -049     * @author Michael Angstadt
    -050     * @rfc 5545 p.92-3
    -051     */
    -052    public class Status extends EnumProperty {
    -053            private static final String TENTATIVE = "TENTATIVE";
    -054            private static final String CONFIRMED = "CONFIRMED";
    -055            private static final String CANCELLED = "CANCELLED";
    -056            private static final String NEEDS_ACTION = "NEEDS-ACTION";
    -057            private static final String COMPLETED = "COMPLETED";
    -058            private static final String IN_PROGRESS = "IN-PROGRESS";
    -059            private static final String DRAFT = "DRAFT";
    -060            private static final String FINAL = "FINAL";
    -061    
    -062            /**
    -063             * Creates a status property. Use of this constructor is discouraged and may
    -064             * put the property in an invalid state. Use one of the static factory
    -065             * methods instead.
    -066             * @param status the status (e.g. "TENTATIVE")
    -067             */
    -068            public Status(String status) {
    -069                    super(status);
    -070            }
    -071    
    -072            /**
    -073             * Creates a "tentative" status property (only valid for event components).
    -074             * @return the property
    -075             */
    -076            public static Status tentative() {
    -077                    return create(TENTATIVE);
    -078            }
    -079    
    -080            /**
    -081             * Determines if the status is set to "tentative".
    -082             * @return true if set to "tentative", false if not
    -083             */
    -084            public boolean isTentative() {
    -085                    return is(TENTATIVE);
    -086            }
    -087    
    -088            /**
    -089             * Creates a "confirmed" status property (only valid for event components).
    -090             * @return the property
    -091             */
    -092            public static Status confirmed() {
    -093                    return create(CONFIRMED);
    -094            }
    -095    
    -096            /**
    -097             * Determines if the status is set to "confirmed".
    -098             * @return true if set to "confirmed", false if not
    -099             */
    -100            public boolean isConfirmed() {
    -101                    return is(CONFIRMED);
    -102            }
    -103    
    -104            /**
    -105             * Creates a "cancelled" status property (only valid for event, to-do, and
    -106             * journal components).
    -107             * @return the property
    -108             */
    -109            public static Status cancelled() {
    -110                    return create(CANCELLED);
    -111            }
    -112    
    -113            /**
    -114             * Determines if the status is set to "cancelled".
    -115             * @return true if set to "cancelled", false if not
    -116             */
    -117            public boolean isCancelled() {
    -118                    return is(CANCELLED);
    -119            }
    -120    
    -121            /**
    -122             * Creates a "needs-action" status property (only valid for to-do
    -123             * components).
    -124             * @return the property
    -125             */
    -126            public static Status needsAction() {
    -127                    return create(NEEDS_ACTION);
    -128            }
    -129    
    -130            /**
    -131             * Determines if the status is set to "needs-action".
    -132             * @return true if set to "needs-action", false if not
    -133             */
    -134            public boolean isNeedsAction() {
    -135                    return is(NEEDS_ACTION);
    -136            }
    -137    
    -138            /**
    -139             * Creates a "completed" status property (only valid for to-do components).
    -140             * @return the property
    -141             */
    -142            public static Status completed() {
    -143                    return create(COMPLETED);
    -144            }
    -145    
    -146            /**
    -147             * Determines if the status is set to "completed".
    -148             * @return true if set to "completed", false if not
    -149             */
    -150            public boolean isCompleted() {
    -151                    return is(COMPLETED);
    -152            }
    -153    
    -154            /**
    -155             * Creates a "in-progress" status property (only valid for to-do
    -156             * components).
    -157             * @return the property
    -158             */
    -159            public static Status inProgress() {
    -160                    return create(IN_PROGRESS);
    -161            }
    -162    
    -163            /**
    -164             * Determines if the status is set to "in-progress".
    -165             * @return true if set to "in-progress", false if not
    -166             */
    -167            public boolean isInProgress() {
    -168                    return is(IN_PROGRESS);
    -169            }
    -170    
    -171            /**
    -172             * Creates a "draft" status property (only valid for journal components).
    -173             * @return the property
    -174             */
    -175            public static Status draft() {
    -176                    return create(DRAFT);
    -177            }
    -178    
    -179            /**
    -180             * Determines if the status is set to "draft".
    -181             * @return true if set to "draft", false if not
    -182             */
    -183            public boolean isDraft() {
    -184                    return is(DRAFT);
    -185            }
    -186    
    -187            /**
    -188             * Creates a "final" status property (only valid for journal components).
    -189             * @return the property
    -190             */
    -191            public static Status final_() {
    -192                    return create(FINAL);
    -193            }
    -194    
    -195            /**
    -196             * Determines if the status is set to "final".
    -197             * @return true if set to "final", false if not
    -198             */
    -199            public boolean isFinal() {
    -200                    return is(FINAL);
    -201            }
    -202    
    -203            private static Status create(String status) {
    -204                    return new Status(status);
    -205            }
    -206    
    -207            @Override
    -208            protected Collection<String> getStandardValues() {
    -209                    return Arrays.asList(TENTATIVE, CONFIRMED, CANCELLED, NEEDS_ACTION, COMPLETED, IN_PROGRESS, DRAFT, FINAL);
    -210            }
    -211    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Summary.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Summary.html deleted file mode 100644 index f7672db8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Summary.html +++ /dev/null @@ -1,142 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines a short, one line summary of the component that this property belongs
    -031     * to. The summary should be a more concise version of the text provided by the
    -032     * {@link Description} property.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * Summary summary = new Summary("summary text");
    -039     * 
    -040     * VEvent event = ...;
    -041     * event.setSummary("summary text");
    -042     * </pre>
    -043     * 
    -044     * </p>
    -045     * @author Michael Angstadt
    -046     * @rfc 5545 p.93-4
    -047     */
    -048    public class Summary extends TextProperty {
    -049            /**
    -050             * Creates a new summary property.
    -051             * @param summary the summary
    -052             */
    -053            public Summary(String summary) {
    -054                    super(summary);
    -055            }
    -056    
    -057            @Override
    -058            public String getAltRepresentation() {
    -059                    return super.getAltRepresentation();
    -060            }
    -061    
    -062            @Override
    -063            public void setAltRepresentation(String uri) {
    -064                    super.setAltRepresentation(uri);
    -065            }
    -066    
    -067            @Override
    -068            public String getLanguage() {
    -069                    return super.getLanguage();
    -070            }
    -071    
    -072            @Override
    -073            public void setLanguage(String language) {
    -074                    super.setLanguage(language);
    -075            }
    -076    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TextProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TextProperty.html deleted file mode 100644 index 6c2b71c4..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TextProperty.html +++ /dev/null @@ -1,107 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * Represents a property whose value is a plain-text string. Note that this does
    -030     * not always mean that the property has a data type of "text".
    -031     * @author Michael Angstadt
    -032     */
    -033    public class TextProperty extends ValuedProperty<String> {
    -034            /**
    -035             * Creates a new text property.
    -036             * @param value the property's value
    -037             */
    -038            public TextProperty(String value) {
    -039                    super(value);
    -040            }
    -041    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneId.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneId.html deleted file mode 100644 index a207ce77..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneId.html +++ /dev/null @@ -1,135 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import biweekly.component.VTimezone;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines a unique identifier for a {@link VTimezone} component. The identifier
    -033     * must be unique within the scope of the iCalendar object.
    -034     * </p>
    -035     * <p>
    -036     * Date-time properties that support timezones (such as {@link DateStart}) can
    -037     * format their date-time values according to the rules defined in the
    -038     * {@link VTimezone} component, and then use this ID to reference the component
    -039     * by assigning the ID to a TZID parameter.
    -040     * </p>
    -041     * <p>
    -042     * All properties that support timezones will have
    -043     * {@code get/setTimezoneId()} methods. If a property has no timezone
    -044     * assigned to it, it is written in UTC.
    -045     * </p>
    -046     * <p>
    -047     * <b>Examples:</b>
    -048     * 
    -049     * <pre class="brush:java">
    -050     * VTimezone timezone = new VTimezone(&quot;Eastern&quot;);
    -051     * 
    -052     * Date start = ...;
    -053     * DateStart dtstart = new DateStart(start);
    -054     * dtStart.setTimezoneId(&quot;Eastern&quot;);
    -055     * </pre>
    -056     * 
    -057     * </p>
    -058     * @author Michael Angstadt
    -059     * @rfc 5545 p.102-3
    -060     */
    -061    public class TimezoneId extends TextProperty {
    -062            /**
    -063             * Creates a timezone identifier property.
    -064             * @param timezone the timezone identifier
    -065             */
    -066            public TimezoneId(String timezone) {
    -067                    super(timezone);
    -068            }
    -069    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneName.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneName.html deleted file mode 100644 index c20e34ee..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneName.html +++ /dev/null @@ -1,137 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines a traditional, non-standard name for a timezone observance (for
    -031     * example, "Eastern Standard Time" for standard time on the US east coast).
    -032     * </p>
    -033     * <p>
    -034     * <b>Examples:</b>
    -035     * 
    -036     * <pre class="brush:java">
    -037     * //creating a new property
    -038     * TimezoneName tzname = new TimezoneName("Eastern Standard Time");
    -039     * 
    -040     * //usage in a VTIMEZONE component
    -041     * VTimezone timezone = new VTimezone("East Coast");
    -042     * 
    -043     * StandardTime standard = new StandardTime();
    -044     * standard.setTimezoneName("Eastern Standard Time");
    -045     * ...
    -046     * timezone.addStandardTime(standard);
    -047     * </pre>
    -048     * 
    -049     * </p>
    -050     * @author Michael Angstadt
    -051     * @rfc 5545 p.103-4
    -052     */
    -053    public class TimezoneName extends TextProperty {
    -054            /**
    -055             * Creates a timezone name property.
    -056             * @param name the timezone name (e.g. "EST")
    -057             */
    -058            public TimezoneName(String name) {
    -059                    super(name);
    -060            }
    -061    
    -062            @Override
    -063            public String getLanguage() {
    -064                    return super.getLanguage();
    -065            }
    -066    
    -067            @Override
    -068            public void setLanguage(String language) {
    -069                    super.setLanguage(language);
    -070            }
    -071    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneOffsetFrom.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneOffsetFrom.html deleted file mode 100644 index 01702b6d..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneOffsetFrom.html +++ /dev/null @@ -1,136 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import biweekly.util.UtcOffset;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines the timezone offset that was in use before a timezone observance.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * //creating a new property
    -039     * TimezoneOffsetFrom tzname = new TimezoneOffsetFrom(-5, 0);
    -040     * 
    -041     * //usage in a VTIMEZONE component
    -042     * VTimezone timezone = ...
    -043     * StandardTime standard = new StandardTime();
    -044     * standard.setTimezoneOffsetFrom(-5, 0);
    -045     * ...
    -046     * timezone.addStandardTime(standard);
    -047     * </pre>
    -048     * 
    -049     * </p>
    -050     * @author Michael Angstadt
    -051     * @rfc 5545 p.104-5
    -052     */
    -053    public class TimezoneOffsetFrom extends UtcOffsetProperty {
    -054            /**
    -055             * Creates a new timezone offset from property.
    -056             * @param hourOffset the hour offset (e.g. "-5")
    -057             * @param minuteOffset the minute offset (e.g. "0")
    -058             */
    -059            public TimezoneOffsetFrom(Integer hourOffset, Integer minuteOffset) {
    -060                    super(hourOffset, minuteOffset);
    -061            }
    -062    
    -063            /**
    -064             * Creates a new timezone offset from property.
    -065             * @param offset the UTC offset
    -066             */
    -067            public TimezoneOffsetFrom(UtcOffset offset) {
    -068                    super(offset);
    -069            }
    -070    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneOffsetTo.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneOffsetTo.html deleted file mode 100644 index 62adf078..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneOffsetTo.html +++ /dev/null @@ -1,137 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import biweekly.util.UtcOffset;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines the timezone offset that is currently in use in a timezone
    -033     * observance.
    -034     * </p>
    -035     * <p>
    -036     * <b>Examples:</b>
    -037     * 
    -038     * <pre class="brush:java">
    -039     * //creating a new property
    -040     * TimezoneOffsetTo tzname = new TimezoneOffsetTo(-4, 0);
    -041     * 
    -042     * //usage in a VTIMEZONE component
    -043     * VTimezone timezone = ...
    -044     * StandardTime standard = new StandardTime();
    -045     * standard.setTimezoneOffsetTo(-4, 0);
    -046     * ...
    -047     * timezone.addStandardTime(standard);
    -048     * </pre>
    -049     * 
    -050     * </p>
    -051     * @author Michael Angstadt
    -052     * @rfc 5545 p.105-6
    -053     */
    -054    public class TimezoneOffsetTo extends UtcOffsetProperty {
    -055            /**
    -056             * Creates a new timezone offset to property.
    -057             * @param hourOffset the hour offset (e.g. "-5")
    -058             * @param minuteOffset the minute offset (e.g. "0")
    -059             */
    -060            public TimezoneOffsetTo(int hourOffset, int minuteOffset) {
    -061                    super(hourOffset, minuteOffset);
    -062            }
    -063    
    -064            /**
    -065             * Creates a new timezone offset to property.
    -066             * @param offset the UTC offset
    -067             */
    -068            public TimezoneOffsetTo(UtcOffset offset) {
    -069                    super(offset);
    -070            }
    -071    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneUrl.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneUrl.html deleted file mode 100644 index 935f751c..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/TimezoneUrl.html +++ /dev/null @@ -1,124 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Defines a URL that points to an iCalendar object that contains further
    -031     * information on a timezone.
    -032     * </p>
    -033     * <p>
    -034     * <b>Examples:</b>
    -035     * 
    -036     * <pre class="brush:java">
    -037     * //creating a new property
    -038     * TimezoneUrl tzurl = new TimezoneUrl("http://example.com/tz.ics");
    -039     * 
    -040     * //usage in a VTIMEZONE component
    -041     * VTimezone timezone = ...
    -042     * timezone.getTimezoneUrl("http://example.com/tz.ics");
    -043     * </pre>
    -044     * 
    -045     * </p>
    -046     * @author Michael Angstadt
    -047     * @rfc 5545 p.106
    -048     */
    -049    public class TimezoneUrl extends TextProperty {
    -050            /**
    -051             * Creates a timezone URL property.
    -052             * @param url the timezone URL (e.g.
    -053             * "http://example.com/America-New_York.ics")
    -054             */
    -055            public TimezoneUrl(String url) {
    -056                    super(url);
    -057            }
    -058    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Transparency.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Transparency.html deleted file mode 100644 index 0a47d81c..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Transparency.html +++ /dev/null @@ -1,178 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Arrays;
    -004    import java.util.Collection;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * <p>
    -033     * Defines whether an event is visible to free/busy time searches. If an event
    -034     * does not have this property, the event should be considered visible
    -035     * ("opaque").
    -036     * </p>
    -037     * <p>
    -038     * <b>Examples:</b>
    -039     * 
    -040     * <pre class="brush:java">
    -041     * //creating a new property
    -042     * Transparency transp = Transparency.opaque();
    -043     * 
    -044     * if (transp.isOpaque()) {
    -045     *   //its value is "OPAQUE"
    -046     * }
    -047     * 
    -048     * //usage in a VEVENT component
    -049     * VEvent event = ...
    -050     * event.setTransparency(true); //hidden from searches ("TRANSPARENT")
    -051     * event.setTransparency(false); //visible to searches ("OPAQUE")
    -052     * </pre>
    -053     * 
    -054     * </p>
    -055     * @author Michael Angstadt
    -056     * @rfc 5545 p.101-2
    -057     */
    -058    public class Transparency extends EnumProperty {
    -059            private static final String OPAQUE = "OPAQUE";
    -060            private static final String TRANSPARENT = "TRANSPARENT";
    -061    
    -062            /**
    -063             * Creates a new transparency property.
    -064             * @param value the value
    -065             */
    -066            public Transparency(String value) {
    -067                    super(value);
    -068            }
    -069    
    -070            /**
    -071             * Creates a property that marks the event as being visible to free/busy
    -072             * time searches.
    -073             * @return the property
    -074             */
    -075            public static Transparency opaque() {
    -076                    return create(OPAQUE);
    -077            }
    -078    
    -079            /**
    -080             * Determines if the event is visible to free/busy time searches.
    -081             * @return true if it's visible, false if not
    -082             */
    -083            public boolean isOpaque() {
    -084                    return is(OPAQUE);
    -085            }
    -086    
    -087            /**
    -088             * Creates a property that marks the event as being hidden from free/busy
    -089             * time searches.
    -090             * @return the property
    -091             */
    -092            public static Transparency transparent() {
    -093                    return create(TRANSPARENT);
    -094            }
    -095    
    -096            /**
    -097             * Determines if the event is hidden from free/busy time searches.
    -098             * @return true if it's hidden, false if not
    -099             */
    -100            public boolean isTransparent() {
    -101                    return is(TRANSPARENT);
    -102            }
    -103    
    -104            private static Transparency create(String value) {
    -105                    return new Transparency(value);
    -106            }
    -107    
    -108            @Override
    -109            protected Collection<String> getStandardValues() {
    -110                    return Arrays.asList(OPAQUE, TRANSPARENT);
    -111            }
    -112    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Trigger.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Trigger.html deleted file mode 100644 index ca4a36e0..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Trigger.html +++ /dev/null @@ -1,201 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.component.ICalComponent;
    -007    import biweekly.parameter.Related;
    -008    import biweekly.util.Duration;
    -009    
    -010    /*
    -011     Copyright (c) 2013, Michael Angstadt
    -012     All rights reserved.
    -013    
    -014     Redistribution and use in source and binary forms, with or without
    -015     modification, are permitted provided that the following conditions are met: 
    -016    
    -017     1. Redistributions of source code must retain the above copyright notice, this
    -018     list of conditions and the following disclaimer. 
    -019     2. Redistributions in binary form must reproduce the above copyright notice,
    -020     this list of conditions and the following disclaimer in the documentation
    -021     and/or other materials provided with the distribution. 
    -022    
    -023     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -024     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -025     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -026     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -027     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -028     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -029     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -030     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -031     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -032     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -033     */
    -034    
    -035    /**
    -036     * <p>
    -037     * Defines when an alarm will be triggered.
    -038     * </p>
    -039     * <p>
    -040     * <b>Examples:</b>
    -041     * 
    -042     * <pre class="brush:java">
    -043     * //15 minutes before the start time
    -044     * Duration duration = Duration.builder().prior(true).minutes(15).build();
    -045     * Trigger trigger = new Trigger(duration, Related.START);
    -046     * VAlarm alarm = VAlarm.display(trigger, &quot;Meeting in 15 minutes&quot;);
    -047     * </pre>
    -048     * 
    -049     * </p>
    -050     * @author Michael Angstadt
    -051     * @rfc 5545 p.133-6
    -052     */
    -053    public class Trigger extends ICalProperty {
    -054            private Duration duration;
    -055            private Date date;
    -056    
    -057            /**
    -058             * Creates a trigger property.
    -059             * @param duration the relative time
    -060             * @param related the date-time field that the duration is relative to
    -061             */
    -062            public Trigger(Duration duration, Related related) {
    -063                    setDuration(duration, related);
    -064            }
    -065    
    -066            /**
    -067             * Creates a trigger property.
    -068             * @param date the date-time the alarm will trigger.
    -069             */
    -070            public Trigger(Date date) {
    -071                    setDate(date);
    -072            }
    -073    
    -074            /**
    -075             * Gets the relative time at which the alarm will trigger.
    -076             * @return the relative time or null if an absolute time is set
    -077             */
    -078            public Duration getDuration() {
    -079                    return duration;
    -080            }
    -081    
    -082            /**
    -083             * Sets a relative time at which the alarm will trigger.
    -084             * @param duration the relative time
    -085             * @param related the date-time field that the duration is relative to
    -086             */
    -087            public void setDuration(Duration duration, Related related) {
    -088                    this.date = null;
    -089                    this.duration = duration;
    -090                    setRelated(related);
    -091            }
    -092    
    -093            /**
    -094             * Gets the date-time that the alarm will trigger.
    -095             * @return the date-time or null if a relative duration is set
    -096             */
    -097            public Date getDate() {
    -098                    return date;
    -099            }
    -100    
    -101            /**
    -102             * Sets the date-time that the alarm will trigger.
    -103             * @param date the date-time the alarm will trigger.
    -104             */
    -105            public void setDate(Date date) {
    -106                    this.date = date;
    -107                    this.duration = null;
    -108                    setRelated(null);
    -109            }
    -110    
    -111            /**
    -112             * Gets the date-time field that the duration is relative to.
    -113             * @return the field or null if not set
    -114             * @rfc 5545 p.24
    -115             */
    -116            public Related getRelated() {
    -117                    return parameters.getRelated();
    -118            }
    -119    
    -120            /**
    -121             * Sets the date-time field that the duration is relative to.
    -122             * @param related the field or null to remove
    -123             * @rfc 5545 p.24
    -124             */
    -125            public void setRelated(Related related) {
    -126                    parameters.setRelated(related);
    -127            }
    -128    
    -129            @Override
    -130            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -131                    if (duration == null && date == null) {
    -132                            warnings.add("No duration or date defined.");
    -133                    }
    -134            }
    -135    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Uid.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Uid.html deleted file mode 100644 index 1392ce9c..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Uid.html +++ /dev/null @@ -1,131 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.UUID;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * <p>
    -032     * Defines a unique identifier for a component.
    -033     * </p>
    -034     * <p>
    -035     * <b>Examples:</b>
    -036     * 
    -037     * <pre class="brush:java">
    -038     * Uid uid = new Uid(&quot;...&quot;);
    -039     * 
    -040     * //random UID
    -041     * Uid uid = Uid.random();
    -042     * </pre>
    -043     * 
    -044     * </p>
    -045     * @author Michael Angstadt
    -046     * @rfc 5545 p.117-8
    -047     */
    -048    public class Uid extends TextProperty {
    -049            /**
    -050             * Creates a UID property.
    -051             * @param uid the UID
    -052             */
    -053            public Uid(String uid) {
    -054                    super(uid);
    -055            }
    -056    
    -057            /**
    -058             * Creates a UID property that contains a random UID.
    -059             * @return the property
    -060             */
    -061            public static Uid random() {
    -062                    String uuid = UUID.randomUUID().toString();
    -063                    return new Uid(uuid);
    -064            }
    -065    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Url.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Url.html deleted file mode 100644 index 057d226a..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Url.html +++ /dev/null @@ -1,117 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    /*
    -004     Copyright (c) 2013, Michael Angstadt
    -005     All rights reserved.
    -006    
    -007     Redistribution and use in source and binary forms, with or without
    -008     modification, are permitted provided that the following conditions are met: 
    -009    
    -010     1. Redistributions of source code must retain the above copyright notice, this
    -011     list of conditions and the following disclaimer. 
    -012     2. Redistributions in binary form must reproduce the above copyright notice,
    -013     this list of conditions and the following disclaimer in the documentation
    -014     and/or other materials provided with the distribution. 
    -015    
    -016     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -017     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -018     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -019     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -020     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -021     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -022     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -023     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -024     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -025     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -026     */
    -027    
    -028    /**
    -029     * <p>
    -030     * Points to a resource that contains additional information about a component.
    -031     * </p>
    -032     * <p>
    -033     * <b>Examples:</b>
    -034     * 
    -035     * <pre class="brush:java">
    -036     * Url url = new Url(&quot;http://example.com&quot;);
    -037     * </pre>
    -038     * 
    -039     * </p>
    -040     * @author Michael Angstadt
    -041     * @rfc 5545 p.116-7
    -042     */
    -043    public class Url extends TextProperty {
    -044            /**
    -045             * Creates a URL property.
    -046             * @param url the URL (e.g. "http://example.com/resource.ics")
    -047             */
    -048            public Url(String url) {
    -049                    super(url);
    -050            }
    -051    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/UtcOffsetProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/UtcOffsetProperty.html deleted file mode 100644 index 09d37e01..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/UtcOffsetProperty.html +++ /dev/null @@ -1,143 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    import biweekly.util.UtcOffset;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Represents a property whose value is a timezone offset.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class UtcOffsetProperty extends ICalProperty {
    -038            protected UtcOffset offset;
    -039    
    -040            public UtcOffsetProperty(int hourOffset, int minuteOffset) {
    -041                    this(new UtcOffset(hourOffset, minuteOffset));
    -042            }
    -043    
    -044            public UtcOffsetProperty(UtcOffset offset) {
    -045                    this.offset = offset;
    -046            }
    -047    
    -048            public int getHourOffset() {
    -049                    return (offset == null) ? null : offset.getHour();
    -050            }
    -051    
    -052            public int getMinuteOffset() {
    -053                    return (offset == null) ? null : offset.getMinute();
    -054            }
    -055    
    -056            public UtcOffset getOffset() {
    -057                    return offset;
    -058            }
    -059    
    -060            public void setOffset(int hourOffset, int minuteOffset) {
    -061                    setOffset(new UtcOffset(hourOffset, minuteOffset));
    -062            }
    -063    
    -064            public void setOffset(UtcOffset offset) {
    -065                    this.offset = offset;
    -066            }
    -067    
    -068            @Override
    -069            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -070                    if (offset == null) {
    -071                            warnings.add("Value is null.");
    -072                    }
    -073                    if (offset != null && (offset.getMinute() < 0 || offset.getMinute() > 59)) {
    -074                            warnings.add("Minute offset must be between 0 and 59 inclusive.");
    -075                    }
    -076            }
    -077    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ValuedProperty.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ValuedProperty.html deleted file mode 100644 index 08daf10f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/ValuedProperty.html +++ /dev/null @@ -1,137 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Represents a property whose data model consists of a single object (such as a
    -034     * String).
    -035     * @author Michael Angstadt
    -036     * @param <T> the value type (e.g. String)
    -037     */
    -038    public class ValuedProperty<T> extends ICalProperty {
    -039            protected T value;
    -040    
    -041            /**
    -042             * Creates a new valued property.
    -043             * @param value the property's value
    -044             */
    -045            public ValuedProperty(T value) {
    -046                    setValue(value);
    -047            }
    -048    
    -049            /**
    -050             * Gets the value of this property.
    -051             * @return the value
    -052             */
    -053            public T getValue() {
    -054                    return value;
    -055            }
    -056    
    -057            /**
    -058             * Sets the value of this property.
    -059             * @param value the value
    -060             */
    -061            public void setValue(T value) {
    -062                    this.value = value;
    -063            }
    -064    
    -065            @Override
    -066            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -067                    if (value == null) {
    -068                            warnings.add("Value is null.");
    -069                    }
    -070            }
    -071    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Version.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Version.html deleted file mode 100644 index 63d164b9..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Version.html +++ /dev/null @@ -1,204 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.component.ICalComponent;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * <p>
    -034     * Specifies the min/max versions a consumer must support in order to
    -035     * successfully parse the iCalendar object.
    -036     * </p>
    -037     * <p>
    -038     * <b>Examples:</b>
    -039     * 
    -040     * <pre class="brush:java">
    -041     * //the default iCal version
    -042     * Version version = Version.v2_0();
    -043     * 
    -044     * if (verison.isV2_0()) {
    -045     *      //version is &quot;2.0&quot;
    -046     * }
    -047     * </pre>
    -048     * 
    -049     * </p>
    -050     * @author Michael Angstadt
    -051     * @rfc 5545 p.79-80
    -052     */
    -053    public class Version extends ICalProperty {
    -054            private static final String DEFAULT = "2.0";
    -055    
    -056            private String minVersion, maxVersion;
    -057    
    -058            /**
    -059             * Creates a new version property.
    -060             * @param version the version that a consumer must support in order to
    -061             * successfully parse the iCalendar object
    -062             */
    -063            public Version(String version) {
    -064                    this(null, version);
    -065            }
    -066    
    -067            /**
    -068             * Creates a new version property.
    -069             * @param minVersion the minimum version that a consumer must support in
    -070             * order to successfully parse the iCalendar object
    -071             * @param maxVersion the maximum version that a consumer must support in
    -072             * order to successfully parse the iCalendar object
    -073             */
    -074            public Version(String minVersion, String maxVersion) {
    -075                    this.minVersion = minVersion;
    -076                    this.maxVersion = maxVersion;
    -077            }
    -078    
    -079            /**
    -080             * Creates a version property that is set to the default iCalendar version
    -081             * (2.0).
    -082             * @return the property instance
    -083             */
    -084            public static Version v2_0() {
    -085                    return new Version(DEFAULT);
    -086            }
    -087    
    -088            /**
    -089             * Determines if this version is the default iCalendar version.
    -090             * @return true if the version is "2.0", false if not
    -091             */
    -092            public boolean isV2_0() {
    -093                    return DEFAULT.equalsIgnoreCase(maxVersion);
    -094            }
    -095    
    -096            /**
    -097             * Gets the minimum version that a consumer must support in order to
    -098             * successfully parse the iCalendar object.
    -099             * @return the minimum version or null if not set
    -100             */
    -101            public String getMinVersion() {
    -102                    return minVersion;
    -103            }
    -104    
    -105            /**
    -106             * Sets the minimum version that a consumer must support in order to
    -107             * successfully parse the iCalendar object.
    -108             * @param minVersion the minimum version or null to remove
    -109             */
    -110            public void setMinVersion(String minVersion) {
    -111                    this.minVersion = minVersion;
    -112            }
    -113    
    -114            /**
    -115             * Gets the maximum version that a consumer must support in order to
    -116             * successfully parse the iCalendar object.
    -117             * @return the maximum version or null if not set
    -118             */
    -119            public String getMaxVersion() {
    -120                    return maxVersion;
    -121            }
    -122    
    -123            /**
    -124             * Sets the maximum version that a consumer must support in order to
    -125             * successfully parse the iCalendar object.
    -126             * @param maxVersion the maximum version (this field is <b>required</b>)
    -127             */
    -128            public void setMaxVersion(String maxVersion) {
    -129                    this.maxVersion = maxVersion;
    -130            }
    -131    
    -132            @Override
    -133            protected void validate(List<ICalComponent> components, List<String> warnings) {
    -134                    if (maxVersion == null) {
    -135                            warnings.add("A maximum version must be specified.");
    -136                    }
    -137            }
    -138    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Xml.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Xml.html deleted file mode 100644 index 29a59e02..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/Xml.html +++ /dev/null @@ -1,149 +0,0 @@ - - -
    -001    package biweekly.property;
    -002    
    -003    import org.w3c.dom.Document;
    -004    import org.w3c.dom.Element;
    -005    import org.w3c.dom.Node;
    -006    import org.xml.sax.SAXException;
    -007    
    -008    import biweekly.util.XmlUtils;
    -009    
    -010    /*
    -011     Copyright (c) 2013, Michael Angstadt
    -012     All rights reserved.
    -013    
    -014     Redistribution and use in source and binary forms, with or without
    -015     modification, are permitted provided that the following conditions are met: 
    -016    
    -017     1. Redistributions of source code must retain the above copyright notice, this
    -018     list of conditions and the following disclaimer. 
    -019     2. Redistributions in binary form must reproduce the above copyright notice,
    -020     this list of conditions and the following disclaimer in the documentation
    -021     and/or other materials provided with the distribution. 
    -022    
    -023     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -024     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -025     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -026     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -027     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -028     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -029     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -030     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -031     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -032     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -033     */
    -034    
    -035    /**
    -036     * <p>
    -037     * Used for storing properties parsed from xCal documents whose XML namespaces
    -038     * are not part of the xCal XML namespace.
    -039     * </p>
    -040     * <p>
    -041     * <b>Examples:</b>
    -042     * 
    -043     * <pre class="brush:java">
    -044     * //creating a new property
    -045     * Xml xml = new Xml(&quot;&lt;company xmlns=\&quot;http://example.com\&quot;&gt;&lt;ceo&gt;John Doe&lt;/ceo&gt;&lt;name&gt;Acme Co&lt;/name&gt;&lt;/company&gt;&quot;);
    -046     * 
    -047     * //getting the parsed DOM
    -048     * org.w3c.dom.Document document = xml.getValue();
    -049     * </pre>
    -050     * 
    -051     * </p>
    -052     * @author Michael Angstadt
    -053     * @rfc 6321 p.17-8
    -054     */
    -055    public class Xml extends ValuedProperty<Document> {
    -056            /**
    -057             * Creates an XML property.
    -058             * @param xml the XML to use as the property's value
    -059             * @throws SAXException if the XML cannot be parsed
    -060             */
    -061            public Xml(String xml) throws SAXException {
    -062                    super(XmlUtils.toDocument(xml));
    -063            }
    -064    
    -065            /**
    -066             * Creates an XML property.
    -067             * @param element the XML element to use as the property's value (the
    -068             * element is imported into an empty {@link Document} object)
    -069             */
    -070            public Xml(Element element) {
    -071                    super(XmlUtils.createDocument());
    -072                    Node imported = value.importNode(element, true);
    -073                    value.appendChild(imported);
    -074            }
    -075    
    -076            /**
    -077             * Creates an XML property.
    -078             * @param document the XML document to use as the property's value
    -079             */
    -080            public Xml(Document document) {
    -081                    super(document);
    -082            }
    -083    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ActionMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ActionMarshaller.html deleted file mode 100644 index 007971dd..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ActionMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Action;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Action} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class ActionMarshaller extends TextPropertyMarshaller<Action> {
    -035            public ActionMarshaller() {
    -036                    super(Action.class, "ACTION");
    -037            }
    -038    
    -039            @Override
    -040            protected Action newInstance(String value) {
    -041                    return new Action(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/AttachmentMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/AttachmentMarshaller.html deleted file mode 100644 index 32b217a9..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/AttachmentMarshaller.html +++ /dev/null @@ -1,214 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.json.JCalValue;
    -007    import biweekly.io.xml.XCalElement;
    -008    import biweekly.parameter.Encoding;
    -009    import biweekly.parameter.ICalParameters;
    -010    import biweekly.property.Attachment;
    -011    import biweekly.util.Base64;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * Marshals {@link Attachment} properties.
    -040     * @author Michael Angstadt
    -041     */
    -042    public class AttachmentMarshaller extends ICalPropertyMarshaller<Attachment> {
    -043            public AttachmentMarshaller() {
    -044                    super(Attachment.class, "ATTACH", ICalDataType.URI);
    -045            }
    -046    
    -047            @Override
    -048            protected void _prepareParameters(Attachment property, ICalParameters copy) {
    -049                    if (property.getUri() != null) {
    -050                            copy.setEncoding(null);
    -051                    } else if (property.getData() != null) {
    -052                            copy.setEncoding(Encoding.BASE64);
    -053                    }
    -054            }
    -055    
    -056            @Override
    -057            protected ICalDataType _dataType(Attachment property) {
    -058                    if (property.getUri() != null) {
    -059                            return ICalDataType.URI;
    -060                    }
    -061                    if (property.getData() != null) {
    -062                            return ICalDataType.BINARY;
    -063                    }
    -064                    return defaultDataType;
    -065            }
    -066    
    -067            @Override
    -068            protected String _writeText(Attachment property) {
    -069                    String uri = property.getUri();
    -070                    if (uri != null) {
    -071                            return uri;
    -072                    }
    -073    
    -074                    byte data[] = property.getData();
    -075                    if (data != null) {
    -076                            return Base64.encode(data);
    -077                    }
    -078    
    -079                    return "";
    -080            }
    -081    
    -082            @Override
    -083            protected Attachment _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -084                    value = unescape(value);
    -085    
    -086                    if (dataType == ICalDataType.BINARY || parameters.getEncoding() == Encoding.BASE64) {
    -087                            return new Attachment(null, Base64.decode(value));
    -088                    }
    -089                    return new Attachment(null, value);
    -090            }
    -091    
    -092            @Override
    -093            protected void _writeXml(Attachment property, XCalElement element) {
    -094                    String uri = property.getUri();
    -095                    if (uri != null) {
    -096                            element.append(ICalDataType.URI, uri);
    -097                            return;
    -098                    }
    -099    
    -100                    byte data[] = property.getData();
    -101                    if (data != null) {
    -102                            element.append(ICalDataType.BINARY, Base64.encode(data));
    -103                            return;
    -104                    }
    -105    
    -106                    element.append(defaultDataType, "");
    -107            }
    -108    
    -109            @Override
    -110            protected Attachment _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -111                    String uri = element.first(ICalDataType.URI);
    -112                    if (uri != null) {
    -113                            return new Attachment(null, uri);
    -114                    }
    -115    
    -116                    String base64Data = element.first(ICalDataType.BINARY);
    -117                    if (base64Data != null) {
    -118                            return new Attachment(null, Base64.decode(base64Data)); //formatType will be set when the parameters are assigned to the property object
    -119                    }
    -120    
    -121                    throw missingXmlElements(ICalDataType.URI, ICalDataType.BINARY);
    -122            }
    -123    
    -124            @Override
    -125            protected JCalValue _writeJson(Attachment property) {
    -126                    String uri = property.getUri();
    -127                    if (uri != null) {
    -128                            return JCalValue.single(uri);
    -129                    }
    -130    
    -131                    byte data[] = property.getData();
    -132                    if (data != null) {
    -133                            return JCalValue.single(Base64.encode(data));
    -134                    }
    -135    
    -136                    return JCalValue.single("");
    -137            }
    -138    
    -139            @Override
    -140            protected Attachment _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -141                    String valueStr = value.asSingle();
    -142    
    -143                    if (dataType == ICalDataType.BINARY) {
    -144                            return new Attachment(null, Base64.decode(valueStr));
    -145                    }
    -146                    return new Attachment(null, valueStr);
    -147            }
    -148    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/AttendeeMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/AttendeeMarshaller.html deleted file mode 100644 index b1c80d77..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/AttendeeMarshaller.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.ICalDataType;
    -004    import biweekly.property.Attendee;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Marshals {@link Attendee} properties.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class AttendeeMarshaller extends TextPropertyMarshaller<Attendee> {
    -036            public AttendeeMarshaller() {
    -037                    super(Attendee.class, "ATTENDEE", ICalDataType.CAL_ADDRESS);
    -038            }
    -039    
    -040            @Override
    -041            protected Attendee newInstance(String value) {
    -042                    return new Attendee(value);
    -043            }
    -044    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CalendarScaleMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CalendarScaleMarshaller.html deleted file mode 100644 index e2d6b7a9..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CalendarScaleMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.CalendarScale;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link CalendarScale} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class CalendarScaleMarshaller extends TextPropertyMarshaller<CalendarScale> {
    -035            public CalendarScaleMarshaller() {
    -036                    super(CalendarScale.class, "CALSCALE");
    -037            }
    -038    
    -039            @Override
    -040            protected CalendarScale newInstance(String value) {
    -041                    return new CalendarScale(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CategoriesMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CategoriesMarshaller.html deleted file mode 100644 index 226cf653..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CategoriesMarshaller.html +++ /dev/null @@ -1,111 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.ICalDataType;
    -004    import biweekly.parameter.ICalParameters;
    -005    import biweekly.property.Categories;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Marshals {@link Categories} properties.
    -034     * @author Michael Angstadt
    -035     */
    -036    public class CategoriesMarshaller extends TextListPropertyMarshaller<Categories> {
    -037            public CategoriesMarshaller() {
    -038                    super(Categories.class, "CATEGORIES");
    -039            }
    -040    
    -041            @Override
    -042            public Categories newInstance(ICalDataType dataType, ICalParameters parameters) {
    -043                    return new Categories();
    -044            }
    -045    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ClassificationMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ClassificationMarshaller.html deleted file mode 100644 index 4ffc42ac..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ClassificationMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Classification;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Classification} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class ClassificationMarshaller extends TextPropertyMarshaller<Classification> {
    -035            public ClassificationMarshaller() {
    -036                    super(Classification.class, "CLASS");
    -037            }
    -038    
    -039            @Override
    -040            protected Classification newInstance(String value) {
    -041                    return new Classification(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CommentMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CommentMarshaller.html deleted file mode 100644 index 3228f604..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CommentMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Comment;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Comment} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class CommentMarshaller extends TextPropertyMarshaller<Comment> {
    -035            public CommentMarshaller() {
    -036                    super(Comment.class, "COMMENT");
    -037            }
    -038    
    -039            @Override
    -040            protected Comment newInstance(String value) {
    -041                    return new Comment(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CompletedMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CompletedMarshaller.html deleted file mode 100644 index 7bc5c381..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CompletedMarshaller.html +++ /dev/null @@ -1,112 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.property.Completed;
    -006    
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Marshals {@link Completed} properties.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class CompletedMarshaller extends DateTimePropertyMarshaller<Completed> {
    -038            public CompletedMarshaller() {
    -039                    super(Completed.class, "COMPLETED");
    -040            }
    -041    
    -042            @Override
    -043            protected Completed newInstance(Date date) {
    -044                    return new Completed(date);
    -045            }
    -046    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ContactMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ContactMarshaller.html deleted file mode 100644 index 1e33f406..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ContactMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Contact;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Contact} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class ContactMarshaller extends TextPropertyMarshaller<Contact> {
    -035            public ContactMarshaller() {
    -036                    super(Contact.class, "CONTACT");
    -037            }
    -038    
    -039            @Override
    -040            protected Contact newInstance(String value) {
    -041                    return new Contact(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CreatedMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CreatedMarshaller.html deleted file mode 100644 index 354865cc..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/CreatedMarshaller.html +++ /dev/null @@ -1,111 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.property.Created;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Marshals {@link Created} properties.
    -034     * @author Michael Angstadt
    -035     */
    -036    public class CreatedMarshaller extends DateTimePropertyMarshaller<Created> {
    -037            public CreatedMarshaller() {
    -038                    super(Created.class, "CREATED");
    -039            }
    -040    
    -041            @Override
    -042            protected Created newInstance(Date date) {
    -043                    return new Created(date);
    -044            }
    -045    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateDueMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateDueMarshaller.html deleted file mode 100644 index 2d938bca..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateDueMarshaller.html +++ /dev/null @@ -1,112 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.property.DateDue;
    -006    
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Marshals {@link DateDue} properties.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class DateDueMarshaller extends DateOrDateTimePropertyMarshaller<DateDue> {
    -038            public DateDueMarshaller() {
    -039                    super(DateDue.class, "DUE");
    -040            }
    -041    
    -042            @Override
    -043            protected DateDue newInstance(Date date, boolean hasTime) {
    -044                    return new DateDue(date, hasTime);
    -045            }
    -046    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateEndMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateEndMarshaller.html deleted file mode 100644 index 77f7d594..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateEndMarshaller.html +++ /dev/null @@ -1,112 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.property.DateEnd;
    -006    
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Marshals {@link DateEnd} properties.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class DateEndMarshaller extends DateOrDateTimePropertyMarshaller<DateEnd> {
    -038            public DateEndMarshaller() {
    -039                    super(DateEnd.class, "DTEND");
    -040            }
    -041    
    -042            @Override
    -043            protected DateEnd newInstance(Date date, boolean hasTime) {
    -044                    return new DateEnd(date, hasTime);
    -045            }
    -046    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateOrDateTimePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateOrDateTimePropertyMarshaller.html deleted file mode 100644 index 3649a634..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateOrDateTimePropertyMarshaller.html +++ /dev/null @@ -1,222 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.ICalDataType;
    -007    import biweekly.io.CannotParseException;
    -008    import biweekly.io.json.JCalValue;
    -009    import biweekly.io.xml.XCalElement;
    -010    import biweekly.parameter.ICalParameters;
    -011    import biweekly.property.DateOrDateTimeProperty;
    -012    import biweekly.util.DateTimeComponents;
    -013    import biweekly.util.ICalDateFormatter;
    -014    
    -015    /*
    -016     Copyright (c) 2013, Michael Angstadt
    -017     All rights reserved.
    -018    
    -019     Redistribution and use in source and binary forms, with or without
    -020     modification, are permitted provided that the following conditions are met: 
    -021    
    -022     1. Redistributions of source code must retain the above copyright notice, this
    -023     list of conditions and the following disclaimer. 
    -024     2. Redistributions in binary form must reproduce the above copyright notice,
    -025     this list of conditions and the following disclaimer in the documentation
    -026     and/or other materials provided with the distribution. 
    -027    
    -028     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -029     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -030     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -031     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -032     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -033     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -034     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -035     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -036     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -037     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -038     */
    -039    
    -040    /**
    -041     * Marshals properties that have either "date" or "date-time" values.
    -042     * @param <T> the property class
    -043     * @author Michael Angstadt
    -044     */
    -045    public abstract class DateOrDateTimePropertyMarshaller<T extends DateOrDateTimeProperty> extends ICalPropertyMarshaller<T> {
    -046            public DateOrDateTimePropertyMarshaller(Class<T> clazz, String propertyName) {
    -047                    super(clazz, propertyName, ICalDataType.DATE_TIME);
    -048            }
    -049    
    -050            @Override
    -051            protected ICalDataType _dataType(T property) {
    -052                    return (property.getRawComponents() != null || property.getValue() == null || property.hasTime()) ? ICalDataType.DATE_TIME : ICalDataType.DATE;
    -053            }
    -054    
    -055            @Override
    -056            protected String _writeText(T property) {
    -057                    DateTimeComponents components = property.getRawComponents();
    -058                    if (components != null) {
    -059                            return components.toString(false);
    -060                    }
    -061    
    -062                    Date value = property.getValue();
    -063                    if (value != null) {
    -064                            return date(value).time(property.hasTime()).tz(property.isLocalTime(), property.getTimezoneId()).write();
    -065                    }
    -066    
    -067                    return "";
    -068            }
    -069    
    -070            @Override
    -071            protected T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -072                    value = unescape(value);
    -073                    return parse(value, parameters, warnings);
    -074            }
    -075    
    -076            @Override
    -077            protected void _writeXml(T property, XCalElement element) {
    -078                    String dateStr = null;
    -079    
    -080                    Date value = property.getValue();
    -081                    DateTimeComponents components = property.getRawComponents();
    -082                    if (components != null) {
    -083                            dateStr = components.toString(true);
    -084                    } else if (value != null) {
    -085                            dateStr = date(value).time(property.hasTime()).tz(property.isLocalTime(), property.getTimezoneId()).extended(true).write();
    -086                    }
    -087    
    -088                    element.append(dataType(property), dateStr);
    -089            }
    -090    
    -091            @Override
    -092            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -093                    String value = element.first(ICalDataType.DATE_TIME);
    -094                    if (value == null) {
    -095                            value = element.first(ICalDataType.DATE);
    -096                    }
    -097    
    -098                    if (value != null) {
    -099                            return parse(value, parameters, warnings);
    -100                    }
    -101    
    -102                    throw missingXmlElements(ICalDataType.DATE_TIME, ICalDataType.DATE);
    -103            }
    -104    
    -105            @Override
    -106            protected JCalValue _writeJson(T property) {
    -107                    DateTimeComponents components = property.getRawComponents();
    -108                    if (components != null) {
    -109                            return JCalValue.single(components.toString(true));
    -110                    }
    -111    
    -112                    Date value = property.getValue();
    -113                    if (value != null) {
    -114                            return JCalValue.single(date(value).time(property.hasTime()).tz(property.isLocalTime(), property.getTimezoneId()).extended(true).write());
    -115                    }
    -116    
    -117                    return JCalValue.single("");
    -118            }
    -119    
    -120            @Override
    -121            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -122                    String valueStr = value.asSingle();
    -123                    return parse(valueStr, parameters, warnings);
    -124            }
    -125    
    -126            protected abstract T newInstance(Date date, boolean hasTime);
    -127    
    -128            private T parse(String value, ICalParameters parameters, List<String> warnings) {
    -129                    if (value == null) {
    -130                            return newInstance(null, true);
    -131                    }
    -132    
    -133                    Date date;
    -134                    try {
    -135                            date = date(value).tzid(parameters.getTimezoneId(), warnings).parse();
    -136                    } catch (IllegalArgumentException e) {
    -137                            throw new CannotParseException("Could not parse date-time value.");
    -138                    }
    -139    
    -140                    DateTimeComponents components;
    -141                    try {
    -142                            components = DateTimeComponents.parse(value);
    -143                    } catch (IllegalArgumentException e) {
    -144                            warnings.add("Could not parse the raw date-time components: " + value);
    -145                            components = null;
    -146                    }
    -147    
    -148                    boolean hasTime = ICalDateFormatter.dateHasTime(value);
    -149                    boolean localTz = !ICalDateFormatter.dateHasTimezone(value) && parameters.getTimezoneId() == null;
    -150    
    -151                    T prop = newInstance(date, hasTime);
    -152                    prop.setRawComponents(components);
    -153                    prop.setLocalTime(localTz);
    -154                    return prop;
    -155            }
    -156    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateStartMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateStartMarshaller.html deleted file mode 100644 index cbdce011..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateStartMarshaller.html +++ /dev/null @@ -1,112 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.property.DateStart;
    -006    
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Marshals {@link DateStart} properties.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class DateStartMarshaller extends DateOrDateTimePropertyMarshaller<DateStart> {
    -038            public DateStartMarshaller() {
    -039                    super(DateStart.class, "DTSTART");
    -040            }
    -041    
    -042            @Override
    -043            protected DateStart newInstance(Date date, boolean hasTime) {
    -044                    return new DateStart(date, hasTime);
    -045            }
    -046    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateTimePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateTimePropertyMarshaller.html deleted file mode 100644 index c7d472f8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateTimePropertyMarshaller.html +++ /dev/null @@ -1,178 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.ICalDataType;
    -007    import biweekly.io.CannotParseException;
    -008    import biweekly.io.json.JCalValue;
    -009    import biweekly.io.xml.XCalElement;
    -010    import biweekly.parameter.ICalParameters;
    -011    import biweekly.property.DateTimeProperty;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * Marshals properties that have "date-time" values.
    -040     * @param <T> the property class
    -041     * @author Michael Angstadt
    -042     */
    -043    public abstract class DateTimePropertyMarshaller<T extends DateTimeProperty> extends ICalPropertyMarshaller<T> {
    -044            public DateTimePropertyMarshaller(Class<T> clazz, String propertyName) {
    -045                    super(clazz, propertyName, ICalDataType.DATE_TIME);
    -046            }
    -047    
    -048            @Override
    -049            protected String _writeText(T property) {
    -050                    Date value = property.getValue();
    -051                    if (value != null) {
    -052                            return date(value).write(); //should always be in UTC time
    -053                    }
    -054    
    -055                    return "";
    -056            }
    -057    
    -058            @Override
    -059            protected T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -060                    value = unescape(value);
    -061                    return parse(value, parameters, warnings);
    -062            }
    -063    
    -064            @Override
    -065            protected void _writeXml(T property, XCalElement element) {
    -066                    String dateStr = null;
    -067    
    -068                    Date value = property.getValue();
    -069                    if (value != null) {
    -070                            dateStr = date(value).extended(true).write(); //should always be in UTC time
    -071                    }
    -072    
    -073                    element.append(dataType(property), dateStr);
    -074            }
    -075    
    -076            @Override
    -077            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -078                    String value = element.first(defaultDataType);
    -079                    if (value != null) {
    -080                            return parse(value, parameters, warnings);
    -081                    }
    -082    
    -083                    throw missingXmlElements(defaultDataType);
    -084            }
    -085    
    -086            @Override
    -087            protected JCalValue _writeJson(T property) {
    -088                    Date value = property.getValue();
    -089                    if (value != null) {
    -090                            return JCalValue.single(date(value).extended(true).write());
    -091                    }
    -092    
    -093                    return JCalValue.single("");
    -094            }
    -095    
    -096            @Override
    -097            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -098                    String valueStr = value.asSingle();
    -099                    return parse(valueStr, parameters, warnings);
    -100            }
    -101    
    -102            private T parse(String value, ICalParameters parameters, List<String> warnings) {
    -103                    try {
    -104                            Date date = date(value).tzid(parameters.getTimezoneId(), warnings).parse();
    -105                            return newInstance(date);
    -106                    } catch (IllegalArgumentException e) {
    -107                            throw new CannotParseException("Could not parse date-time value.");
    -108                    }
    -109            }
    -110    
    -111            protected abstract T newInstance(Date date);
    -112    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateTimeStampMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateTimeStampMarshaller.html deleted file mode 100644 index 12659afd..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DateTimeStampMarshaller.html +++ /dev/null @@ -1,112 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.property.DateTimeStamp;
    -006    
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Marshals {@link DateTimeStamp} properties.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class DateTimeStampMarshaller extends DateTimePropertyMarshaller<DateTimeStamp> {
    -038            public DateTimeStampMarshaller() {
    -039                    super(DateTimeStamp.class, "DTSTAMP");
    -040            }
    -041    
    -042            @Override
    -043            protected DateTimeStamp newInstance(Date date) {
    -044                    return new DateTimeStamp(date);
    -045            }
    -046    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DescriptionMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DescriptionMarshaller.html deleted file mode 100644 index 523cb75b..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DescriptionMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Description;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Description} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class DescriptionMarshaller extends TextPropertyMarshaller<Description> {
    -035            public DescriptionMarshaller() {
    -036                    super(Description.class, "DESCRIPTION");
    -037            }
    -038    
    -039            @Override
    -040            protected Description newInstance(String value) {
    -041                    return new Description(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DurationPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DurationPropertyMarshaller.html deleted file mode 100644 index 1c455111..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/DurationPropertyMarshaller.html +++ /dev/null @@ -1,179 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.CannotParseException;
    -007    import biweekly.io.json.JCalValue;
    -008    import biweekly.io.xml.XCalElement;
    -009    import biweekly.parameter.ICalParameters;
    -010    import biweekly.property.DurationProperty;
    -011    import biweekly.util.Duration;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * Marshals {@link DurationProperty} properties.
    -040     * @author Michael Angstadt
    -041     */
    -042    public class DurationPropertyMarshaller extends ICalPropertyMarshaller<DurationProperty> {
    -043            public DurationPropertyMarshaller() {
    -044                    super(DurationProperty.class, "DURATION", ICalDataType.DURATION);
    -045            }
    -046    
    -047            @Override
    -048            protected String _writeText(DurationProperty property) {
    -049                    Duration duration = property.getValue();
    -050                    if (duration != null) {
    -051                            return duration.toString();
    -052                    }
    -053    
    -054                    return "";
    -055            }
    -056    
    -057            @Override
    -058            protected DurationProperty _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -059                    value = unescape(value);
    -060                    return parse(value);
    -061            }
    -062    
    -063            @Override
    -064            protected void _writeXml(DurationProperty property, XCalElement element) {
    -065                    String durationStr = null;
    -066    
    -067                    Duration duration = property.getValue();
    -068                    if (duration != null) {
    -069                            durationStr = duration.toString();
    -070                    }
    -071    
    -072                    element.append(dataType(property), durationStr);
    -073            }
    -074    
    -075            @Override
    -076            protected DurationProperty _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -077                    String value = element.first(defaultDataType);
    -078                    if (value != null) {
    -079                            return parse(value);
    -080                    }
    -081    
    -082                    throw missingXmlElements(defaultDataType);
    -083            }
    -084    
    -085            @Override
    -086            protected JCalValue _writeJson(DurationProperty property) {
    -087                    Duration value = property.getValue();
    -088                    if (value != null) {
    -089                            return JCalValue.single(value.toString());
    -090                    }
    -091    
    -092                    return JCalValue.single("");
    -093            }
    -094    
    -095            @Override
    -096            protected DurationProperty _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -097                    String valueStr = value.asSingle();
    -098                    return parse(valueStr);
    -099            }
    -100    
    -101            private DurationProperty parse(String value) {
    -102                    if (value == null) {
    -103                            return new DurationProperty(null);
    -104                    }
    -105    
    -106                    try {
    -107                            Duration duration = Duration.parse(value);
    -108                            return new DurationProperty(duration);
    -109                    } catch (IllegalArgumentException e) {
    -110                            throw new CannotParseException("Could not parse duration value.");
    -111                    }
    -112            }
    -113    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ExceptionDatesMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ExceptionDatesMarshaller.html deleted file mode 100644 index 139593e7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ExceptionDatesMarshaller.html +++ /dev/null @@ -1,190 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Date;
    -005    import java.util.List;
    -006    
    -007    import biweekly.ICalDataType;
    -008    import biweekly.io.CannotParseException;
    -009    import biweekly.io.json.JCalValue;
    -010    import biweekly.io.xml.XCalElement;
    -011    import biweekly.parameter.ICalParameters;
    -012    import biweekly.property.ExceptionDates;
    -013    
    -014    /*
    -015     Copyright (c) 2013, Michael Angstadt
    -016     All rights reserved.
    -017    
    -018     Redistribution and use in source and binary forms, with or without
    -019     modification, are permitted provided that the following conditions are met: 
    -020    
    -021     1. Redistributions of source code must retain the above copyright notice, this
    -022     list of conditions and the following disclaimer. 
    -023     2. Redistributions in binary form must reproduce the above copyright notice,
    -024     this list of conditions and the following disclaimer in the documentation
    -025     and/or other materials provided with the distribution. 
    -026    
    -027     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -028     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -029     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -030     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -031     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -032     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -033     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -034     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -035     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -036     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -037     */
    -038    
    -039    /**
    -040     * Marshals {@link ExceptionDates} properties.
    -041     * @author Michael Angstadt
    -042     */
    -043    public class ExceptionDatesMarshaller extends ListPropertyMarshaller<ExceptionDates, Date> {
    -044            public ExceptionDatesMarshaller() {
    -045                    super(ExceptionDates.class, "EXDATE", ICalDataType.DATE_TIME);
    -046            }
    -047    
    -048            @Override
    -049            protected ICalDataType _dataType(ExceptionDates property) {
    -050                    return property.hasTime() ? ICalDataType.DATE_TIME : ICalDataType.DATE;
    -051            }
    -052    
    -053            @Override
    -054            protected ExceptionDates newInstance(ICalDataType dataType, ICalParameters parameters) {
    -055                    return new ExceptionDates(dataType != ICalDataType.DATE);
    -056            }
    -057    
    -058            @Override
    -059            protected String writeValue(ExceptionDates property, Date value) {
    -060                    return date(value).time(property.hasTime()).tzid(property.getParameters().getTimezoneId()).write();
    -061            }
    -062    
    -063            @Override
    -064            protected Date readValue(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -065                    try {
    -066                            return date(value).tzid(parameters.getTimezoneId(), warnings).parse();
    -067                    } catch (IllegalArgumentException e) {
    -068                            throw new CannotParseException("Could not parse date value.");
    -069                    }
    -070            }
    -071    
    -072            @Override
    -073            protected void _writeXml(ExceptionDates property, XCalElement element) {
    -074                    ICalDataType dataType = dataType(property);
    -075                    for (Date value : property.getValues()) {
    -076                            String dateStr = date(value).time(property.hasTime()).tzid(property.getParameters().getTimezoneId()).extended(true).write();
    -077                            element.append(dataType, dateStr);
    -078                    }
    -079            }
    -080    
    -081            @Override
    -082            protected ExceptionDates _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -083                    List<String> values = element.all(ICalDataType.DATE_TIME);
    -084                    ICalDataType dataType = values.isEmpty() ? ICalDataType.DATE : ICalDataType.DATE_TIME;
    -085                    values.addAll(element.all(ICalDataType.DATE));
    -086                    if (values.isEmpty()) {
    -087                            throw missingXmlElements(ICalDataType.DATE_TIME, ICalDataType.DATE);
    -088                    }
    -089    
    -090                    ExceptionDates prop = new ExceptionDates(dataType == ICalDataType.DATE_TIME);
    -091                    for (String value : values) {
    -092                            Date date = readValue(value, dataType, parameters, warnings);
    -093                            prop.addValue(date);
    -094                    }
    -095                    return prop;
    -096            }
    -097    
    -098            @Override
    -099            protected JCalValue _writeJson(ExceptionDates property) {
    -100                    List<Date> values = property.getValues();
    -101                    if (values.isEmpty()) {
    -102                            return JCalValue.single("");
    -103                    }
    -104    
    -105                    List<String> valuesStr = new ArrayList<String>();
    -106                    for (Date value : values) {
    -107                            String dateStr = date(value).time(property.hasTime()).tzid(property.getParameters().getTimezoneId()).extended(true).write();
    -108                            valuesStr.add(dateStr);
    -109                    }
    -110                    return JCalValue.multi(valuesStr);
    -111            }
    -112    
    -113            @Override
    -114            protected ExceptionDates _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -115                    List<String> valueStrs = value.asMulti();
    -116    
    -117                    ExceptionDates prop = new ExceptionDates(dataType == ICalDataType.DATE_TIME);
    -118                    for (String valueStr : valueStrs) {
    -119                            Date date = readValue(valueStr, dataType, parameters, warnings);
    -120                            prop.addValue(date);
    -121                    }
    -122                    return prop;
    -123            }
    -124    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ExceptionRuleMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ExceptionRuleMarshaller.html deleted file mode 100644 index b526b595..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ExceptionRuleMarshaller.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.ExceptionRule;
    -004    import biweekly.util.Recurrence;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Marshals {@link ExceptionRule} properties.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class ExceptionRuleMarshaller extends RecurrencePropertyMarshaller<ExceptionRule> {
    -036            public ExceptionRuleMarshaller() {
    -037                    super(ExceptionRule.class, "EXRULE");
    -038            }
    -039    
    -040            @Override
    -041            protected ExceptionRule newInstance(Recurrence recur) {
    -042                    return new ExceptionRule(recur);
    -043            }
    -044    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/FreeBusyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/FreeBusyMarshaller.html deleted file mode 100644 index adce4c24..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/FreeBusyMarshaller.html +++ /dev/null @@ -1,292 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Date;
    -005    import java.util.List;
    -006    
    -007    import biweekly.ICalDataType;
    -008    import biweekly.io.json.JCalValue;
    -009    import biweekly.io.xml.XCalElement;
    -010    import biweekly.parameter.ICalParameters;
    -011    import biweekly.property.FreeBusy;
    -012    import biweekly.util.Duration;
    -013    import biweekly.util.Period;
    -014    
    -015    /*
    -016     Copyright (c) 2013, Michael Angstadt
    -017     All rights reserved.
    -018    
    -019     Redistribution and use in source and binary forms, with or without
    -020     modification, are permitted provided that the following conditions are met: 
    -021    
    -022     1. Redistributions of source code must retain the above copyright notice, this
    -023     list of conditions and the following disclaimer. 
    -024     2. Redistributions in binary form must reproduce the above copyright notice,
    -025     this list of conditions and the following disclaimer in the documentation
    -026     and/or other materials provided with the distribution. 
    -027    
    -028     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -029     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -030     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -031     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -032     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -033     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -034     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -035     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -036     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -037     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -038     */
    -039    
    -040    /**
    -041     * Marshals {@link FreeBusy} properties.
    -042     * @author Michael Angstadt
    -043     */
    -044    public class FreeBusyMarshaller extends ICalPropertyMarshaller<FreeBusy> {
    -045            public FreeBusyMarshaller() {
    -046                    super(FreeBusy.class, "FREEBUSY", ICalDataType.PERIOD);
    -047            }
    -048    
    -049            @Override
    -050            protected String _writeText(FreeBusy property) {
    -051                    List<Period> values = property.getValues();
    -052    
    -053                    return list(values, new ListCallback<Period>() {
    -054                            public String asString(Period period) {
    -055                                    StringBuilder sb = new StringBuilder();
    -056    
    -057                                    if (period.getStartDate() != null) {
    -058                                            String date = date(period.getStartDate()).write();
    -059                                            sb.append(date);
    -060                                    }
    -061    
    -062                                    sb.append('/');
    -063    
    -064                                    if (period.getEndDate() != null) {
    -065                                            String date = date(period.getEndDate()).write();
    -066                                            sb.append(date);
    -067                                    } else if (period.getDuration() != null) {
    -068                                            sb.append(period.getDuration());
    -069                                    }
    -070    
    -071                                    return sb.toString();
    -072                            }
    -073                    });
    -074            }
    -075    
    -076            @Override
    -077            protected FreeBusy _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -078                    return parse(list(value), parameters, warnings);
    -079            }
    -080    
    -081            @Override
    -082            protected void _writeXml(FreeBusy property, XCalElement element) {
    -083                    for (Period period : property.getValues()) {
    -084                            XCalElement periodElement = element.append(ICalDataType.PERIOD);
    -085    
    -086                            Date start = period.getStartDate();
    -087                            if (start != null) {
    -088                                    periodElement.append("start", date(start).extended(true).write());
    -089                            }
    -090    
    -091                            Date end = period.getEndDate();
    -092                            if (end != null) {
    -093                                    periodElement.append("end", date(end).extended(true).write());
    -094                            }
    -095    
    -096                            Duration duration = period.getDuration();
    -097                            if (duration != null) {
    -098                                    periodElement.append("duration", duration.toString());
    -099                            }
    -100                    }
    -101            }
    -102    
    -103            @Override
    -104            protected FreeBusy _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -105                    List<XCalElement> periodElements = element.children(ICalDataType.PERIOD);
    -106                    if (periodElements.isEmpty()) {
    -107                            throw missingXmlElements(ICalDataType.PERIOD);
    -108                    }
    -109    
    -110                    FreeBusy prop = new FreeBusy();
    -111                    for (XCalElement periodElement : periodElements) {
    -112                            String startStr = periodElement.first("start");
    -113                            if (startStr == null) {
    -114                                    warnings.add("No start date found in time period, skipping.");
    -115                                    continue;
    -116                            }
    -117    
    -118                            Date start = null;
    -119                            try {
    -120                                    start = date(startStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -121                            } catch (IllegalArgumentException e) {
    -122                                    warnings.add("Could not parse start date, skipping time period: " + startStr);
    -123                                    continue;
    -124                            }
    -125    
    -126                            String endStr = periodElement.first("end");
    -127                            if (endStr != null) {
    -128                                    try {
    -129                                            Date end = date(endStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -130                                            prop.addValue(start, end);
    -131                                    } catch (IllegalArgumentException e) {
    -132                                            warnings.add("Could not parse end date, skipping time period: " + endStr);
    -133                                    }
    -134                                    continue;
    -135                            }
    -136    
    -137                            String durationStr = periodElement.first("duration");
    -138                            if (durationStr != null) {
    -139                                    try {
    -140                                            Duration duration = Duration.parse(durationStr);
    -141                                            prop.addValue(start, duration);
    -142                                    } catch (IllegalArgumentException e) {
    -143                                            warnings.add("Could not parse duration, skipping time period: " + durationStr);
    -144                                    }
    -145                                    continue;
    -146                            }
    -147    
    -148                            warnings.add("Start date has no accompanying end date or duration, skipping.");
    -149                    }
    -150                    return prop;
    -151            }
    -152    
    -153            @Override
    -154            protected JCalValue _writeJson(FreeBusy property) {
    -155                    List<Period> values = property.getValues();
    -156                    if (values.isEmpty()) {
    -157                            return JCalValue.single("");
    -158                    }
    -159    
    -160                    List<String> valuesStr = new ArrayList<String>();
    -161                    for (Period period : values) {
    -162                            StringBuilder sb = new StringBuilder();
    -163                            if (period.getStartDate() != null) {
    -164                                    String date = date(period.getStartDate()).extended(true).write();
    -165                                    sb.append(date);
    -166                            }
    -167    
    -168                            sb.append('/');
    -169    
    -170                            if (period.getEndDate() != null) {
    -171                                    String date = date(period.getEndDate()).extended(true).write();
    -172                                    sb.append(date);
    -173                            } else if (period.getDuration() != null) {
    -174                                    sb.append(period.getDuration());
    -175                            }
    -176    
    -177                            valuesStr.add(sb.toString());
    -178                    }
    -179    
    -180                    return JCalValue.multi(valuesStr);
    -181            }
    -182    
    -183            @Override
    -184            protected FreeBusy _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -185                    return parse(value.asMulti(), parameters, warnings);
    -186            }
    -187    
    -188            private FreeBusy parse(List<String> periods, ICalParameters parameters, List<String> warnings) {
    -189                    FreeBusy freebusy = new FreeBusy();
    -190    
    -191                    for (String period : periods) {
    -192                            String periodSplit[] = period.split("/");
    -193    
    -194                            if (periodSplit.length < 2) {
    -195                                    warnings.add("No end date or duration found, skipping time period: " + period);
    -196                                    continue;
    -197                            }
    -198    
    -199                            String startStr = periodSplit[0];
    -200                            Date start = null;
    -201                            try {
    -202                                    start = date(startStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -203                            } catch (IllegalArgumentException e) {
    -204                                    warnings.add("Could not parse start date, skipping time period: " + period);
    -205                                    continue;
    -206                            }
    -207    
    -208                            String endStr = periodSplit[1];
    -209                            try {
    -210                                    Date end = date(endStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -211                                    freebusy.addValue(start, end);
    -212                            } catch (IllegalArgumentException e) {
    -213                                    //must be a duration
    -214                                    try {
    -215                                            Duration duration = Duration.parse(endStr);
    -216                                            freebusy.addValue(start, duration);
    -217                                    } catch (IllegalArgumentException e2) {
    -218                                            warnings.add("Could not parse end date or duration value, skipping time period: " + period);
    -219                                            continue;
    -220                                    }
    -221                            }
    -222                    }
    -223    
    -224                    return freebusy;
    -225            }
    -226    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/GeoMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/GeoMarshaller.html deleted file mode 100644 index 3c8227dc..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/GeoMarshaller.html +++ /dev/null @@ -1,226 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.CannotParseException;
    -007    import biweekly.io.json.JCalValue;
    -008    import biweekly.io.xml.XCalElement;
    -009    import biweekly.parameter.ICalParameters;
    -010    import biweekly.property.Geo;
    -011    import biweekly.util.ICalFloatFormatter;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * Marshals {@link Geo} properties.
    -040     * @author Michael Angstadt
    -041     */
    -042    public class GeoMarshaller extends ICalPropertyMarshaller<Geo> {
    -043            public GeoMarshaller() {
    -044                    super(Geo.class, "GEO", ICalDataType.FLOAT);
    -045            }
    -046    
    -047            @Override
    -048            protected String _writeText(Geo property) {
    -049                    ICalFloatFormatter formatter = new ICalFloatFormatter();
    -050                    StringBuilder sb = new StringBuilder();
    -051    
    -052                    Double latitude = property.getLatitude();
    -053                    if (latitude == null) {
    -054                            latitude = 0.0;
    -055                    }
    -056                    sb.append(formatter.format(latitude));
    -057    
    -058                    sb.append(';');
    -059    
    -060                    Double longitude = property.getLongitude();
    -061                    if (longitude == null) {
    -062                            longitude = 0.0;
    -063                    }
    -064                    sb.append(formatter.format(longitude));
    -065    
    -066                    return sb.toString();
    -067            }
    -068    
    -069            @Override
    -070            protected Geo _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -071                    SemiStructuredIterator it = semistructured(value);
    -072                    String latitudeStr = it.next();
    -073                    String longitudeStr = it.next();
    -074    
    -075                    if (latitudeStr == null || longitudeStr == null) {
    -076                            throw new CannotParseException("Could not parse value.");
    -077                    }
    -078    
    -079                    return parse(latitudeStr, longitudeStr);
    -080            }
    -081    
    -082            @Override
    -083            protected void _writeXml(Geo property, XCalElement element) {
    -084                    ICalFloatFormatter formatter = new ICalFloatFormatter();
    -085    
    -086                    Double latitude = property.getLatitude();
    -087                    if (latitude == null) {
    -088                            latitude = 0.0;
    -089                    }
    -090                    element.append("latitude", formatter.format(latitude));
    -091    
    -092                    Double longitude = property.getLongitude();
    -093                    if (longitude == null) {
    -094                            longitude = 0.0;
    -095                    }
    -096                    element.append("longitude", formatter.format(longitude));
    -097            }
    -098    
    -099            @Override
    -100            protected Geo _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -101                    String latitudeStr = element.first("latitude");
    -102                    String longitudeStr = element.first("longitude");
    -103                    if (latitudeStr == null && longitudeStr == null) {
    -104                            throw missingXmlElements("latitude", "longitude");
    -105                    }
    -106                    if (latitudeStr == null) {
    -107                            throw missingXmlElements("latitude");
    -108                    }
    -109                    if (longitudeStr == null) {
    -110                            throw missingXmlElements("longitude");
    -111                    }
    -112    
    -113                    return parse(latitudeStr, longitudeStr);
    -114            }
    -115    
    -116            @Override
    -117            protected JCalValue _writeJson(Geo property) {
    -118                    Double latitude = property.getLatitude();
    -119                    if (latitude == null) {
    -120                            latitude = 0.0;
    -121                    }
    -122    
    -123                    Double longitude = property.getLongitude();
    -124                    if (longitude == null) {
    -125                            longitude = 0.0;
    -126                    }
    -127    
    -128                    return JCalValue.structured(latitude, longitude);
    -129            }
    -130    
    -131            @Override
    -132            protected Geo _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -133                    StructuredIterator it = structured(value);
    -134                    String latitudeStr = it.nextString();
    -135                    String longitudeStr = it.nextString();
    -136                    return parse(latitudeStr, longitudeStr);
    -137            }
    -138    
    -139            private Geo parse(String latitudeStr, String longitudeStr) {
    -140                    Double latitude = null;
    -141                    if (latitudeStr != null) {
    -142                            try {
    -143                                    latitude = Double.valueOf(latitudeStr);
    -144                            } catch (NumberFormatException e) {
    -145                                    throw new CannotParseException("Could not parse latitude: " + latitudeStr);
    -146                            }
    -147                    }
    -148    
    -149                    Double longitude = null;
    -150                    if (longitudeStr != null) {
    -151                            try {
    -152                                    longitude = Double.valueOf(longitudeStr);
    -153                            } catch (NumberFormatException e) {
    -154                                    throw new CannotParseException("Could not parse longitude: " + longitudeStr);
    -155                            }
    -156                    }
    -157    
    -158                    return new Geo(latitude, longitude);
    -159            }
    -160    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.DateParser.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.DateParser.html deleted file mode 100644 index 40770513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.DateParser.html +++ /dev/null @@ -1,1330 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.StringUtils.join;
    -005    
    -006    import java.util.ArrayList;
    -007    import java.util.Arrays;
    -008    import java.util.Collection;
    -009    import java.util.Date;
    -010    import java.util.Iterator;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    import java.util.TimeZone;
    -014    import java.util.regex.Pattern;
    -015    
    -016    import javax.xml.namespace.QName;
    -017    
    -018    import org.w3c.dom.Element;
    -019    
    -020    import biweekly.ICalDataType;
    -021    import biweekly.ICalendar;
    -022    import biweekly.io.CannotParseException;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.io.json.JCalValue;
    -025    import biweekly.io.text.ICalRawWriter;
    -026    import biweekly.io.xml.XCalElement;
    -027    import biweekly.parameter.ICalParameters;
    -028    import biweekly.property.ICalProperty;
    -029    import biweekly.util.ICalDateFormatter;
    -030    import biweekly.util.ISOFormat;
    -031    import biweekly.util.ListMultimap;
    -032    import biweekly.util.StringUtils;
    -033    import biweekly.util.StringUtils.JoinCallback;
    -034    import biweekly.util.StringUtils.JoinMapCallback;
    -035    import biweekly.util.XmlUtils;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * Base class for iCalendar property marshallers.
    -064     * @param <T> the property class
    -065     * @author Michael Angstadt
    -066     */
    -067    public abstract class ICalPropertyMarshaller<T extends ICalProperty> {
    -068            protected final Class<T> clazz;
    -069            protected final String propertyName;
    -070            protected final ICalDataType defaultDataType;
    -071            protected final QName qname;
    -072    
    -073            /**
    -074             * Creates a new marshaller.
    -075             * @param clazz the property class
    -076             * @param propertyName the property name (e.g. "VERSION")
    -077             * @param defaultDataType the property's default data type (e.g. "text") or
    -078             * null if unknown
    -079             */
    -080            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType) {
    -081                    this(clazz, propertyName, defaultDataType, new QName(XCAL_NS, propertyName.toLowerCase()));
    -082            }
    -083    
    -084            /**
    -085             * Creates a new marshaller.
    -086             * @param clazz the property class
    -087             * @param propertyName the property name (e.g. "VERSION")
    -088             * @param defaultDataType the property's default data type (e.g. "text") or
    -089             * null if unknown
    -090             * @param qname the XML element name and namespace to use for xCal documents
    -091             * (by default, the XML element name is set to the lower-cased property
    -092             * name, and the element namespace is set to the xCal namespace)
    -093             */
    -094            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType, QName qname) {
    -095                    this.clazz = clazz;
    -096                    this.propertyName = propertyName;
    -097                    this.defaultDataType = defaultDataType;
    -098                    this.qname = qname;
    -099            }
    -100    
    -101            /**
    -102             * Gets the property class.
    -103             * @return the property class
    -104             */
    -105            public Class<T> getPropertyClass() {
    -106                    return clazz;
    -107            }
    -108    
    -109            /**
    -110             * Gets the property name.
    -111             * @return the property name (e.g. "VERSION")
    -112             */
    -113            public String getPropertyName() {
    -114                    return propertyName;
    -115            }
    -116    
    -117            /**
    -118             * Gets the property's default data type.
    -119             * @return the default data type (e.g. "text") or null if unknown
    -120             */
    -121            public ICalDataType getDefaultDataType() {
    -122                    return defaultDataType;
    -123            }
    -124    
    -125            /**
    -126             * Gets this property's local name and namespace for xCal documents.
    -127             * @return the XML local name and namespace
    -128             */
    -129            public QName getQName() {
    -130                    return qname;
    -131            }
    -132    
    -133            /**
    -134             * Sanitizes a property's parameters (called before the property is
    -135             * written). Note that a copy of the parameters is returned so that the
    -136             * property object does not get modified.
    -137             * @param property the property
    -138             * @return the sanitized parameters
    -139             */
    -140            public final ICalParameters prepareParameters(T property) {
    -141                    //make a copy because the property should not get modified when it is marshalled
    -142                    ICalParameters copy = new ICalParameters(property.getParameters());
    -143                    _prepareParameters(property, copy);
    -144                    return copy;
    -145            }
    -146    
    -147            /**
    -148             * Determines the data type of a property instance.
    -149             * @param property the property
    -150             * @return the data type or null if unknown
    -151             */
    -152            public final ICalDataType dataType(T property) {
    -153                    return _dataType(property);
    -154            }
    -155    
    -156            /**
    -157             * Marshals a property's value to a string.
    -158             * @param property the property
    -159             * @return the marshalled value
    -160             * @throws SkipMeException if the property should not be written to the data
    -161             * stream
    -162             */
    -163            public final String writeText(T property) {
    -164                    return _writeText(property);
    -165            }
    -166    
    -167            /**
    -168             * Marshals a property's value to an XML element (xCal).
    -169             * @param property the property
    -170             * @param element the property's XML element
    -171             * @throws SkipMeException if the property should not be written to the data
    -172             * stream
    -173             */
    -174            public final void writeXml(T property, Element element) {
    -175                    XCalElement xcalElement = new XCalElement(element);
    -176                    _writeXml(property, xcalElement);
    -177            }
    -178    
    -179            /**
    -180             * Marshals a property's value to a JSON data stream (jCal).
    -181             * @param property the property
    -182             * @return the marshalled value
    -183             * @throws SkipMeException if the property should not be written to the data
    -184             * stream
    -185             */
    -186            public final JCalValue writeJson(T property) {
    -187                    return _writeJson(property);
    -188            }
    -189    
    -190            /**
    -191             * Unmarshals a property from a plain-text iCalendar data stream.
    -192             * @param value the value as read off the wire
    -193             * @param dataType the data type of the property value. The property's VALUE
    -194             * parameter is used to determine the data type. If the property has no
    -195             * VALUE parameter, then this parameter will be set to the property's
    -196             * default datatype. Note that the VALUE parameter is removed from the
    -197             * property's parameter list after it has been read.
    -198             * @param parameters the parsed parameters
    -199             * @return the unmarshalled property and its warnings
    -200             * @throws CannotParseException if the marshaller could not parse the
    -201             * property's value
    -202             * @throws SkipMeException if the property should not be added to the final
    -203             * {@link ICalendar} object
    -204             */
    -205            public final Result<T> parseText(String value, ICalDataType dataType, ICalParameters parameters) {
    -206                    List<String> warnings = new ArrayList<String>(0);
    -207                    T property = _parseText(value, dataType, parameters, warnings);
    -208                    property.setParameters(parameters);
    -209                    return new Result<T>(property, warnings);
    -210            }
    -211    
    -212            /**
    -213             * Unmarshals a property's value from an XML document (xCal).
    -214             * @param element the property's XML element
    -215             * @param parameters the property's parameters
    -216             * @return the unmarshalled property and its warnings
    -217             * @throws CannotParseException if the marshaller could not parse the
    -218             * property's value
    -219             * @throws SkipMeException if the property should not be added to the final
    -220             * {@link ICalendar} object
    -221             */
    -222            public final Result<T> parseXml(Element element, ICalParameters parameters) {
    -223                    List<String> warnings = new ArrayList<String>(0);
    -224                    T property = _parseXml(new XCalElement(element), parameters, warnings);
    -225                    property.setParameters(parameters);
    -226                    return new Result<T>(property, warnings);
    -227            }
    -228    
    -229            /**
    -230             * Unmarshals a property's value from a JSON data stream (jCal).
    -231             * @param value the property's JSON value
    -232             * @param dataType the data type
    -233             * @param parameters the parsed parameters
    -234             * @return the unmarshalled property and its warnings
    -235             * @throws CannotParseException if the marshaller could not parse the
    -236             * property's value
    -237             * @throws SkipMeException if the property should not be added to the final
    -238             * {@link ICalendar} object
    -239             */
    -240            public final Result<T> parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters) {
    -241                    List<String> warnings = new ArrayList<String>(0);
    -242                    T property = _parseJson(value, dataType, parameters, warnings);
    -243                    property.setParameters(parameters);
    -244                    return new Result<T>(property, warnings);
    -245            }
    -246    
    -247            /**
    -248             * <p>
    -249             * Sanitizes a property's parameters before the property is written.
    -250             * </p>
    -251             * <p>
    -252             * This method should be overridden by child classes that wish to tweak the
    -253             * property's parameters before the property is written. The default
    -254             * implementation of this method does nothing.
    -255             * </p>
    -256             * @param property the property
    -257             * @param copy the list of parameters to make modifications to (it is a copy
    -258             * of the property's parameters)
    -259             */
    -260            protected void _prepareParameters(T property, ICalParameters copy) {
    -261                    //do nothing
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Determines the data type of a property instance.
    -267             * </p>
    -268             * <p>
    -269             * This method should be overridden by child classes if a property's data
    -270             * type changes depending on its value. The default implementation of this
    -271             * method returns the property's default data type.
    -272             * </p>
    -273             * @param property the property
    -274             * @return the data type or null if unknown
    -275             */
    -276            protected ICalDataType _dataType(T property) {
    -277                    return defaultDataType;
    -278            }
    -279    
    -280            /**
    -281             * Marshals a property's value to a string.
    -282             * @param property the property
    -283             * @return the marshalled value
    -284             * @throws SkipMeException if the property should not be written to the data
    -285             * stream
    -286             */
    -287            protected abstract String _writeText(T property);
    -288    
    -289            /**
    -290             * <p>
    -291             * Marshals a property's value to an XML element (xCal).
    -292             * <p>
    -293             * <p>
    -294             * This method should be overridden by child classes that wish to support
    -295             * xCal. The default implementation of this method will append one child
    -296             * element to the property's XML element. The child element's name will be
    -297             * that of the property's data type (retrieved using the {@link #dataType}
    -298             * method), and the child element's text content will be set to the
    -299             * property's marshalled plain-text value (retrieved using the
    -300             * {@link #writeText} method).
    -301             * </p>
    -302             * @param property the property
    -303             * @param element the property's XML element
    -304             * @throws SkipMeException if the property should not be written to the data
    -305             * stream
    -306             */
    -307            protected void _writeXml(T property, XCalElement element) {
    -308                    String value = writeText(property);
    -309                    ICalDataType dataType = dataType(property);
    -310                    element.append(dataType, value);
    -311            }
    -312    
    -313            /**
    -314             * <p>
    -315             * Marshals a property's value to a JSON data stream (jCal).
    -316             * </p>
    -317             * <p>
    -318             * This method should be overridden by child classes that wish to support
    -319             * jCal. The default implementation of this method will create a jCard
    -320             * property that has a single JSON string value (generated by the
    -321             * {@link #writeText} method).
    -322             * </p>
    -323             * @param property the property
    -324             * @return the marshalled value
    -325             * @throws SkipMeException if the property should not be written to the data
    -326             * stream
    -327             */
    -328            protected JCalValue _writeJson(T property) {
    -329                    String value = writeText(property);
    -330                    return JCalValue.single(value);
    -331            }
    -332    
    -333            /**
    -334             * Unmarshals a property from a plain-text iCalendar data stream.
    -335             * @param value the value as read off the wire
    -336             * @param dataType the data type of the property value. The property's VALUE
    -337             * parameter is used to determine the data type. If the property has no
    -338             * VALUE parameter, then this parameter will be set to the property's
    -339             * default datatype. Note that the VALUE parameter is removed from the
    -340             * property's parameter list after it has been read.
    -341             * @param parameters the parsed parameters. These parameters will be
    -342             * assigned to the property object once this method returns. Therefore, do
    -343             * not assign any parameters to the property object itself whilst inside of
    -344             * this method, or else they will be overwritten.
    -345             * @param warnings allows the programmer to alert the user to any
    -346             * note-worthy (but non-critical) issues that occurred during the
    -347             * unmarshalling process
    -348             * @return the unmarshalled property object
    -349             * @throws CannotParseException if the marshaller could not parse the
    -350             * property's value
    -351             * @throws SkipMeException if the property should not be added to the final
    -352             * {@link ICalendar} object
    -353             */
    -354            protected abstract T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -355    
    -356            /**
    -357             * <p>
    -358             * Unmarshals a property from an XML document (xCal).
    -359             * </p>
    -360             * <p>
    -361             * This method should be overridden by child classes that wish to support
    -362             * xCal. The default implementation of this method will find the first child
    -363             * element with the xCal namespace. The element's name will be used as the
    -364             * property's data type and its text content will be passed into the
    -365             * {@link #_parseText} method. If no such child element is found, then the
    -366             * parent element's text content will be passed into {@link #_parseText} and
    -367             * the data type will be null.
    -368             * </p>
    -369             * @param element the property's XML element
    -370             * @param parameters the parsed parameters. These parameters will be
    -371             * assigned to the property object once this method returns. Therefore, do
    -372             * not assign any parameters to the property object itself whilst inside of
    -373             * this method, or else they will be overwritten.
    -374             * @param warnings allows the programmer to alert the user to any
    -375             * note-worthy (but non-critical) issues that occurred during the
    -376             * unmarshalling process
    -377             * @return the unmarshalled property object
    -378             * @throws CannotParseException if the marshaller could not parse the
    -379             * property's value
    -380             * @throws SkipMeException if the property should not be added to the final
    -381             * {@link ICalendar} object
    -382             */
    -383            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -384                    String value = null;
    -385                    ICalDataType dataType = null;
    -386                    Element rawElement = element.getElement();
    -387    
    -388                    //get the text content of the first child element with the xCard namespace
    -389                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -390                    for (Element child : children) {
    -391                            if (!XCAL_NS.equals(child.getNamespaceURI())) {
    -392                                    continue;
    -393                            }
    -394    
    -395                            dataType = ICalDataType.get(child.getLocalName());
    -396                            value = child.getTextContent();
    -397                            break;
    -398                    }
    -399    
    -400                    if (dataType == null) {
    -401                            //get the text content of the property element
    -402                            value = rawElement.getTextContent();
    -403                    }
    -404    
    -405                    value = escape(value);
    -406                    return _parseText(value, dataType, parameters, warnings);
    -407            }
    -408    
    -409            /**
    -410             * /**
    -411             * <p>
    -412             * Unmarshals a property from a JSON data stream (jCal).
    -413             * </p>
    -414             * <p>
    -415             * This method should be overridden by child classes that wish to support
    -416             * jCal. The default implementation of this method will convert the jCal
    -417             * property value to a string and pass it into the {@link #_parseText}
    -418             * method.
    -419             * </p>
    -420             * 
    -421             * <hr>
    -422             * 
    -423             * <p>
    -424             * The following paragraphs describe the way in which this method's default
    -425             * implementation converts a jCal value to a string:
    -426             * </p>
    -427             * <p>
    -428             * If the jCal value consists of a single, non-array, non-object value, then
    -429             * the value is converted to a string. Special characters (backslashes,
    -430             * commas, and semicolons) are escaped in order to simulate what the value
    -431             * might look like in a plain-text iCalendar object.<br>
    -432             * <code>["x-foo", {}, "text", "the;value"] --&gt; "the\;value"</code><br>
    -433             * <code>["x-foo", {}, "text", 2] --&gt; "2"</code>
    -434             * </p>
    -435             * <p>
    -436             * If the jCal value consists of multiple, non-array, non-object values,
    -437             * then all the values are appended together in a single string, separated
    -438             * by commas. Special characters (backslashes, commas, and semicolons) are
    -439             * escaped for each value in order to prevent commas from being treated as
    -440             * delimiters, and to simulate what the value might look like in a
    -441             * plain-text iCalendar object.<br>
    -442             * <code>["x-foo", {}, "text", "one", "two,three"] --&gt;
    -443             * "one,two\,three"</code>
    -444             * </p>
    -445             * <p>
    -446             * If the jCal value is a single array, then this array is treated as a
    -447             * "structured value", and converted its plain-text representation. Special
    -448             * characters (backslashes, commas, and semicolons) are escaped for each
    -449             * value in order to prevent commas and semicolons from being treated as
    -450             * delimiters.<br>
    -451             * <code>["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
    -452             * --&gt; "one;two,three;four\;five"</code>
    -453             * </p>
    -454             * <p>
    -455             * If the jCal value starts with a JSON object, then the object is converted
    -456             * to a format identical to the one used in the RRULE and EXRULE properties.
    -457             * Special characters (backslashes, commas, semicolons, and equal signs) are
    -458             * escaped for each value in order to preserve the syntax of the string
    -459             * value.<br>
    -460             * <code>["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --&gt; "ONE=1;TWO=2,2.5"</code>
    -461             * </p>
    -462             * <p>
    -463             * For all other cases, behavior is undefined.
    -464             * </p>
    -465             * @param value the property's JSON value
    -466             * @param dataType the data type
    -467             * @param parameters the parsed parameters. These parameters will be
    -468             * assigned to the property object once this method returns. Therefore, do
    -469             * not assign any parameters to the property object itself whilst inside of
    -470             * this method, or else they will be overwritten.
    -471             * @param warnings allows the programmer to alert the user to any
    -472             * note-worthy (but non-critical) issues that occurred during the
    -473             * unmarshalling process
    -474             * @return the unmarshalled property object
    -475             * @throws CannotParseException if the marshaller could not parse the
    -476             * property's value
    -477             * @throws SkipMeException if the property should not be added to the final
    -478             * {@link ICalendar} object
    -479             */
    -480            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -481                    return _parseText(jcalValueToString(value), dataType, parameters, warnings);
    -482            }
    -483    
    -484            private String jcalValueToString(JCalValue value) {
    -485                    if (value.getValues().size() > 1) {
    -486                            List<String> multi = value.asMulti();
    -487                            if (!multi.isEmpty()) {
    -488                                    return list(multi);
    -489                            }
    -490                    }
    -491    
    -492                    if (!value.getValues().isEmpty() && value.getValues().get(0).getArray() != null) {
    -493                            List<List<String>> structured = value.asStructured();
    -494                            if (!structured.isEmpty()) {
    -495                                    return structured(structured.toArray());
    -496                            }
    -497                    }
    -498    
    -499                    if (value.getValues().get(0).getObject() != null) {
    -500                            ListMultimap<String, String> object = value.asObject();
    -501                            if (!object.isEmpty()) {
    -502                                    return object(object.getMap());
    -503                            }
    -504                    }
    -505    
    -506                    return escape(value.asSingle());
    -507            }
    -508    
    -509            /**
    -510             * Unescapes all special characters that are escaped with a backslash, as
    -511             * well as escaped newlines.
    -512             * @param text the text to unescape
    -513             * @return the unescaped text
    -514             */
    -515            protected static String unescape(String text) {
    -516                    if (text == null) {
    -517                            return text;
    -518                    }
    -519    
    -520                    StringBuilder sb = null;
    -521                    boolean escaped = false;
    -522                    for (int i = 0; i < text.length(); i++) {
    -523                            char ch = text.charAt(i);
    -524    
    -525                            if (escaped) {
    -526                                    if (sb == null) {
    -527                                            sb = new StringBuilder(text.length());
    -528                                            sb.append(text.substring(0, i - 1));
    -529                                    }
    -530    
    -531                                    escaped = false;
    -532    
    -533                                    if (ch == 'n' || ch == 'N') {
    -534                                            //newlines appear as "\n" or "\N" (see RFC 5545 p.46)
    -535                                            sb.append(StringUtils.NEWLINE);
    -536                                            continue;
    -537                                    }
    -538    
    -539                                    sb.append(ch);
    -540                                    continue;
    -541                            }
    -542    
    -543                            if (ch == '\\') {
    -544                                    escaped = true;
    -545                                    continue;
    -546                            }
    -547    
    -548                            if (sb != null) {
    -549                                    sb.append(ch);
    -550                            }
    -551                    }
    -552                    return (sb == null) ? text : sb.toString();
    -553            }
    -554    
    -555            /**
    -556             * <p>
    -557             * Escapes all special characters within a iCalendar value. These characters
    -558             * are:
    -559             * </p>
    -560             * <ul>
    -561             * <li>backslashes ({@code \})</li>
    -562             * <li>commas ({@code ,})</li>
    -563             * <li>semi-colons ({@code ;})</li>
    -564             * </ul>
    -565             * <p>
    -566             * Newlines are not escaped by this method. They are escaped when the
    -567             * iCalendar object is serialized (in the {@link ICalRawWriter} class).
    -568             * </p>
    -569             * @param text the text to escape
    -570             * @return the escaped text
    -571             */
    -572            protected static String escape(String text) {
    -573                    if (text == null) {
    -574                            return text;
    -575                    }
    -576    
    -577                    String chars = "\\,;";
    -578                    StringBuilder sb = null;
    -579                    for (int i = 0; i < text.length(); i++) {
    -580                            char ch = text.charAt(i);
    -581                            if (chars.indexOf(ch) >= 0) {
    -582                                    if (sb == null) {
    -583                                            sb = new StringBuilder(text.length());
    -584                                            sb.append(text.substring(0, i));
    -585                                    }
    -586                                    sb.append('\\');
    -587                            }
    -588    
    -589                            if (sb != null) {
    -590                                    sb.append(ch);
    -591                            }
    -592                    }
    -593                    return (sb == null) ? text : sb.toString();
    -594            }
    -595    
    -596            /**
    -597             * Splits a string by a delimiter, taking escaped characters into account.
    -598             * @param string the string to split (e.g. "one,two,three")
    -599             * @param delimiter the delimiter (e.g. ",")
    -600             * @return the factory object
    -601             */
    -602            protected static Splitter split(String string, String delimiter) {
    -603                    return new Splitter(string, delimiter);
    -604            }
    -605    
    -606            /**
    -607             * Factory class for splitting strings.
    -608             */
    -609            protected static class Splitter {
    -610                    private String string;
    -611                    private String delimiter;
    -612                    private boolean removeEmpties = false;
    -613                    private boolean unescape = false;
    -614                    private int limit = -1;
    -615    
    -616                    /**
    -617                     * Creates a new splitter object.
    -618                     * @param string the string to split (e.g. "one,two,three")
    -619                     * @param delimiter the delimiter (e.g. ",")
    -620                     */
    -621                    public Splitter(String string, String delimiter) {
    -622                            this.string = string;
    -623                            this.delimiter = delimiter;
    -624                    }
    -625    
    -626                    /**
    -627                     * Sets whether to remove empty elements.
    -628                     * @param removeEmpties true to remove empty elements, false not to
    -629                     * (default is false)
    -630                     * @return this
    -631                     */
    -632                    public Splitter removeEmpties(boolean removeEmpties) {
    -633                            this.removeEmpties = removeEmpties;
    -634                            return this;
    -635                    }
    -636    
    -637                    /**
    -638                     * Sets whether to unescape each split string.
    -639                     * @param unescape true to unescape, false not to (default is false)
    -640                     * @return this
    -641                     */
    -642                    public Splitter unescape(boolean unescape) {
    -643                            this.unescape = unescape;
    -644                            return this;
    -645                    }
    -646    
    -647                    /**
    -648                     * Sets the max number of split strings it should parse.
    -649                     * @param limit the max number of split strings
    -650                     * @return this
    -651                     */
    -652                    public Splitter limit(int limit) {
    -653                            this.limit = limit;
    -654                            return this;
    -655                    }
    -656    
    -657                    /**
    -658                     * Performs the split operation.
    -659                     * @return the split string
    -660                     */
    -661                    public List<String> split() {
    -662                            //from: http://stackoverflow.com/q/820172">http://stackoverflow.com/q/820172
    -663                            String split[] = string.split("\\s*(?<!\\\\)" + Pattern.quote(delimiter) + "\\s*", limit);
    -664    
    -665                            List<String> list = new ArrayList<String>(split.length);
    -666                            for (String s : split) {
    -667                                    if (s.length() == 0 && removeEmpties) {
    -668                                            continue;
    -669                                    }
    -670    
    -671                                    if (unescape) {
    -672                                            s = ICalPropertyMarshaller.unescape(s);
    -673                                    }
    -674    
    -675                                    list.add(s);
    -676                            }
    -677                            return list;
    -678                    }
    -679            }
    -680    
    -681            /**
    -682             * Parses a comma-separated list of values.
    -683             * @param value the string to parse (e.g. "one,two,th\,ree")
    -684             * @return the parsed values
    -685             */
    -686            protected static List<String> list(String value) {
    -687                    if (value.length() == 0) {
    -688                            return new ArrayList<String>(0);
    -689                    }
    -690                    return split(value, ",").unescape(true).split();
    -691            }
    -692    
    -693            /**
    -694             * Writes a comma-separated list of values.
    -695             * @param values the values to write
    -696             * @return the list
    -697             */
    -698            protected static String list(Object... values) {
    -699                    return list(Arrays.asList(values));
    -700            }
    -701    
    -702            /**
    -703             * Writes a comma-separated list of values.
    -704             * @param values the values to write
    -705             * @return the list
    -706             */
    -707            protected static <T> String list(Collection<T> values) {
    -708                    return list(values, new ListCallback<T>() {
    -709                            public String asString(T value) {
    -710                                    return value.toString();
    -711                            }
    -712                    });
    -713            }
    -714    
    -715            /**
    -716             * Writes a comma-separated list of values.
    -717             * @param values the values to write
    -718             * @param callback callback function used for converting each value to a
    -719             * string
    -720             * @return the list
    -721             */
    -722            protected static <T> String list(Collection<T> values, final ListCallback<T> callback) {
    -723                    return join(values, ",", new JoinCallback<T>() {
    -724                            public void handle(StringBuilder sb, T value) {
    -725                                    if (value == null) {
    -726                                            return;
    -727                                    }
    -728    
    -729                                    String valueStr = callback.asString(value);
    -730                                    sb.append(escape(valueStr));
    -731                            }
    -732                    });
    -733            }
    -734    
    -735            /**
    -736             * Callback function used in conjunction with the
    -737             * {@link ICalPropertyMarshaller#list(Collection, ListCallback) list} method
    -738             * @param <T> the value class
    -739             */
    -740            protected static interface ListCallback<T> {
    -741                    /**
    -742                     * Converts a value to a string.
    -743                     * @param value the value (null values are not passed to this method, so
    -744                     * this parameter will never be null)
    -745                     * @return the string
    -746                     */
    -747                    String asString(T value);
    -748            }
    -749    
    -750            /**
    -751             * Parses a list of values that are delimited by semicolons. Unlike
    -752             * structured value components, semi-structured components cannot be
    -753             * multi-valued.
    -754             * @param value the string to parse (e.g. "one;two;three")
    -755             * @return the parsed values
    -756             */
    -757            protected static SemiStructuredIterator semistructured(String value) {
    -758                    return semistructured(value, -1);
    -759            }
    -760    
    -761            /**
    -762             * Parses a list of values that are delimited by semicolons. Unlike
    -763             * structured value components, semi-structured components cannot be
    -764             * multi-valued.
    -765             * @param value the string to parse (e.g. "one;two;three")
    -766             * @param limit the max number of components to parse
    -767             * @return the parsed values
    -768             */
    -769            protected static SemiStructuredIterator semistructured(String value, int limit) {
    -770                    List<String> split = split(value, ";").unescape(true).limit(limit).split();
    -771                    return new SemiStructuredIterator(split.iterator());
    -772            }
    -773    
    -774            /**
    -775             * Parses a structured value.
    -776             * @param value the string to parse (e.g. "one;two,three;four")
    -777             * @return the parsed values
    -778             */
    -779            protected static StructuredIterator structured(String value) {
    -780                    List<String> split = split(value, ";").split();
    -781                    List<List<String>> components = new ArrayList<List<String>>(split.size());
    -782                    for (String s : split) {
    -783                            components.add(list(s));
    -784                    }
    -785                    return new StructuredIterator(components.iterator());
    -786            }
    -787    
    -788            /**
    -789             * Provides an iterator for a jCard structured value.
    -790             * @param value the jCard value
    -791             * @return the parsed values
    -792             */
    -793            protected static StructuredIterator structured(JCalValue value) {
    -794                    return new StructuredIterator(value.asStructured().iterator());
    -795            }
    -796    
    -797            /**
    -798             * <p>
    -799             * Writes a structured value.
    -800             * </p>
    -801             * <p>
    -802             * This method accepts a list of {@link Object} instances.
    -803             * {@link Collection} objects will be treated as multi-valued components.
    -804             * Null objects will be treated as empty components. All other objects will
    -805             * have their {@code toString()} method invoked to generate the string
    -806             * value.
    -807             * </p>
    -808             * @param values the values to write
    -809             * @return the structured value string
    -810             */
    -811            protected static String structured(Object... values) {
    -812                    return join(Arrays.asList(values), ";", new JoinCallback<Object>() {
    -813                            public void handle(StringBuilder sb, Object value) {
    -814                                    if (value == null) {
    -815                                            return;
    -816                                    }
    -817    
    -818                                    if (value instanceof Collection) {
    -819                                            Collection<?> list = (Collection<?>) value;
    -820                                            sb.append(list(list));
    -821                                            return;
    -822                                    }
    -823    
    -824                                    sb.append(escape(value.toString()));
    -825                            }
    -826                    });
    -827            }
    -828    
    -829            /**
    -830             * Iterates over the fields in a structured value.
    -831             */
    -832            protected static class StructuredIterator {
    -833                    private final Iterator<List<String>> it;
    -834    
    -835                    /**
    -836                     * Constructs a new structured iterator.
    -837                     * @param it the iterator to wrap
    -838                     */
    -839                    public StructuredIterator(Iterator<List<String>> it) {
    -840                            this.it = it;
    -841                    }
    -842    
    -843                    /**
    -844                     * Gets the first value of the next component.
    -845                     * @return the first value, null if the value is an empty string, or
    -846                     * null if there are no more components
    -847                     */
    -848                    public String nextString() {
    -849                            if (!hasNext()) {
    -850                                    return null;
    -851                            }
    -852    
    -853                            List<String> list = it.next();
    -854                            if (list.isEmpty()) {
    -855                                    return null;
    -856                            }
    -857    
    -858                            String value = list.get(0);
    -859                            return (value.length() == 0) ? null : value;
    -860                    }
    -861    
    -862                    /**
    -863                     * Gets the next component.
    -864                     * @return the next component, an empty list if the component is empty,
    -865                     * or an empty list of there are no more components
    -866                     */
    -867                    public List<String> nextComponent() {
    -868                            if (!hasNext()) {
    -869                                    return new ArrayList<String>(0); //the lists should be mutable so they can be directly assigned to the property object's fields
    -870                            }
    -871    
    -872                            List<String> list = it.next();
    -873                            if (list.size() == 1 && list.get(0).length() == 0) {
    -874                                    return new ArrayList<String>(0);
    -875                            }
    -876    
    -877                            return list;
    -878                    }
    -879    
    -880                    /**
    -881                     * Determines if there are any elements left in the value.
    -882                     * @return true if there are elements left, false if not
    -883                     */
    -884                    public boolean hasNext() {
    -885                            return it.hasNext();
    -886                    }
    -887            }
    -888    
    -889            /**
    -890             * Iterates over the fields in a semi-structured value (a structured value
    -891             * whose components cannot be multi-valued).
    -892             */
    -893            protected static class SemiStructuredIterator {
    -894                    private final Iterator<String> it;
    -895    
    -896                    /**
    -897                     * Constructs a new structured iterator.
    -898                     * @param it the iterator to wrap
    -899                     */
    -900                    public SemiStructuredIterator(Iterator<String> it) {
    -901                            this.it = it;
    -902                    }
    -903    
    -904                    /**
    -905                     * Gets the next value.
    -906                     * @return the next value, null if the value is an empty string, or null
    -907                     * if there are no more values
    -908                     */
    -909                    public String next() {
    -910                            if (!hasNext()) {
    -911                                    return null;
    -912                            }
    -913    
    -914                            String value = it.next();
    -915                            return (value.length() == 0) ? null : value;
    -916                    }
    -917    
    -918                    /**
    -919                     * Determines if there are any elements left in the value.
    -920                     * @return true if there are elements left, false if not
    -921                     */
    -922                    public boolean hasNext() {
    -923                            return it.hasNext();
    -924                    }
    -925            }
    -926    
    -927            /**
    -928             * Writes an object property value to a string.
    -929             * @param value the value
    -930             * @return the string
    -931             */
    -932            protected static <T> String object(Map<String, List<T>> value) {
    -933                    return join(value, ";", new JoinMapCallback<String, List<T>>() {
    -934                            public void handle(StringBuilder sb, String key, List<T> value) {
    -935                                    sb.append(key.toUpperCase()).append('=').append(list(value));
    -936                            }
    -937                    });
    -938            }
    -939    
    -940            /**
    -941             * Parses an object property value.
    -942             * @param value the value to parse
    -943             * @return the parsed value
    -944             */
    -945            protected static ListMultimap<String, String> object(String value) {
    -946                    ListMultimap<String, String> map = new ListMultimap<String, String>();
    -947    
    -948                    for (String component : split(value, ";").unescape(false).removeEmpties(true).split()) {
    -949                            String[] split = component.split("=", 2);
    -950    
    -951                            String name = unescape(split[0].toUpperCase());
    -952                            List<String> values = (split.length > 1) ? list(split[1]) : Arrays.asList("");
    -953    
    -954                            map.putAll(name, values);
    -955                    }
    -956    
    -957                    return map;
    -958            }
    -959    
    -960            /**
    -961             * Parses a date string.
    -962             * @param value the date string
    -963             * @return the factory object
    -964             */
    -965            protected static DateParser date(String value) {
    -966                    return new DateParser(value);
    -967            }
    -968    
    -969            /**
    -970             * Formats a {@link Date} object as a string.
    -971             * @param date the date
    -972             * @return the factory object
    -973             */
    -974            protected static DateWriter date(Date date) {
    -975                    return new DateWriter(date);
    -976            }
    -977    
    -978            /**
    -979             * Factory class for parsing dates.
    -980             */
    -981            protected static class DateParser {
    -982                    private String value;
    -983                    private TimeZone timezone;
    -984    
    -985                    /**
    -986                     * Creates a new date writer object.
    -987                     * @param value the date string to parse
    -988                     */
    -989                    public DateParser(String value) {
    -990                            this.value = value;
    -991                    }
    -992    
    -993                    /**
    -994                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -995                     * value). If the ID does not contain a "/" character, it will be
    -996                     * ignored.
    -997                     * @param timezoneId the timezone ID
    -998                     * @return this
    -999                     */
    -1000                    public DateParser tzid(String timezoneId) {
    -1001                            return tzid(timezoneId, null);
    -1002                    }
    -1003    
    -1004                    /**
    -1005                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -1006                     * value).
    -1007                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1008                     * "/" character), it will attempt to look up the timezone in Java's
    -1009                     * timezone registry and parse the date according to that timezone. If
    -1010                     * the timezone is not found, the date will be parsed according to the
    -1011                     * JVM's default timezone and a warning message will be added to the
    -1012                     * provided warnings list. If the ID is not global, it will be parsed
    -1013                     * according to the JVM's default timezone. Whichever timezone is chosen
    -1014                     * here, it will be ignored if the date string is in UTC time or
    -1015                     * contains an offset.
    -1016                     * @param warnings if the ID is global and is not recognized, a warning
    -1017                     * message will be added to this list
    -1018                     * @return this
    -1019                     */
    -1020                    public DateParser tzid(String timezoneId, List<String> warnings) {
    -1021                            if (timezoneId == null) {
    -1022                                    return tz(null);
    -1023                            }
    -1024    
    -1025                            if (timezoneId.contains("/")) {
    -1026                                    TimeZone timezone = ICalDateFormatter.parseTimeZoneId(timezoneId);
    -1027                                    if (timezone == null) {
    -1028                                            timezone = TimeZone.getDefault();
    -1029                                            if (warnings != null) {
    -1030                                                    warnings.add("Timezone ID not recognized, parsing with default timezone instead: " + timezoneId);
    -1031                                            }
    -1032                                    }
    -1033                                    return tz(timezone);
    -1034                            }
    -1035    
    -1036                            //TODO parse according to the associated VTIMEZONE component
    -1037                            return tz(TimeZone.getDefault());
    -1038                    }
    -1039    
    -1040                    /**
    -1041                     * Sets the timezone to parse the date as.
    -1042                     * @param timezone the timezone
    -1043                     * @return this
    -1044                     */
    -1045                    public DateParser tz(TimeZone timezone) {
    -1046                            this.timezone = timezone;
    -1047                            return this;
    -1048                    }
    -1049    
    -1050                    /**
    -1051                     * Parses the date string.
    -1052                     * @return the parsed date
    -1053                     * @throws IllegalArgumentException if the date string is invalid
    -1054                     */
    -1055                    public Date parse() {
    -1056                            return ICalDateFormatter.parse(value, timezone);
    -1057                    }
    -1058            }
    -1059    
    -1060            /**
    -1061             * Factory class for writing dates.
    -1062             */
    -1063            protected static class DateWriter {
    -1064                    private Date date;
    -1065                    private boolean hasTime = true;
    -1066                    private TimeZone timezone;
    -1067                    private boolean extended = false;
    -1068    
    -1069                    /**
    -1070                     * Creates a new date writer object.
    -1071                     * @param date the date to format
    -1072                     */
    -1073                    public DateWriter(Date date) {
    -1074                            this.date = date;
    -1075                    }
    -1076    
    -1077                    /**
    -1078                     * Sets whether to output the date's time component.
    -1079                     * @param hasTime true include the time, false if it's strictly a date
    -1080                     * (defaults to "true")
    -1081                     * @return this
    -1082                     */
    -1083                    public DateWriter time(boolean hasTime) {
    -1084                            this.hasTime = hasTime;
    -1085                            return this;
    -1086                    }
    -1087    
    -1088                    /**
    -1089                     * Sets the ID of the timezone to format the date as (TZID parameter
    -1090                     * value).
    -1091                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1092                     * "/" character), it will attempt to look up the timezone in Java's
    -1093                     * timezone registry and format the date according to that timezone. If
    -1094                     * the timezone is not found, the date will be formatted in UTC. If the
    -1095                     * ID is not global, it will be formatted according to the JVM's default
    -1096                     * timezone. If no timezone preference is specified, the date will be
    -1097                     * formatted as UTC.
    -1098                     * @return this
    -1099                     */
    -1100                    public DateWriter tzid(String timezoneId) {
    -1101                            if (timezoneId == null) {
    -1102                                    return tz(null);
    -1103                            }
    -1104    
    -1105                            if (timezoneId.contains("/")) {
    -1106                                    return tz(ICalDateFormatter.parseTimeZoneId(timezoneId));
    -1107                            }
    -1108    
    -1109                            //TODO format according to the associated VTIMEZONE component
    -1110                            return tz(TimeZone.getDefault());
    -1111                    }
    -1112    
    -1113                    /**
    -1114                     * Outputs the date in local time (without a timezone). If no timezone
    -1115                     * preference is specified, the date will be formatted as UTC.
    -1116                     * @param localTz true to use local time, false not to
    -1117                     * @return this
    -1118                     */
    -1119                    public DateWriter localTz(boolean localTz) {
    -1120                            return localTz ? tz(TimeZone.getDefault()) : this;
    -1121                    }
    -1122    
    -1123                    /**
    -1124                     * Convenience method that combines {@link #localTz(boolean)} and
    -1125                     * {@link #tzid(String)} into one method.
    -1126                     * @param localTz true to use local time, false not to
    -1127                     * @param timezoneId the timezone ID
    -1128                     * @return this
    -1129                     */
    -1130                    public DateWriter tz(boolean localTz, String timezoneId) {
    -1131                            return localTz ? localTz(true) : tzid(timezoneId);
    -1132                    }
    -1133    
    -1134                    /**
    -1135                     * Sets the timezone to format the date as. If no timezone preference is
    -1136                     * specified, the date will be formatted as UTC.
    -1137                     * @param timezone the timezone
    -1138                     * @return this
    -1139                     */
    -1140                    public DateWriter tz(TimeZone timezone) {
    -1141                            this.timezone = timezone;
    -1142                            return this;
    -1143                    }
    -1144    
    -1145                    /**
    -1146                     * Sets whether to use extended format or basic.
    -1147                     * @param extended true to use extended format, false to use basic
    -1148                     * (defaults to "false")
    -1149                     * @return this
    -1150                     */
    -1151                    public DateWriter extended(boolean extended) {
    -1152                            this.extended = extended;
    -1153                            return this;
    -1154                    }
    -1155    
    -1156                    /**
    -1157                     * Creates the date string.
    -1158                     * @return the date string
    -1159                     */
    -1160                    public String write() {
    -1161                            ISOFormat format;
    -1162                            TimeZone timezone = this.timezone;
    -1163                            if (hasTime) {
    -1164                                    if (timezone == null) {
    -1165                                            format = extended ? ISOFormat.UTC_TIME_EXTENDED : ISOFormat.UTC_TIME_BASIC;
    -1166                                    } else {
    -1167                                            format = extended ? ISOFormat.TIME_EXTENDED_WITHOUT_TZ : ISOFormat.TIME_BASIC_WITHOUT_TZ;
    -1168                                    }
    -1169                            } else {
    -1170                                    format = extended ? ISOFormat.DATE_EXTENDED : ISOFormat.DATE_BASIC;
    -1171                                    timezone = null;
    -1172                            }
    -1173    
    -1174                            return ICalDateFormatter.format(date, format, timezone);
    -1175                    }
    -1176            }
    -1177    
    -1178            /**
    -1179             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1180             * that the parser expected to find are missing from the property's XML
    -1181             * element.
    -1182             * @param dataTypes the expected data types (null for "unknown")
    -1183             */
    -1184            protected static CannotParseException missingXmlElements(ICalDataType... dataTypes) {
    -1185                    String[] elements = new String[dataTypes.length];
    -1186                    for (int i = 0; i < dataTypes.length; i++) {
    -1187                            ICalDataType dataType = dataTypes[i];
    -1188                            elements[i] = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -1189                    }
    -1190                    return missingXmlElements(elements);
    -1191            }
    -1192    
    -1193            /**
    -1194             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1195             * that the parser expected to find are missing from property's XML element.
    -1196             * @param elements the names of the expected XML elements.
    -1197             */
    -1198            protected static CannotParseException missingXmlElements(String... elements) {
    -1199                    String message;
    -1200    
    -1201                    switch (elements.length) {
    -1202                    case 0:
    -1203                            message = "Property value empty.";
    -1204                            break;
    -1205                    case 1:
    -1206                            message = "Property value empty (no <" + elements[0] + "> element found).";
    -1207                            break;
    -1208                    case 2:
    -1209                            message = "Property value empty (no <" + elements[0] + "> or <" + elements[1] + "> elements found).";
    -1210                            break;
    -1211                    default:
    -1212                            StringBuilder sb = new StringBuilder();
    -1213    
    -1214                            sb.append("Property value empty (no ");
    -1215                            join(Arrays.asList(elements).subList(0, elements.length - 1), ", ", sb, new JoinCallback<String>() {
    -1216                                    public void handle(StringBuilder sb, String value) {
    -1217                                            sb.append('<').append(value).append('>');
    -1218                                    }
    -1219                            });
    -1220                            sb.append(", or <").append(elements[elements.length - 1]).append("> elements found).");
    -1221    
    -1222                            message = sb.toString();
    -1223                            break;
    -1224                    }
    -1225    
    -1226                    return new CannotParseException(message);
    -1227            }
    -1228    
    -1229            /**
    -1230             * Represents the result of an unmarshal operation.
    -1231             * @author Michael Angstadt
    -1232             * @param <T> the unmarshalled property class
    -1233             */
    -1234            public static class Result<T extends ICalProperty> {
    -1235                    private final T property;
    -1236                    private final List<String> warnings;
    -1237    
    -1238                    /**
    -1239                     * Creates a new result.
    -1240                     * @param property the property object
    -1241                     * @param warnings the warnings
    -1242                     */
    -1243                    public Result(T property, List<String> warnings) {
    -1244                            this.property = property;
    -1245                            this.warnings = warnings;
    -1246                    }
    -1247    
    -1248                    /**
    -1249                     * Gets the warnings.
    -1250                     * @return the warnings
    -1251                     */
    -1252                    public List<String> getWarnings() {
    -1253                            return warnings;
    -1254                    }
    -1255    
    -1256                    /**
    -1257                     * Gets the property object.
    -1258                     * @return the property object
    -1259                     */
    -1260                    public T getProperty() {
    -1261                            return property;
    -1262                    }
    -1263            }
    -1264    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.DateWriter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.DateWriter.html deleted file mode 100644 index 40770513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.DateWriter.html +++ /dev/null @@ -1,1330 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.StringUtils.join;
    -005    
    -006    import java.util.ArrayList;
    -007    import java.util.Arrays;
    -008    import java.util.Collection;
    -009    import java.util.Date;
    -010    import java.util.Iterator;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    import java.util.TimeZone;
    -014    import java.util.regex.Pattern;
    -015    
    -016    import javax.xml.namespace.QName;
    -017    
    -018    import org.w3c.dom.Element;
    -019    
    -020    import biweekly.ICalDataType;
    -021    import biweekly.ICalendar;
    -022    import biweekly.io.CannotParseException;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.io.json.JCalValue;
    -025    import biweekly.io.text.ICalRawWriter;
    -026    import biweekly.io.xml.XCalElement;
    -027    import biweekly.parameter.ICalParameters;
    -028    import biweekly.property.ICalProperty;
    -029    import biweekly.util.ICalDateFormatter;
    -030    import biweekly.util.ISOFormat;
    -031    import biweekly.util.ListMultimap;
    -032    import biweekly.util.StringUtils;
    -033    import biweekly.util.StringUtils.JoinCallback;
    -034    import biweekly.util.StringUtils.JoinMapCallback;
    -035    import biweekly.util.XmlUtils;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * Base class for iCalendar property marshallers.
    -064     * @param <T> the property class
    -065     * @author Michael Angstadt
    -066     */
    -067    public abstract class ICalPropertyMarshaller<T extends ICalProperty> {
    -068            protected final Class<T> clazz;
    -069            protected final String propertyName;
    -070            protected final ICalDataType defaultDataType;
    -071            protected final QName qname;
    -072    
    -073            /**
    -074             * Creates a new marshaller.
    -075             * @param clazz the property class
    -076             * @param propertyName the property name (e.g. "VERSION")
    -077             * @param defaultDataType the property's default data type (e.g. "text") or
    -078             * null if unknown
    -079             */
    -080            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType) {
    -081                    this(clazz, propertyName, defaultDataType, new QName(XCAL_NS, propertyName.toLowerCase()));
    -082            }
    -083    
    -084            /**
    -085             * Creates a new marshaller.
    -086             * @param clazz the property class
    -087             * @param propertyName the property name (e.g. "VERSION")
    -088             * @param defaultDataType the property's default data type (e.g. "text") or
    -089             * null if unknown
    -090             * @param qname the XML element name and namespace to use for xCal documents
    -091             * (by default, the XML element name is set to the lower-cased property
    -092             * name, and the element namespace is set to the xCal namespace)
    -093             */
    -094            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType, QName qname) {
    -095                    this.clazz = clazz;
    -096                    this.propertyName = propertyName;
    -097                    this.defaultDataType = defaultDataType;
    -098                    this.qname = qname;
    -099            }
    -100    
    -101            /**
    -102             * Gets the property class.
    -103             * @return the property class
    -104             */
    -105            public Class<T> getPropertyClass() {
    -106                    return clazz;
    -107            }
    -108    
    -109            /**
    -110             * Gets the property name.
    -111             * @return the property name (e.g. "VERSION")
    -112             */
    -113            public String getPropertyName() {
    -114                    return propertyName;
    -115            }
    -116    
    -117            /**
    -118             * Gets the property's default data type.
    -119             * @return the default data type (e.g. "text") or null if unknown
    -120             */
    -121            public ICalDataType getDefaultDataType() {
    -122                    return defaultDataType;
    -123            }
    -124    
    -125            /**
    -126             * Gets this property's local name and namespace for xCal documents.
    -127             * @return the XML local name and namespace
    -128             */
    -129            public QName getQName() {
    -130                    return qname;
    -131            }
    -132    
    -133            /**
    -134             * Sanitizes a property's parameters (called before the property is
    -135             * written). Note that a copy of the parameters is returned so that the
    -136             * property object does not get modified.
    -137             * @param property the property
    -138             * @return the sanitized parameters
    -139             */
    -140            public final ICalParameters prepareParameters(T property) {
    -141                    //make a copy because the property should not get modified when it is marshalled
    -142                    ICalParameters copy = new ICalParameters(property.getParameters());
    -143                    _prepareParameters(property, copy);
    -144                    return copy;
    -145            }
    -146    
    -147            /**
    -148             * Determines the data type of a property instance.
    -149             * @param property the property
    -150             * @return the data type or null if unknown
    -151             */
    -152            public final ICalDataType dataType(T property) {
    -153                    return _dataType(property);
    -154            }
    -155    
    -156            /**
    -157             * Marshals a property's value to a string.
    -158             * @param property the property
    -159             * @return the marshalled value
    -160             * @throws SkipMeException if the property should not be written to the data
    -161             * stream
    -162             */
    -163            public final String writeText(T property) {
    -164                    return _writeText(property);
    -165            }
    -166    
    -167            /**
    -168             * Marshals a property's value to an XML element (xCal).
    -169             * @param property the property
    -170             * @param element the property's XML element
    -171             * @throws SkipMeException if the property should not be written to the data
    -172             * stream
    -173             */
    -174            public final void writeXml(T property, Element element) {
    -175                    XCalElement xcalElement = new XCalElement(element);
    -176                    _writeXml(property, xcalElement);
    -177            }
    -178    
    -179            /**
    -180             * Marshals a property's value to a JSON data stream (jCal).
    -181             * @param property the property
    -182             * @return the marshalled value
    -183             * @throws SkipMeException if the property should not be written to the data
    -184             * stream
    -185             */
    -186            public final JCalValue writeJson(T property) {
    -187                    return _writeJson(property);
    -188            }
    -189    
    -190            /**
    -191             * Unmarshals a property from a plain-text iCalendar data stream.
    -192             * @param value the value as read off the wire
    -193             * @param dataType the data type of the property value. The property's VALUE
    -194             * parameter is used to determine the data type. If the property has no
    -195             * VALUE parameter, then this parameter will be set to the property's
    -196             * default datatype. Note that the VALUE parameter is removed from the
    -197             * property's parameter list after it has been read.
    -198             * @param parameters the parsed parameters
    -199             * @return the unmarshalled property and its warnings
    -200             * @throws CannotParseException if the marshaller could not parse the
    -201             * property's value
    -202             * @throws SkipMeException if the property should not be added to the final
    -203             * {@link ICalendar} object
    -204             */
    -205            public final Result<T> parseText(String value, ICalDataType dataType, ICalParameters parameters) {
    -206                    List<String> warnings = new ArrayList<String>(0);
    -207                    T property = _parseText(value, dataType, parameters, warnings);
    -208                    property.setParameters(parameters);
    -209                    return new Result<T>(property, warnings);
    -210            }
    -211    
    -212            /**
    -213             * Unmarshals a property's value from an XML document (xCal).
    -214             * @param element the property's XML element
    -215             * @param parameters the property's parameters
    -216             * @return the unmarshalled property and its warnings
    -217             * @throws CannotParseException if the marshaller could not parse the
    -218             * property's value
    -219             * @throws SkipMeException if the property should not be added to the final
    -220             * {@link ICalendar} object
    -221             */
    -222            public final Result<T> parseXml(Element element, ICalParameters parameters) {
    -223                    List<String> warnings = new ArrayList<String>(0);
    -224                    T property = _parseXml(new XCalElement(element), parameters, warnings);
    -225                    property.setParameters(parameters);
    -226                    return new Result<T>(property, warnings);
    -227            }
    -228    
    -229            /**
    -230             * Unmarshals a property's value from a JSON data stream (jCal).
    -231             * @param value the property's JSON value
    -232             * @param dataType the data type
    -233             * @param parameters the parsed parameters
    -234             * @return the unmarshalled property and its warnings
    -235             * @throws CannotParseException if the marshaller could not parse the
    -236             * property's value
    -237             * @throws SkipMeException if the property should not be added to the final
    -238             * {@link ICalendar} object
    -239             */
    -240            public final Result<T> parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters) {
    -241                    List<String> warnings = new ArrayList<String>(0);
    -242                    T property = _parseJson(value, dataType, parameters, warnings);
    -243                    property.setParameters(parameters);
    -244                    return new Result<T>(property, warnings);
    -245            }
    -246    
    -247            /**
    -248             * <p>
    -249             * Sanitizes a property's parameters before the property is written.
    -250             * </p>
    -251             * <p>
    -252             * This method should be overridden by child classes that wish to tweak the
    -253             * property's parameters before the property is written. The default
    -254             * implementation of this method does nothing.
    -255             * </p>
    -256             * @param property the property
    -257             * @param copy the list of parameters to make modifications to (it is a copy
    -258             * of the property's parameters)
    -259             */
    -260            protected void _prepareParameters(T property, ICalParameters copy) {
    -261                    //do nothing
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Determines the data type of a property instance.
    -267             * </p>
    -268             * <p>
    -269             * This method should be overridden by child classes if a property's data
    -270             * type changes depending on its value. The default implementation of this
    -271             * method returns the property's default data type.
    -272             * </p>
    -273             * @param property the property
    -274             * @return the data type or null if unknown
    -275             */
    -276            protected ICalDataType _dataType(T property) {
    -277                    return defaultDataType;
    -278            }
    -279    
    -280            /**
    -281             * Marshals a property's value to a string.
    -282             * @param property the property
    -283             * @return the marshalled value
    -284             * @throws SkipMeException if the property should not be written to the data
    -285             * stream
    -286             */
    -287            protected abstract String _writeText(T property);
    -288    
    -289            /**
    -290             * <p>
    -291             * Marshals a property's value to an XML element (xCal).
    -292             * <p>
    -293             * <p>
    -294             * This method should be overridden by child classes that wish to support
    -295             * xCal. The default implementation of this method will append one child
    -296             * element to the property's XML element. The child element's name will be
    -297             * that of the property's data type (retrieved using the {@link #dataType}
    -298             * method), and the child element's text content will be set to the
    -299             * property's marshalled plain-text value (retrieved using the
    -300             * {@link #writeText} method).
    -301             * </p>
    -302             * @param property the property
    -303             * @param element the property's XML element
    -304             * @throws SkipMeException if the property should not be written to the data
    -305             * stream
    -306             */
    -307            protected void _writeXml(T property, XCalElement element) {
    -308                    String value = writeText(property);
    -309                    ICalDataType dataType = dataType(property);
    -310                    element.append(dataType, value);
    -311            }
    -312    
    -313            /**
    -314             * <p>
    -315             * Marshals a property's value to a JSON data stream (jCal).
    -316             * </p>
    -317             * <p>
    -318             * This method should be overridden by child classes that wish to support
    -319             * jCal. The default implementation of this method will create a jCard
    -320             * property that has a single JSON string value (generated by the
    -321             * {@link #writeText} method).
    -322             * </p>
    -323             * @param property the property
    -324             * @return the marshalled value
    -325             * @throws SkipMeException if the property should not be written to the data
    -326             * stream
    -327             */
    -328            protected JCalValue _writeJson(T property) {
    -329                    String value = writeText(property);
    -330                    return JCalValue.single(value);
    -331            }
    -332    
    -333            /**
    -334             * Unmarshals a property from a plain-text iCalendar data stream.
    -335             * @param value the value as read off the wire
    -336             * @param dataType the data type of the property value. The property's VALUE
    -337             * parameter is used to determine the data type. If the property has no
    -338             * VALUE parameter, then this parameter will be set to the property's
    -339             * default datatype. Note that the VALUE parameter is removed from the
    -340             * property's parameter list after it has been read.
    -341             * @param parameters the parsed parameters. These parameters will be
    -342             * assigned to the property object once this method returns. Therefore, do
    -343             * not assign any parameters to the property object itself whilst inside of
    -344             * this method, or else they will be overwritten.
    -345             * @param warnings allows the programmer to alert the user to any
    -346             * note-worthy (but non-critical) issues that occurred during the
    -347             * unmarshalling process
    -348             * @return the unmarshalled property object
    -349             * @throws CannotParseException if the marshaller could not parse the
    -350             * property's value
    -351             * @throws SkipMeException if the property should not be added to the final
    -352             * {@link ICalendar} object
    -353             */
    -354            protected abstract T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -355    
    -356            /**
    -357             * <p>
    -358             * Unmarshals a property from an XML document (xCal).
    -359             * </p>
    -360             * <p>
    -361             * This method should be overridden by child classes that wish to support
    -362             * xCal. The default implementation of this method will find the first child
    -363             * element with the xCal namespace. The element's name will be used as the
    -364             * property's data type and its text content will be passed into the
    -365             * {@link #_parseText} method. If no such child element is found, then the
    -366             * parent element's text content will be passed into {@link #_parseText} and
    -367             * the data type will be null.
    -368             * </p>
    -369             * @param element the property's XML element
    -370             * @param parameters the parsed parameters. These parameters will be
    -371             * assigned to the property object once this method returns. Therefore, do
    -372             * not assign any parameters to the property object itself whilst inside of
    -373             * this method, or else they will be overwritten.
    -374             * @param warnings allows the programmer to alert the user to any
    -375             * note-worthy (but non-critical) issues that occurred during the
    -376             * unmarshalling process
    -377             * @return the unmarshalled property object
    -378             * @throws CannotParseException if the marshaller could not parse the
    -379             * property's value
    -380             * @throws SkipMeException if the property should not be added to the final
    -381             * {@link ICalendar} object
    -382             */
    -383            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -384                    String value = null;
    -385                    ICalDataType dataType = null;
    -386                    Element rawElement = element.getElement();
    -387    
    -388                    //get the text content of the first child element with the xCard namespace
    -389                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -390                    for (Element child : children) {
    -391                            if (!XCAL_NS.equals(child.getNamespaceURI())) {
    -392                                    continue;
    -393                            }
    -394    
    -395                            dataType = ICalDataType.get(child.getLocalName());
    -396                            value = child.getTextContent();
    -397                            break;
    -398                    }
    -399    
    -400                    if (dataType == null) {
    -401                            //get the text content of the property element
    -402                            value = rawElement.getTextContent();
    -403                    }
    -404    
    -405                    value = escape(value);
    -406                    return _parseText(value, dataType, parameters, warnings);
    -407            }
    -408    
    -409            /**
    -410             * /**
    -411             * <p>
    -412             * Unmarshals a property from a JSON data stream (jCal).
    -413             * </p>
    -414             * <p>
    -415             * This method should be overridden by child classes that wish to support
    -416             * jCal. The default implementation of this method will convert the jCal
    -417             * property value to a string and pass it into the {@link #_parseText}
    -418             * method.
    -419             * </p>
    -420             * 
    -421             * <hr>
    -422             * 
    -423             * <p>
    -424             * The following paragraphs describe the way in which this method's default
    -425             * implementation converts a jCal value to a string:
    -426             * </p>
    -427             * <p>
    -428             * If the jCal value consists of a single, non-array, non-object value, then
    -429             * the value is converted to a string. Special characters (backslashes,
    -430             * commas, and semicolons) are escaped in order to simulate what the value
    -431             * might look like in a plain-text iCalendar object.<br>
    -432             * <code>["x-foo", {}, "text", "the;value"] --&gt; "the\;value"</code><br>
    -433             * <code>["x-foo", {}, "text", 2] --&gt; "2"</code>
    -434             * </p>
    -435             * <p>
    -436             * If the jCal value consists of multiple, non-array, non-object values,
    -437             * then all the values are appended together in a single string, separated
    -438             * by commas. Special characters (backslashes, commas, and semicolons) are
    -439             * escaped for each value in order to prevent commas from being treated as
    -440             * delimiters, and to simulate what the value might look like in a
    -441             * plain-text iCalendar object.<br>
    -442             * <code>["x-foo", {}, "text", "one", "two,three"] --&gt;
    -443             * "one,two\,three"</code>
    -444             * </p>
    -445             * <p>
    -446             * If the jCal value is a single array, then this array is treated as a
    -447             * "structured value", and converted its plain-text representation. Special
    -448             * characters (backslashes, commas, and semicolons) are escaped for each
    -449             * value in order to prevent commas and semicolons from being treated as
    -450             * delimiters.<br>
    -451             * <code>["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
    -452             * --&gt; "one;two,three;four\;five"</code>
    -453             * </p>
    -454             * <p>
    -455             * If the jCal value starts with a JSON object, then the object is converted
    -456             * to a format identical to the one used in the RRULE and EXRULE properties.
    -457             * Special characters (backslashes, commas, semicolons, and equal signs) are
    -458             * escaped for each value in order to preserve the syntax of the string
    -459             * value.<br>
    -460             * <code>["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --&gt; "ONE=1;TWO=2,2.5"</code>
    -461             * </p>
    -462             * <p>
    -463             * For all other cases, behavior is undefined.
    -464             * </p>
    -465             * @param value the property's JSON value
    -466             * @param dataType the data type
    -467             * @param parameters the parsed parameters. These parameters will be
    -468             * assigned to the property object once this method returns. Therefore, do
    -469             * not assign any parameters to the property object itself whilst inside of
    -470             * this method, or else they will be overwritten.
    -471             * @param warnings allows the programmer to alert the user to any
    -472             * note-worthy (but non-critical) issues that occurred during the
    -473             * unmarshalling process
    -474             * @return the unmarshalled property object
    -475             * @throws CannotParseException if the marshaller could not parse the
    -476             * property's value
    -477             * @throws SkipMeException if the property should not be added to the final
    -478             * {@link ICalendar} object
    -479             */
    -480            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -481                    return _parseText(jcalValueToString(value), dataType, parameters, warnings);
    -482            }
    -483    
    -484            private String jcalValueToString(JCalValue value) {
    -485                    if (value.getValues().size() > 1) {
    -486                            List<String> multi = value.asMulti();
    -487                            if (!multi.isEmpty()) {
    -488                                    return list(multi);
    -489                            }
    -490                    }
    -491    
    -492                    if (!value.getValues().isEmpty() && value.getValues().get(0).getArray() != null) {
    -493                            List<List<String>> structured = value.asStructured();
    -494                            if (!structured.isEmpty()) {
    -495                                    return structured(structured.toArray());
    -496                            }
    -497                    }
    -498    
    -499                    if (value.getValues().get(0).getObject() != null) {
    -500                            ListMultimap<String, String> object = value.asObject();
    -501                            if (!object.isEmpty()) {
    -502                                    return object(object.getMap());
    -503                            }
    -504                    }
    -505    
    -506                    return escape(value.asSingle());
    -507            }
    -508    
    -509            /**
    -510             * Unescapes all special characters that are escaped with a backslash, as
    -511             * well as escaped newlines.
    -512             * @param text the text to unescape
    -513             * @return the unescaped text
    -514             */
    -515            protected static String unescape(String text) {
    -516                    if (text == null) {
    -517                            return text;
    -518                    }
    -519    
    -520                    StringBuilder sb = null;
    -521                    boolean escaped = false;
    -522                    for (int i = 0; i < text.length(); i++) {
    -523                            char ch = text.charAt(i);
    -524    
    -525                            if (escaped) {
    -526                                    if (sb == null) {
    -527                                            sb = new StringBuilder(text.length());
    -528                                            sb.append(text.substring(0, i - 1));
    -529                                    }
    -530    
    -531                                    escaped = false;
    -532    
    -533                                    if (ch == 'n' || ch == 'N') {
    -534                                            //newlines appear as "\n" or "\N" (see RFC 5545 p.46)
    -535                                            sb.append(StringUtils.NEWLINE);
    -536                                            continue;
    -537                                    }
    -538    
    -539                                    sb.append(ch);
    -540                                    continue;
    -541                            }
    -542    
    -543                            if (ch == '\\') {
    -544                                    escaped = true;
    -545                                    continue;
    -546                            }
    -547    
    -548                            if (sb != null) {
    -549                                    sb.append(ch);
    -550                            }
    -551                    }
    -552                    return (sb == null) ? text : sb.toString();
    -553            }
    -554    
    -555            /**
    -556             * <p>
    -557             * Escapes all special characters within a iCalendar value. These characters
    -558             * are:
    -559             * </p>
    -560             * <ul>
    -561             * <li>backslashes ({@code \})</li>
    -562             * <li>commas ({@code ,})</li>
    -563             * <li>semi-colons ({@code ;})</li>
    -564             * </ul>
    -565             * <p>
    -566             * Newlines are not escaped by this method. They are escaped when the
    -567             * iCalendar object is serialized (in the {@link ICalRawWriter} class).
    -568             * </p>
    -569             * @param text the text to escape
    -570             * @return the escaped text
    -571             */
    -572            protected static String escape(String text) {
    -573                    if (text == null) {
    -574                            return text;
    -575                    }
    -576    
    -577                    String chars = "\\,;";
    -578                    StringBuilder sb = null;
    -579                    for (int i = 0; i < text.length(); i++) {
    -580                            char ch = text.charAt(i);
    -581                            if (chars.indexOf(ch) >= 0) {
    -582                                    if (sb == null) {
    -583                                            sb = new StringBuilder(text.length());
    -584                                            sb.append(text.substring(0, i));
    -585                                    }
    -586                                    sb.append('\\');
    -587                            }
    -588    
    -589                            if (sb != null) {
    -590                                    sb.append(ch);
    -591                            }
    -592                    }
    -593                    return (sb == null) ? text : sb.toString();
    -594            }
    -595    
    -596            /**
    -597             * Splits a string by a delimiter, taking escaped characters into account.
    -598             * @param string the string to split (e.g. "one,two,three")
    -599             * @param delimiter the delimiter (e.g. ",")
    -600             * @return the factory object
    -601             */
    -602            protected static Splitter split(String string, String delimiter) {
    -603                    return new Splitter(string, delimiter);
    -604            }
    -605    
    -606            /**
    -607             * Factory class for splitting strings.
    -608             */
    -609            protected static class Splitter {
    -610                    private String string;
    -611                    private String delimiter;
    -612                    private boolean removeEmpties = false;
    -613                    private boolean unescape = false;
    -614                    private int limit = -1;
    -615    
    -616                    /**
    -617                     * Creates a new splitter object.
    -618                     * @param string the string to split (e.g. "one,two,three")
    -619                     * @param delimiter the delimiter (e.g. ",")
    -620                     */
    -621                    public Splitter(String string, String delimiter) {
    -622                            this.string = string;
    -623                            this.delimiter = delimiter;
    -624                    }
    -625    
    -626                    /**
    -627                     * Sets whether to remove empty elements.
    -628                     * @param removeEmpties true to remove empty elements, false not to
    -629                     * (default is false)
    -630                     * @return this
    -631                     */
    -632                    public Splitter removeEmpties(boolean removeEmpties) {
    -633                            this.removeEmpties = removeEmpties;
    -634                            return this;
    -635                    }
    -636    
    -637                    /**
    -638                     * Sets whether to unescape each split string.
    -639                     * @param unescape true to unescape, false not to (default is false)
    -640                     * @return this
    -641                     */
    -642                    public Splitter unescape(boolean unescape) {
    -643                            this.unescape = unescape;
    -644                            return this;
    -645                    }
    -646    
    -647                    /**
    -648                     * Sets the max number of split strings it should parse.
    -649                     * @param limit the max number of split strings
    -650                     * @return this
    -651                     */
    -652                    public Splitter limit(int limit) {
    -653                            this.limit = limit;
    -654                            return this;
    -655                    }
    -656    
    -657                    /**
    -658                     * Performs the split operation.
    -659                     * @return the split string
    -660                     */
    -661                    public List<String> split() {
    -662                            //from: http://stackoverflow.com/q/820172">http://stackoverflow.com/q/820172
    -663                            String split[] = string.split("\\s*(?<!\\\\)" + Pattern.quote(delimiter) + "\\s*", limit);
    -664    
    -665                            List<String> list = new ArrayList<String>(split.length);
    -666                            for (String s : split) {
    -667                                    if (s.length() == 0 && removeEmpties) {
    -668                                            continue;
    -669                                    }
    -670    
    -671                                    if (unescape) {
    -672                                            s = ICalPropertyMarshaller.unescape(s);
    -673                                    }
    -674    
    -675                                    list.add(s);
    -676                            }
    -677                            return list;
    -678                    }
    -679            }
    -680    
    -681            /**
    -682             * Parses a comma-separated list of values.
    -683             * @param value the string to parse (e.g. "one,two,th\,ree")
    -684             * @return the parsed values
    -685             */
    -686            protected static List<String> list(String value) {
    -687                    if (value.length() == 0) {
    -688                            return new ArrayList<String>(0);
    -689                    }
    -690                    return split(value, ",").unescape(true).split();
    -691            }
    -692    
    -693            /**
    -694             * Writes a comma-separated list of values.
    -695             * @param values the values to write
    -696             * @return the list
    -697             */
    -698            protected static String list(Object... values) {
    -699                    return list(Arrays.asList(values));
    -700            }
    -701    
    -702            /**
    -703             * Writes a comma-separated list of values.
    -704             * @param values the values to write
    -705             * @return the list
    -706             */
    -707            protected static <T> String list(Collection<T> values) {
    -708                    return list(values, new ListCallback<T>() {
    -709                            public String asString(T value) {
    -710                                    return value.toString();
    -711                            }
    -712                    });
    -713            }
    -714    
    -715            /**
    -716             * Writes a comma-separated list of values.
    -717             * @param values the values to write
    -718             * @param callback callback function used for converting each value to a
    -719             * string
    -720             * @return the list
    -721             */
    -722            protected static <T> String list(Collection<T> values, final ListCallback<T> callback) {
    -723                    return join(values, ",", new JoinCallback<T>() {
    -724                            public void handle(StringBuilder sb, T value) {
    -725                                    if (value == null) {
    -726                                            return;
    -727                                    }
    -728    
    -729                                    String valueStr = callback.asString(value);
    -730                                    sb.append(escape(valueStr));
    -731                            }
    -732                    });
    -733            }
    -734    
    -735            /**
    -736             * Callback function used in conjunction with the
    -737             * {@link ICalPropertyMarshaller#list(Collection, ListCallback) list} method
    -738             * @param <T> the value class
    -739             */
    -740            protected static interface ListCallback<T> {
    -741                    /**
    -742                     * Converts a value to a string.
    -743                     * @param value the value (null values are not passed to this method, so
    -744                     * this parameter will never be null)
    -745                     * @return the string
    -746                     */
    -747                    String asString(T value);
    -748            }
    -749    
    -750            /**
    -751             * Parses a list of values that are delimited by semicolons. Unlike
    -752             * structured value components, semi-structured components cannot be
    -753             * multi-valued.
    -754             * @param value the string to parse (e.g. "one;two;three")
    -755             * @return the parsed values
    -756             */
    -757            protected static SemiStructuredIterator semistructured(String value) {
    -758                    return semistructured(value, -1);
    -759            }
    -760    
    -761            /**
    -762             * Parses a list of values that are delimited by semicolons. Unlike
    -763             * structured value components, semi-structured components cannot be
    -764             * multi-valued.
    -765             * @param value the string to parse (e.g. "one;two;three")
    -766             * @param limit the max number of components to parse
    -767             * @return the parsed values
    -768             */
    -769            protected static SemiStructuredIterator semistructured(String value, int limit) {
    -770                    List<String> split = split(value, ";").unescape(true).limit(limit).split();
    -771                    return new SemiStructuredIterator(split.iterator());
    -772            }
    -773    
    -774            /**
    -775             * Parses a structured value.
    -776             * @param value the string to parse (e.g. "one;two,three;four")
    -777             * @return the parsed values
    -778             */
    -779            protected static StructuredIterator structured(String value) {
    -780                    List<String> split = split(value, ";").split();
    -781                    List<List<String>> components = new ArrayList<List<String>>(split.size());
    -782                    for (String s : split) {
    -783                            components.add(list(s));
    -784                    }
    -785                    return new StructuredIterator(components.iterator());
    -786            }
    -787    
    -788            /**
    -789             * Provides an iterator for a jCard structured value.
    -790             * @param value the jCard value
    -791             * @return the parsed values
    -792             */
    -793            protected static StructuredIterator structured(JCalValue value) {
    -794                    return new StructuredIterator(value.asStructured().iterator());
    -795            }
    -796    
    -797            /**
    -798             * <p>
    -799             * Writes a structured value.
    -800             * </p>
    -801             * <p>
    -802             * This method accepts a list of {@link Object} instances.
    -803             * {@link Collection} objects will be treated as multi-valued components.
    -804             * Null objects will be treated as empty components. All other objects will
    -805             * have their {@code toString()} method invoked to generate the string
    -806             * value.
    -807             * </p>
    -808             * @param values the values to write
    -809             * @return the structured value string
    -810             */
    -811            protected static String structured(Object... values) {
    -812                    return join(Arrays.asList(values), ";", new JoinCallback<Object>() {
    -813                            public void handle(StringBuilder sb, Object value) {
    -814                                    if (value == null) {
    -815                                            return;
    -816                                    }
    -817    
    -818                                    if (value instanceof Collection) {
    -819                                            Collection<?> list = (Collection<?>) value;
    -820                                            sb.append(list(list));
    -821                                            return;
    -822                                    }
    -823    
    -824                                    sb.append(escape(value.toString()));
    -825                            }
    -826                    });
    -827            }
    -828    
    -829            /**
    -830             * Iterates over the fields in a structured value.
    -831             */
    -832            protected static class StructuredIterator {
    -833                    private final Iterator<List<String>> it;
    -834    
    -835                    /**
    -836                     * Constructs a new structured iterator.
    -837                     * @param it the iterator to wrap
    -838                     */
    -839                    public StructuredIterator(Iterator<List<String>> it) {
    -840                            this.it = it;
    -841                    }
    -842    
    -843                    /**
    -844                     * Gets the first value of the next component.
    -845                     * @return the first value, null if the value is an empty string, or
    -846                     * null if there are no more components
    -847                     */
    -848                    public String nextString() {
    -849                            if (!hasNext()) {
    -850                                    return null;
    -851                            }
    -852    
    -853                            List<String> list = it.next();
    -854                            if (list.isEmpty()) {
    -855                                    return null;
    -856                            }
    -857    
    -858                            String value = list.get(0);
    -859                            return (value.length() == 0) ? null : value;
    -860                    }
    -861    
    -862                    /**
    -863                     * Gets the next component.
    -864                     * @return the next component, an empty list if the component is empty,
    -865                     * or an empty list of there are no more components
    -866                     */
    -867                    public List<String> nextComponent() {
    -868                            if (!hasNext()) {
    -869                                    return new ArrayList<String>(0); //the lists should be mutable so they can be directly assigned to the property object's fields
    -870                            }
    -871    
    -872                            List<String> list = it.next();
    -873                            if (list.size() == 1 && list.get(0).length() == 0) {
    -874                                    return new ArrayList<String>(0);
    -875                            }
    -876    
    -877                            return list;
    -878                    }
    -879    
    -880                    /**
    -881                     * Determines if there are any elements left in the value.
    -882                     * @return true if there are elements left, false if not
    -883                     */
    -884                    public boolean hasNext() {
    -885                            return it.hasNext();
    -886                    }
    -887            }
    -888    
    -889            /**
    -890             * Iterates over the fields in a semi-structured value (a structured value
    -891             * whose components cannot be multi-valued).
    -892             */
    -893            protected static class SemiStructuredIterator {
    -894                    private final Iterator<String> it;
    -895    
    -896                    /**
    -897                     * Constructs a new structured iterator.
    -898                     * @param it the iterator to wrap
    -899                     */
    -900                    public SemiStructuredIterator(Iterator<String> it) {
    -901                            this.it = it;
    -902                    }
    -903    
    -904                    /**
    -905                     * Gets the next value.
    -906                     * @return the next value, null if the value is an empty string, or null
    -907                     * if there are no more values
    -908                     */
    -909                    public String next() {
    -910                            if (!hasNext()) {
    -911                                    return null;
    -912                            }
    -913    
    -914                            String value = it.next();
    -915                            return (value.length() == 0) ? null : value;
    -916                    }
    -917    
    -918                    /**
    -919                     * Determines if there are any elements left in the value.
    -920                     * @return true if there are elements left, false if not
    -921                     */
    -922                    public boolean hasNext() {
    -923                            return it.hasNext();
    -924                    }
    -925            }
    -926    
    -927            /**
    -928             * Writes an object property value to a string.
    -929             * @param value the value
    -930             * @return the string
    -931             */
    -932            protected static <T> String object(Map<String, List<T>> value) {
    -933                    return join(value, ";", new JoinMapCallback<String, List<T>>() {
    -934                            public void handle(StringBuilder sb, String key, List<T> value) {
    -935                                    sb.append(key.toUpperCase()).append('=').append(list(value));
    -936                            }
    -937                    });
    -938            }
    -939    
    -940            /**
    -941             * Parses an object property value.
    -942             * @param value the value to parse
    -943             * @return the parsed value
    -944             */
    -945            protected static ListMultimap<String, String> object(String value) {
    -946                    ListMultimap<String, String> map = new ListMultimap<String, String>();
    -947    
    -948                    for (String component : split(value, ";").unescape(false).removeEmpties(true).split()) {
    -949                            String[] split = component.split("=", 2);
    -950    
    -951                            String name = unescape(split[0].toUpperCase());
    -952                            List<String> values = (split.length > 1) ? list(split[1]) : Arrays.asList("");
    -953    
    -954                            map.putAll(name, values);
    -955                    }
    -956    
    -957                    return map;
    -958            }
    -959    
    -960            /**
    -961             * Parses a date string.
    -962             * @param value the date string
    -963             * @return the factory object
    -964             */
    -965            protected static DateParser date(String value) {
    -966                    return new DateParser(value);
    -967            }
    -968    
    -969            /**
    -970             * Formats a {@link Date} object as a string.
    -971             * @param date the date
    -972             * @return the factory object
    -973             */
    -974            protected static DateWriter date(Date date) {
    -975                    return new DateWriter(date);
    -976            }
    -977    
    -978            /**
    -979             * Factory class for parsing dates.
    -980             */
    -981            protected static class DateParser {
    -982                    private String value;
    -983                    private TimeZone timezone;
    -984    
    -985                    /**
    -986                     * Creates a new date writer object.
    -987                     * @param value the date string to parse
    -988                     */
    -989                    public DateParser(String value) {
    -990                            this.value = value;
    -991                    }
    -992    
    -993                    /**
    -994                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -995                     * value). If the ID does not contain a "/" character, it will be
    -996                     * ignored.
    -997                     * @param timezoneId the timezone ID
    -998                     * @return this
    -999                     */
    -1000                    public DateParser tzid(String timezoneId) {
    -1001                            return tzid(timezoneId, null);
    -1002                    }
    -1003    
    -1004                    /**
    -1005                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -1006                     * value).
    -1007                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1008                     * "/" character), it will attempt to look up the timezone in Java's
    -1009                     * timezone registry and parse the date according to that timezone. If
    -1010                     * the timezone is not found, the date will be parsed according to the
    -1011                     * JVM's default timezone and a warning message will be added to the
    -1012                     * provided warnings list. If the ID is not global, it will be parsed
    -1013                     * according to the JVM's default timezone. Whichever timezone is chosen
    -1014                     * here, it will be ignored if the date string is in UTC time or
    -1015                     * contains an offset.
    -1016                     * @param warnings if the ID is global and is not recognized, a warning
    -1017                     * message will be added to this list
    -1018                     * @return this
    -1019                     */
    -1020                    public DateParser tzid(String timezoneId, List<String> warnings) {
    -1021                            if (timezoneId == null) {
    -1022                                    return tz(null);
    -1023                            }
    -1024    
    -1025                            if (timezoneId.contains("/")) {
    -1026                                    TimeZone timezone = ICalDateFormatter.parseTimeZoneId(timezoneId);
    -1027                                    if (timezone == null) {
    -1028                                            timezone = TimeZone.getDefault();
    -1029                                            if (warnings != null) {
    -1030                                                    warnings.add("Timezone ID not recognized, parsing with default timezone instead: " + timezoneId);
    -1031                                            }
    -1032                                    }
    -1033                                    return tz(timezone);
    -1034                            }
    -1035    
    -1036                            //TODO parse according to the associated VTIMEZONE component
    -1037                            return tz(TimeZone.getDefault());
    -1038                    }
    -1039    
    -1040                    /**
    -1041                     * Sets the timezone to parse the date as.
    -1042                     * @param timezone the timezone
    -1043                     * @return this
    -1044                     */
    -1045                    public DateParser tz(TimeZone timezone) {
    -1046                            this.timezone = timezone;
    -1047                            return this;
    -1048                    }
    -1049    
    -1050                    /**
    -1051                     * Parses the date string.
    -1052                     * @return the parsed date
    -1053                     * @throws IllegalArgumentException if the date string is invalid
    -1054                     */
    -1055                    public Date parse() {
    -1056                            return ICalDateFormatter.parse(value, timezone);
    -1057                    }
    -1058            }
    -1059    
    -1060            /**
    -1061             * Factory class for writing dates.
    -1062             */
    -1063            protected static class DateWriter {
    -1064                    private Date date;
    -1065                    private boolean hasTime = true;
    -1066                    private TimeZone timezone;
    -1067                    private boolean extended = false;
    -1068    
    -1069                    /**
    -1070                     * Creates a new date writer object.
    -1071                     * @param date the date to format
    -1072                     */
    -1073                    public DateWriter(Date date) {
    -1074                            this.date = date;
    -1075                    }
    -1076    
    -1077                    /**
    -1078                     * Sets whether to output the date's time component.
    -1079                     * @param hasTime true include the time, false if it's strictly a date
    -1080                     * (defaults to "true")
    -1081                     * @return this
    -1082                     */
    -1083                    public DateWriter time(boolean hasTime) {
    -1084                            this.hasTime = hasTime;
    -1085                            return this;
    -1086                    }
    -1087    
    -1088                    /**
    -1089                     * Sets the ID of the timezone to format the date as (TZID parameter
    -1090                     * value).
    -1091                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1092                     * "/" character), it will attempt to look up the timezone in Java's
    -1093                     * timezone registry and format the date according to that timezone. If
    -1094                     * the timezone is not found, the date will be formatted in UTC. If the
    -1095                     * ID is not global, it will be formatted according to the JVM's default
    -1096                     * timezone. If no timezone preference is specified, the date will be
    -1097                     * formatted as UTC.
    -1098                     * @return this
    -1099                     */
    -1100                    public DateWriter tzid(String timezoneId) {
    -1101                            if (timezoneId == null) {
    -1102                                    return tz(null);
    -1103                            }
    -1104    
    -1105                            if (timezoneId.contains("/")) {
    -1106                                    return tz(ICalDateFormatter.parseTimeZoneId(timezoneId));
    -1107                            }
    -1108    
    -1109                            //TODO format according to the associated VTIMEZONE component
    -1110                            return tz(TimeZone.getDefault());
    -1111                    }
    -1112    
    -1113                    /**
    -1114                     * Outputs the date in local time (without a timezone). If no timezone
    -1115                     * preference is specified, the date will be formatted as UTC.
    -1116                     * @param localTz true to use local time, false not to
    -1117                     * @return this
    -1118                     */
    -1119                    public DateWriter localTz(boolean localTz) {
    -1120                            return localTz ? tz(TimeZone.getDefault()) : this;
    -1121                    }
    -1122    
    -1123                    /**
    -1124                     * Convenience method that combines {@link #localTz(boolean)} and
    -1125                     * {@link #tzid(String)} into one method.
    -1126                     * @param localTz true to use local time, false not to
    -1127                     * @param timezoneId the timezone ID
    -1128                     * @return this
    -1129                     */
    -1130                    public DateWriter tz(boolean localTz, String timezoneId) {
    -1131                            return localTz ? localTz(true) : tzid(timezoneId);
    -1132                    }
    -1133    
    -1134                    /**
    -1135                     * Sets the timezone to format the date as. If no timezone preference is
    -1136                     * specified, the date will be formatted as UTC.
    -1137                     * @param timezone the timezone
    -1138                     * @return this
    -1139                     */
    -1140                    public DateWriter tz(TimeZone timezone) {
    -1141                            this.timezone = timezone;
    -1142                            return this;
    -1143                    }
    -1144    
    -1145                    /**
    -1146                     * Sets whether to use extended format or basic.
    -1147                     * @param extended true to use extended format, false to use basic
    -1148                     * (defaults to "false")
    -1149                     * @return this
    -1150                     */
    -1151                    public DateWriter extended(boolean extended) {
    -1152                            this.extended = extended;
    -1153                            return this;
    -1154                    }
    -1155    
    -1156                    /**
    -1157                     * Creates the date string.
    -1158                     * @return the date string
    -1159                     */
    -1160                    public String write() {
    -1161                            ISOFormat format;
    -1162                            TimeZone timezone = this.timezone;
    -1163                            if (hasTime) {
    -1164                                    if (timezone == null) {
    -1165                                            format = extended ? ISOFormat.UTC_TIME_EXTENDED : ISOFormat.UTC_TIME_BASIC;
    -1166                                    } else {
    -1167                                            format = extended ? ISOFormat.TIME_EXTENDED_WITHOUT_TZ : ISOFormat.TIME_BASIC_WITHOUT_TZ;
    -1168                                    }
    -1169                            } else {
    -1170                                    format = extended ? ISOFormat.DATE_EXTENDED : ISOFormat.DATE_BASIC;
    -1171                                    timezone = null;
    -1172                            }
    -1173    
    -1174                            return ICalDateFormatter.format(date, format, timezone);
    -1175                    }
    -1176            }
    -1177    
    -1178            /**
    -1179             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1180             * that the parser expected to find are missing from the property's XML
    -1181             * element.
    -1182             * @param dataTypes the expected data types (null for "unknown")
    -1183             */
    -1184            protected static CannotParseException missingXmlElements(ICalDataType... dataTypes) {
    -1185                    String[] elements = new String[dataTypes.length];
    -1186                    for (int i = 0; i < dataTypes.length; i++) {
    -1187                            ICalDataType dataType = dataTypes[i];
    -1188                            elements[i] = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -1189                    }
    -1190                    return missingXmlElements(elements);
    -1191            }
    -1192    
    -1193            /**
    -1194             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1195             * that the parser expected to find are missing from property's XML element.
    -1196             * @param elements the names of the expected XML elements.
    -1197             */
    -1198            protected static CannotParseException missingXmlElements(String... elements) {
    -1199                    String message;
    -1200    
    -1201                    switch (elements.length) {
    -1202                    case 0:
    -1203                            message = "Property value empty.";
    -1204                            break;
    -1205                    case 1:
    -1206                            message = "Property value empty (no <" + elements[0] + "> element found).";
    -1207                            break;
    -1208                    case 2:
    -1209                            message = "Property value empty (no <" + elements[0] + "> or <" + elements[1] + "> elements found).";
    -1210                            break;
    -1211                    default:
    -1212                            StringBuilder sb = new StringBuilder();
    -1213    
    -1214                            sb.append("Property value empty (no ");
    -1215                            join(Arrays.asList(elements).subList(0, elements.length - 1), ", ", sb, new JoinCallback<String>() {
    -1216                                    public void handle(StringBuilder sb, String value) {
    -1217                                            sb.append('<').append(value).append('>');
    -1218                                    }
    -1219                            });
    -1220                            sb.append(", or <").append(elements[elements.length - 1]).append("> elements found).");
    -1221    
    -1222                            message = sb.toString();
    -1223                            break;
    -1224                    }
    -1225    
    -1226                    return new CannotParseException(message);
    -1227            }
    -1228    
    -1229            /**
    -1230             * Represents the result of an unmarshal operation.
    -1231             * @author Michael Angstadt
    -1232             * @param <T> the unmarshalled property class
    -1233             */
    -1234            public static class Result<T extends ICalProperty> {
    -1235                    private final T property;
    -1236                    private final List<String> warnings;
    -1237    
    -1238                    /**
    -1239                     * Creates a new result.
    -1240                     * @param property the property object
    -1241                     * @param warnings the warnings
    -1242                     */
    -1243                    public Result(T property, List<String> warnings) {
    -1244                            this.property = property;
    -1245                            this.warnings = warnings;
    -1246                    }
    -1247    
    -1248                    /**
    -1249                     * Gets the warnings.
    -1250                     * @return the warnings
    -1251                     */
    -1252                    public List<String> getWarnings() {
    -1253                            return warnings;
    -1254                    }
    -1255    
    -1256                    /**
    -1257                     * Gets the property object.
    -1258                     * @return the property object
    -1259                     */
    -1260                    public T getProperty() {
    -1261                            return property;
    -1262                    }
    -1263            }
    -1264    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.ListCallback.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.ListCallback.html deleted file mode 100644 index 40770513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.ListCallback.html +++ /dev/null @@ -1,1330 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.StringUtils.join;
    -005    
    -006    import java.util.ArrayList;
    -007    import java.util.Arrays;
    -008    import java.util.Collection;
    -009    import java.util.Date;
    -010    import java.util.Iterator;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    import java.util.TimeZone;
    -014    import java.util.regex.Pattern;
    -015    
    -016    import javax.xml.namespace.QName;
    -017    
    -018    import org.w3c.dom.Element;
    -019    
    -020    import biweekly.ICalDataType;
    -021    import biweekly.ICalendar;
    -022    import biweekly.io.CannotParseException;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.io.json.JCalValue;
    -025    import biweekly.io.text.ICalRawWriter;
    -026    import biweekly.io.xml.XCalElement;
    -027    import biweekly.parameter.ICalParameters;
    -028    import biweekly.property.ICalProperty;
    -029    import biweekly.util.ICalDateFormatter;
    -030    import biweekly.util.ISOFormat;
    -031    import biweekly.util.ListMultimap;
    -032    import biweekly.util.StringUtils;
    -033    import biweekly.util.StringUtils.JoinCallback;
    -034    import biweekly.util.StringUtils.JoinMapCallback;
    -035    import biweekly.util.XmlUtils;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * Base class for iCalendar property marshallers.
    -064     * @param <T> the property class
    -065     * @author Michael Angstadt
    -066     */
    -067    public abstract class ICalPropertyMarshaller<T extends ICalProperty> {
    -068            protected final Class<T> clazz;
    -069            protected final String propertyName;
    -070            protected final ICalDataType defaultDataType;
    -071            protected final QName qname;
    -072    
    -073            /**
    -074             * Creates a new marshaller.
    -075             * @param clazz the property class
    -076             * @param propertyName the property name (e.g. "VERSION")
    -077             * @param defaultDataType the property's default data type (e.g. "text") or
    -078             * null if unknown
    -079             */
    -080            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType) {
    -081                    this(clazz, propertyName, defaultDataType, new QName(XCAL_NS, propertyName.toLowerCase()));
    -082            }
    -083    
    -084            /**
    -085             * Creates a new marshaller.
    -086             * @param clazz the property class
    -087             * @param propertyName the property name (e.g. "VERSION")
    -088             * @param defaultDataType the property's default data type (e.g. "text") or
    -089             * null if unknown
    -090             * @param qname the XML element name and namespace to use for xCal documents
    -091             * (by default, the XML element name is set to the lower-cased property
    -092             * name, and the element namespace is set to the xCal namespace)
    -093             */
    -094            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType, QName qname) {
    -095                    this.clazz = clazz;
    -096                    this.propertyName = propertyName;
    -097                    this.defaultDataType = defaultDataType;
    -098                    this.qname = qname;
    -099            }
    -100    
    -101            /**
    -102             * Gets the property class.
    -103             * @return the property class
    -104             */
    -105            public Class<T> getPropertyClass() {
    -106                    return clazz;
    -107            }
    -108    
    -109            /**
    -110             * Gets the property name.
    -111             * @return the property name (e.g. "VERSION")
    -112             */
    -113            public String getPropertyName() {
    -114                    return propertyName;
    -115            }
    -116    
    -117            /**
    -118             * Gets the property's default data type.
    -119             * @return the default data type (e.g. "text") or null if unknown
    -120             */
    -121            public ICalDataType getDefaultDataType() {
    -122                    return defaultDataType;
    -123            }
    -124    
    -125            /**
    -126             * Gets this property's local name and namespace for xCal documents.
    -127             * @return the XML local name and namespace
    -128             */
    -129            public QName getQName() {
    -130                    return qname;
    -131            }
    -132    
    -133            /**
    -134             * Sanitizes a property's parameters (called before the property is
    -135             * written). Note that a copy of the parameters is returned so that the
    -136             * property object does not get modified.
    -137             * @param property the property
    -138             * @return the sanitized parameters
    -139             */
    -140            public final ICalParameters prepareParameters(T property) {
    -141                    //make a copy because the property should not get modified when it is marshalled
    -142                    ICalParameters copy = new ICalParameters(property.getParameters());
    -143                    _prepareParameters(property, copy);
    -144                    return copy;
    -145            }
    -146    
    -147            /**
    -148             * Determines the data type of a property instance.
    -149             * @param property the property
    -150             * @return the data type or null if unknown
    -151             */
    -152            public final ICalDataType dataType(T property) {
    -153                    return _dataType(property);
    -154            }
    -155    
    -156            /**
    -157             * Marshals a property's value to a string.
    -158             * @param property the property
    -159             * @return the marshalled value
    -160             * @throws SkipMeException if the property should not be written to the data
    -161             * stream
    -162             */
    -163            public final String writeText(T property) {
    -164                    return _writeText(property);
    -165            }
    -166    
    -167            /**
    -168             * Marshals a property's value to an XML element (xCal).
    -169             * @param property the property
    -170             * @param element the property's XML element
    -171             * @throws SkipMeException if the property should not be written to the data
    -172             * stream
    -173             */
    -174            public final void writeXml(T property, Element element) {
    -175                    XCalElement xcalElement = new XCalElement(element);
    -176                    _writeXml(property, xcalElement);
    -177            }
    -178    
    -179            /**
    -180             * Marshals a property's value to a JSON data stream (jCal).
    -181             * @param property the property
    -182             * @return the marshalled value
    -183             * @throws SkipMeException if the property should not be written to the data
    -184             * stream
    -185             */
    -186            public final JCalValue writeJson(T property) {
    -187                    return _writeJson(property);
    -188            }
    -189    
    -190            /**
    -191             * Unmarshals a property from a plain-text iCalendar data stream.
    -192             * @param value the value as read off the wire
    -193             * @param dataType the data type of the property value. The property's VALUE
    -194             * parameter is used to determine the data type. If the property has no
    -195             * VALUE parameter, then this parameter will be set to the property's
    -196             * default datatype. Note that the VALUE parameter is removed from the
    -197             * property's parameter list after it has been read.
    -198             * @param parameters the parsed parameters
    -199             * @return the unmarshalled property and its warnings
    -200             * @throws CannotParseException if the marshaller could not parse the
    -201             * property's value
    -202             * @throws SkipMeException if the property should not be added to the final
    -203             * {@link ICalendar} object
    -204             */
    -205            public final Result<T> parseText(String value, ICalDataType dataType, ICalParameters parameters) {
    -206                    List<String> warnings = new ArrayList<String>(0);
    -207                    T property = _parseText(value, dataType, parameters, warnings);
    -208                    property.setParameters(parameters);
    -209                    return new Result<T>(property, warnings);
    -210            }
    -211    
    -212            /**
    -213             * Unmarshals a property's value from an XML document (xCal).
    -214             * @param element the property's XML element
    -215             * @param parameters the property's parameters
    -216             * @return the unmarshalled property and its warnings
    -217             * @throws CannotParseException if the marshaller could not parse the
    -218             * property's value
    -219             * @throws SkipMeException if the property should not be added to the final
    -220             * {@link ICalendar} object
    -221             */
    -222            public final Result<T> parseXml(Element element, ICalParameters parameters) {
    -223                    List<String> warnings = new ArrayList<String>(0);
    -224                    T property = _parseXml(new XCalElement(element), parameters, warnings);
    -225                    property.setParameters(parameters);
    -226                    return new Result<T>(property, warnings);
    -227            }
    -228    
    -229            /**
    -230             * Unmarshals a property's value from a JSON data stream (jCal).
    -231             * @param value the property's JSON value
    -232             * @param dataType the data type
    -233             * @param parameters the parsed parameters
    -234             * @return the unmarshalled property and its warnings
    -235             * @throws CannotParseException if the marshaller could not parse the
    -236             * property's value
    -237             * @throws SkipMeException if the property should not be added to the final
    -238             * {@link ICalendar} object
    -239             */
    -240            public final Result<T> parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters) {
    -241                    List<String> warnings = new ArrayList<String>(0);
    -242                    T property = _parseJson(value, dataType, parameters, warnings);
    -243                    property.setParameters(parameters);
    -244                    return new Result<T>(property, warnings);
    -245            }
    -246    
    -247            /**
    -248             * <p>
    -249             * Sanitizes a property's parameters before the property is written.
    -250             * </p>
    -251             * <p>
    -252             * This method should be overridden by child classes that wish to tweak the
    -253             * property's parameters before the property is written. The default
    -254             * implementation of this method does nothing.
    -255             * </p>
    -256             * @param property the property
    -257             * @param copy the list of parameters to make modifications to (it is a copy
    -258             * of the property's parameters)
    -259             */
    -260            protected void _prepareParameters(T property, ICalParameters copy) {
    -261                    //do nothing
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Determines the data type of a property instance.
    -267             * </p>
    -268             * <p>
    -269             * This method should be overridden by child classes if a property's data
    -270             * type changes depending on its value. The default implementation of this
    -271             * method returns the property's default data type.
    -272             * </p>
    -273             * @param property the property
    -274             * @return the data type or null if unknown
    -275             */
    -276            protected ICalDataType _dataType(T property) {
    -277                    return defaultDataType;
    -278            }
    -279    
    -280            /**
    -281             * Marshals a property's value to a string.
    -282             * @param property the property
    -283             * @return the marshalled value
    -284             * @throws SkipMeException if the property should not be written to the data
    -285             * stream
    -286             */
    -287            protected abstract String _writeText(T property);
    -288    
    -289            /**
    -290             * <p>
    -291             * Marshals a property's value to an XML element (xCal).
    -292             * <p>
    -293             * <p>
    -294             * This method should be overridden by child classes that wish to support
    -295             * xCal. The default implementation of this method will append one child
    -296             * element to the property's XML element. The child element's name will be
    -297             * that of the property's data type (retrieved using the {@link #dataType}
    -298             * method), and the child element's text content will be set to the
    -299             * property's marshalled plain-text value (retrieved using the
    -300             * {@link #writeText} method).
    -301             * </p>
    -302             * @param property the property
    -303             * @param element the property's XML element
    -304             * @throws SkipMeException if the property should not be written to the data
    -305             * stream
    -306             */
    -307            protected void _writeXml(T property, XCalElement element) {
    -308                    String value = writeText(property);
    -309                    ICalDataType dataType = dataType(property);
    -310                    element.append(dataType, value);
    -311            }
    -312    
    -313            /**
    -314             * <p>
    -315             * Marshals a property's value to a JSON data stream (jCal).
    -316             * </p>
    -317             * <p>
    -318             * This method should be overridden by child classes that wish to support
    -319             * jCal. The default implementation of this method will create a jCard
    -320             * property that has a single JSON string value (generated by the
    -321             * {@link #writeText} method).
    -322             * </p>
    -323             * @param property the property
    -324             * @return the marshalled value
    -325             * @throws SkipMeException if the property should not be written to the data
    -326             * stream
    -327             */
    -328            protected JCalValue _writeJson(T property) {
    -329                    String value = writeText(property);
    -330                    return JCalValue.single(value);
    -331            }
    -332    
    -333            /**
    -334             * Unmarshals a property from a plain-text iCalendar data stream.
    -335             * @param value the value as read off the wire
    -336             * @param dataType the data type of the property value. The property's VALUE
    -337             * parameter is used to determine the data type. If the property has no
    -338             * VALUE parameter, then this parameter will be set to the property's
    -339             * default datatype. Note that the VALUE parameter is removed from the
    -340             * property's parameter list after it has been read.
    -341             * @param parameters the parsed parameters. These parameters will be
    -342             * assigned to the property object once this method returns. Therefore, do
    -343             * not assign any parameters to the property object itself whilst inside of
    -344             * this method, or else they will be overwritten.
    -345             * @param warnings allows the programmer to alert the user to any
    -346             * note-worthy (but non-critical) issues that occurred during the
    -347             * unmarshalling process
    -348             * @return the unmarshalled property object
    -349             * @throws CannotParseException if the marshaller could not parse the
    -350             * property's value
    -351             * @throws SkipMeException if the property should not be added to the final
    -352             * {@link ICalendar} object
    -353             */
    -354            protected abstract T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -355    
    -356            /**
    -357             * <p>
    -358             * Unmarshals a property from an XML document (xCal).
    -359             * </p>
    -360             * <p>
    -361             * This method should be overridden by child classes that wish to support
    -362             * xCal. The default implementation of this method will find the first child
    -363             * element with the xCal namespace. The element's name will be used as the
    -364             * property's data type and its text content will be passed into the
    -365             * {@link #_parseText} method. If no such child element is found, then the
    -366             * parent element's text content will be passed into {@link #_parseText} and
    -367             * the data type will be null.
    -368             * </p>
    -369             * @param element the property's XML element
    -370             * @param parameters the parsed parameters. These parameters will be
    -371             * assigned to the property object once this method returns. Therefore, do
    -372             * not assign any parameters to the property object itself whilst inside of
    -373             * this method, or else they will be overwritten.
    -374             * @param warnings allows the programmer to alert the user to any
    -375             * note-worthy (but non-critical) issues that occurred during the
    -376             * unmarshalling process
    -377             * @return the unmarshalled property object
    -378             * @throws CannotParseException if the marshaller could not parse the
    -379             * property's value
    -380             * @throws SkipMeException if the property should not be added to the final
    -381             * {@link ICalendar} object
    -382             */
    -383            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -384                    String value = null;
    -385                    ICalDataType dataType = null;
    -386                    Element rawElement = element.getElement();
    -387    
    -388                    //get the text content of the first child element with the xCard namespace
    -389                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -390                    for (Element child : children) {
    -391                            if (!XCAL_NS.equals(child.getNamespaceURI())) {
    -392                                    continue;
    -393                            }
    -394    
    -395                            dataType = ICalDataType.get(child.getLocalName());
    -396                            value = child.getTextContent();
    -397                            break;
    -398                    }
    -399    
    -400                    if (dataType == null) {
    -401                            //get the text content of the property element
    -402                            value = rawElement.getTextContent();
    -403                    }
    -404    
    -405                    value = escape(value);
    -406                    return _parseText(value, dataType, parameters, warnings);
    -407            }
    -408    
    -409            /**
    -410             * /**
    -411             * <p>
    -412             * Unmarshals a property from a JSON data stream (jCal).
    -413             * </p>
    -414             * <p>
    -415             * This method should be overridden by child classes that wish to support
    -416             * jCal. The default implementation of this method will convert the jCal
    -417             * property value to a string and pass it into the {@link #_parseText}
    -418             * method.
    -419             * </p>
    -420             * 
    -421             * <hr>
    -422             * 
    -423             * <p>
    -424             * The following paragraphs describe the way in which this method's default
    -425             * implementation converts a jCal value to a string:
    -426             * </p>
    -427             * <p>
    -428             * If the jCal value consists of a single, non-array, non-object value, then
    -429             * the value is converted to a string. Special characters (backslashes,
    -430             * commas, and semicolons) are escaped in order to simulate what the value
    -431             * might look like in a plain-text iCalendar object.<br>
    -432             * <code>["x-foo", {}, "text", "the;value"] --&gt; "the\;value"</code><br>
    -433             * <code>["x-foo", {}, "text", 2] --&gt; "2"</code>
    -434             * </p>
    -435             * <p>
    -436             * If the jCal value consists of multiple, non-array, non-object values,
    -437             * then all the values are appended together in a single string, separated
    -438             * by commas. Special characters (backslashes, commas, and semicolons) are
    -439             * escaped for each value in order to prevent commas from being treated as
    -440             * delimiters, and to simulate what the value might look like in a
    -441             * plain-text iCalendar object.<br>
    -442             * <code>["x-foo", {}, "text", "one", "two,three"] --&gt;
    -443             * "one,two\,three"</code>
    -444             * </p>
    -445             * <p>
    -446             * If the jCal value is a single array, then this array is treated as a
    -447             * "structured value", and converted its plain-text representation. Special
    -448             * characters (backslashes, commas, and semicolons) are escaped for each
    -449             * value in order to prevent commas and semicolons from being treated as
    -450             * delimiters.<br>
    -451             * <code>["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
    -452             * --&gt; "one;two,three;four\;five"</code>
    -453             * </p>
    -454             * <p>
    -455             * If the jCal value starts with a JSON object, then the object is converted
    -456             * to a format identical to the one used in the RRULE and EXRULE properties.
    -457             * Special characters (backslashes, commas, semicolons, and equal signs) are
    -458             * escaped for each value in order to preserve the syntax of the string
    -459             * value.<br>
    -460             * <code>["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --&gt; "ONE=1;TWO=2,2.5"</code>
    -461             * </p>
    -462             * <p>
    -463             * For all other cases, behavior is undefined.
    -464             * </p>
    -465             * @param value the property's JSON value
    -466             * @param dataType the data type
    -467             * @param parameters the parsed parameters. These parameters will be
    -468             * assigned to the property object once this method returns. Therefore, do
    -469             * not assign any parameters to the property object itself whilst inside of
    -470             * this method, or else they will be overwritten.
    -471             * @param warnings allows the programmer to alert the user to any
    -472             * note-worthy (but non-critical) issues that occurred during the
    -473             * unmarshalling process
    -474             * @return the unmarshalled property object
    -475             * @throws CannotParseException if the marshaller could not parse the
    -476             * property's value
    -477             * @throws SkipMeException if the property should not be added to the final
    -478             * {@link ICalendar} object
    -479             */
    -480            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -481                    return _parseText(jcalValueToString(value), dataType, parameters, warnings);
    -482            }
    -483    
    -484            private String jcalValueToString(JCalValue value) {
    -485                    if (value.getValues().size() > 1) {
    -486                            List<String> multi = value.asMulti();
    -487                            if (!multi.isEmpty()) {
    -488                                    return list(multi);
    -489                            }
    -490                    }
    -491    
    -492                    if (!value.getValues().isEmpty() && value.getValues().get(0).getArray() != null) {
    -493                            List<List<String>> structured = value.asStructured();
    -494                            if (!structured.isEmpty()) {
    -495                                    return structured(structured.toArray());
    -496                            }
    -497                    }
    -498    
    -499                    if (value.getValues().get(0).getObject() != null) {
    -500                            ListMultimap<String, String> object = value.asObject();
    -501                            if (!object.isEmpty()) {
    -502                                    return object(object.getMap());
    -503                            }
    -504                    }
    -505    
    -506                    return escape(value.asSingle());
    -507            }
    -508    
    -509            /**
    -510             * Unescapes all special characters that are escaped with a backslash, as
    -511             * well as escaped newlines.
    -512             * @param text the text to unescape
    -513             * @return the unescaped text
    -514             */
    -515            protected static String unescape(String text) {
    -516                    if (text == null) {
    -517                            return text;
    -518                    }
    -519    
    -520                    StringBuilder sb = null;
    -521                    boolean escaped = false;
    -522                    for (int i = 0; i < text.length(); i++) {
    -523                            char ch = text.charAt(i);
    -524    
    -525                            if (escaped) {
    -526                                    if (sb == null) {
    -527                                            sb = new StringBuilder(text.length());
    -528                                            sb.append(text.substring(0, i - 1));
    -529                                    }
    -530    
    -531                                    escaped = false;
    -532    
    -533                                    if (ch == 'n' || ch == 'N') {
    -534                                            //newlines appear as "\n" or "\N" (see RFC 5545 p.46)
    -535                                            sb.append(StringUtils.NEWLINE);
    -536                                            continue;
    -537                                    }
    -538    
    -539                                    sb.append(ch);
    -540                                    continue;
    -541                            }
    -542    
    -543                            if (ch == '\\') {
    -544                                    escaped = true;
    -545                                    continue;
    -546                            }
    -547    
    -548                            if (sb != null) {
    -549                                    sb.append(ch);
    -550                            }
    -551                    }
    -552                    return (sb == null) ? text : sb.toString();
    -553            }
    -554    
    -555            /**
    -556             * <p>
    -557             * Escapes all special characters within a iCalendar value. These characters
    -558             * are:
    -559             * </p>
    -560             * <ul>
    -561             * <li>backslashes ({@code \})</li>
    -562             * <li>commas ({@code ,})</li>
    -563             * <li>semi-colons ({@code ;})</li>
    -564             * </ul>
    -565             * <p>
    -566             * Newlines are not escaped by this method. They are escaped when the
    -567             * iCalendar object is serialized (in the {@link ICalRawWriter} class).
    -568             * </p>
    -569             * @param text the text to escape
    -570             * @return the escaped text
    -571             */
    -572            protected static String escape(String text) {
    -573                    if (text == null) {
    -574                            return text;
    -575                    }
    -576    
    -577                    String chars = "\\,;";
    -578                    StringBuilder sb = null;
    -579                    for (int i = 0; i < text.length(); i++) {
    -580                            char ch = text.charAt(i);
    -581                            if (chars.indexOf(ch) >= 0) {
    -582                                    if (sb == null) {
    -583                                            sb = new StringBuilder(text.length());
    -584                                            sb.append(text.substring(0, i));
    -585                                    }
    -586                                    sb.append('\\');
    -587                            }
    -588    
    -589                            if (sb != null) {
    -590                                    sb.append(ch);
    -591                            }
    -592                    }
    -593                    return (sb == null) ? text : sb.toString();
    -594            }
    -595    
    -596            /**
    -597             * Splits a string by a delimiter, taking escaped characters into account.
    -598             * @param string the string to split (e.g. "one,two,three")
    -599             * @param delimiter the delimiter (e.g. ",")
    -600             * @return the factory object
    -601             */
    -602            protected static Splitter split(String string, String delimiter) {
    -603                    return new Splitter(string, delimiter);
    -604            }
    -605    
    -606            /**
    -607             * Factory class for splitting strings.
    -608             */
    -609            protected static class Splitter {
    -610                    private String string;
    -611                    private String delimiter;
    -612                    private boolean removeEmpties = false;
    -613                    private boolean unescape = false;
    -614                    private int limit = -1;
    -615    
    -616                    /**
    -617                     * Creates a new splitter object.
    -618                     * @param string the string to split (e.g. "one,two,three")
    -619                     * @param delimiter the delimiter (e.g. ",")
    -620                     */
    -621                    public Splitter(String string, String delimiter) {
    -622                            this.string = string;
    -623                            this.delimiter = delimiter;
    -624                    }
    -625    
    -626                    /**
    -627                     * Sets whether to remove empty elements.
    -628                     * @param removeEmpties true to remove empty elements, false not to
    -629                     * (default is false)
    -630                     * @return this
    -631                     */
    -632                    public Splitter removeEmpties(boolean removeEmpties) {
    -633                            this.removeEmpties = removeEmpties;
    -634                            return this;
    -635                    }
    -636    
    -637                    /**
    -638                     * Sets whether to unescape each split string.
    -639                     * @param unescape true to unescape, false not to (default is false)
    -640                     * @return this
    -641                     */
    -642                    public Splitter unescape(boolean unescape) {
    -643                            this.unescape = unescape;
    -644                            return this;
    -645                    }
    -646    
    -647                    /**
    -648                     * Sets the max number of split strings it should parse.
    -649                     * @param limit the max number of split strings
    -650                     * @return this
    -651                     */
    -652                    public Splitter limit(int limit) {
    -653                            this.limit = limit;
    -654                            return this;
    -655                    }
    -656    
    -657                    /**
    -658                     * Performs the split operation.
    -659                     * @return the split string
    -660                     */
    -661                    public List<String> split() {
    -662                            //from: http://stackoverflow.com/q/820172">http://stackoverflow.com/q/820172
    -663                            String split[] = string.split("\\s*(?<!\\\\)" + Pattern.quote(delimiter) + "\\s*", limit);
    -664    
    -665                            List<String> list = new ArrayList<String>(split.length);
    -666                            for (String s : split) {
    -667                                    if (s.length() == 0 && removeEmpties) {
    -668                                            continue;
    -669                                    }
    -670    
    -671                                    if (unescape) {
    -672                                            s = ICalPropertyMarshaller.unescape(s);
    -673                                    }
    -674    
    -675                                    list.add(s);
    -676                            }
    -677                            return list;
    -678                    }
    -679            }
    -680    
    -681            /**
    -682             * Parses a comma-separated list of values.
    -683             * @param value the string to parse (e.g. "one,two,th\,ree")
    -684             * @return the parsed values
    -685             */
    -686            protected static List<String> list(String value) {
    -687                    if (value.length() == 0) {
    -688                            return new ArrayList<String>(0);
    -689                    }
    -690                    return split(value, ",").unescape(true).split();
    -691            }
    -692    
    -693            /**
    -694             * Writes a comma-separated list of values.
    -695             * @param values the values to write
    -696             * @return the list
    -697             */
    -698            protected static String list(Object... values) {
    -699                    return list(Arrays.asList(values));
    -700            }
    -701    
    -702            /**
    -703             * Writes a comma-separated list of values.
    -704             * @param values the values to write
    -705             * @return the list
    -706             */
    -707            protected static <T> String list(Collection<T> values) {
    -708                    return list(values, new ListCallback<T>() {
    -709                            public String asString(T value) {
    -710                                    return value.toString();
    -711                            }
    -712                    });
    -713            }
    -714    
    -715            /**
    -716             * Writes a comma-separated list of values.
    -717             * @param values the values to write
    -718             * @param callback callback function used for converting each value to a
    -719             * string
    -720             * @return the list
    -721             */
    -722            protected static <T> String list(Collection<T> values, final ListCallback<T> callback) {
    -723                    return join(values, ",", new JoinCallback<T>() {
    -724                            public void handle(StringBuilder sb, T value) {
    -725                                    if (value == null) {
    -726                                            return;
    -727                                    }
    -728    
    -729                                    String valueStr = callback.asString(value);
    -730                                    sb.append(escape(valueStr));
    -731                            }
    -732                    });
    -733            }
    -734    
    -735            /**
    -736             * Callback function used in conjunction with the
    -737             * {@link ICalPropertyMarshaller#list(Collection, ListCallback) list} method
    -738             * @param <T> the value class
    -739             */
    -740            protected static interface ListCallback<T> {
    -741                    /**
    -742                     * Converts a value to a string.
    -743                     * @param value the value (null values are not passed to this method, so
    -744                     * this parameter will never be null)
    -745                     * @return the string
    -746                     */
    -747                    String asString(T value);
    -748            }
    -749    
    -750            /**
    -751             * Parses a list of values that are delimited by semicolons. Unlike
    -752             * structured value components, semi-structured components cannot be
    -753             * multi-valued.
    -754             * @param value the string to parse (e.g. "one;two;three")
    -755             * @return the parsed values
    -756             */
    -757            protected static SemiStructuredIterator semistructured(String value) {
    -758                    return semistructured(value, -1);
    -759            }
    -760    
    -761            /**
    -762             * Parses a list of values that are delimited by semicolons. Unlike
    -763             * structured value components, semi-structured components cannot be
    -764             * multi-valued.
    -765             * @param value the string to parse (e.g. "one;two;three")
    -766             * @param limit the max number of components to parse
    -767             * @return the parsed values
    -768             */
    -769            protected static SemiStructuredIterator semistructured(String value, int limit) {
    -770                    List<String> split = split(value, ";").unescape(true).limit(limit).split();
    -771                    return new SemiStructuredIterator(split.iterator());
    -772            }
    -773    
    -774            /**
    -775             * Parses a structured value.
    -776             * @param value the string to parse (e.g. "one;two,three;four")
    -777             * @return the parsed values
    -778             */
    -779            protected static StructuredIterator structured(String value) {
    -780                    List<String> split = split(value, ";").split();
    -781                    List<List<String>> components = new ArrayList<List<String>>(split.size());
    -782                    for (String s : split) {
    -783                            components.add(list(s));
    -784                    }
    -785                    return new StructuredIterator(components.iterator());
    -786            }
    -787    
    -788            /**
    -789             * Provides an iterator for a jCard structured value.
    -790             * @param value the jCard value
    -791             * @return the parsed values
    -792             */
    -793            protected static StructuredIterator structured(JCalValue value) {
    -794                    return new StructuredIterator(value.asStructured().iterator());
    -795            }
    -796    
    -797            /**
    -798             * <p>
    -799             * Writes a structured value.
    -800             * </p>
    -801             * <p>
    -802             * This method accepts a list of {@link Object} instances.
    -803             * {@link Collection} objects will be treated as multi-valued components.
    -804             * Null objects will be treated as empty components. All other objects will
    -805             * have their {@code toString()} method invoked to generate the string
    -806             * value.
    -807             * </p>
    -808             * @param values the values to write
    -809             * @return the structured value string
    -810             */
    -811            protected static String structured(Object... values) {
    -812                    return join(Arrays.asList(values), ";", new JoinCallback<Object>() {
    -813                            public void handle(StringBuilder sb, Object value) {
    -814                                    if (value == null) {
    -815                                            return;
    -816                                    }
    -817    
    -818                                    if (value instanceof Collection) {
    -819                                            Collection<?> list = (Collection<?>) value;
    -820                                            sb.append(list(list));
    -821                                            return;
    -822                                    }
    -823    
    -824                                    sb.append(escape(value.toString()));
    -825                            }
    -826                    });
    -827            }
    -828    
    -829            /**
    -830             * Iterates over the fields in a structured value.
    -831             */
    -832            protected static class StructuredIterator {
    -833                    private final Iterator<List<String>> it;
    -834    
    -835                    /**
    -836                     * Constructs a new structured iterator.
    -837                     * @param it the iterator to wrap
    -838                     */
    -839                    public StructuredIterator(Iterator<List<String>> it) {
    -840                            this.it = it;
    -841                    }
    -842    
    -843                    /**
    -844                     * Gets the first value of the next component.
    -845                     * @return the first value, null if the value is an empty string, or
    -846                     * null if there are no more components
    -847                     */
    -848                    public String nextString() {
    -849                            if (!hasNext()) {
    -850                                    return null;
    -851                            }
    -852    
    -853                            List<String> list = it.next();
    -854                            if (list.isEmpty()) {
    -855                                    return null;
    -856                            }
    -857    
    -858                            String value = list.get(0);
    -859                            return (value.length() == 0) ? null : value;
    -860                    }
    -861    
    -862                    /**
    -863                     * Gets the next component.
    -864                     * @return the next component, an empty list if the component is empty,
    -865                     * or an empty list of there are no more components
    -866                     */
    -867                    public List<String> nextComponent() {
    -868                            if (!hasNext()) {
    -869                                    return new ArrayList<String>(0); //the lists should be mutable so they can be directly assigned to the property object's fields
    -870                            }
    -871    
    -872                            List<String> list = it.next();
    -873                            if (list.size() == 1 && list.get(0).length() == 0) {
    -874                                    return new ArrayList<String>(0);
    -875                            }
    -876    
    -877                            return list;
    -878                    }
    -879    
    -880                    /**
    -881                     * Determines if there are any elements left in the value.
    -882                     * @return true if there are elements left, false if not
    -883                     */
    -884                    public boolean hasNext() {
    -885                            return it.hasNext();
    -886                    }
    -887            }
    -888    
    -889            /**
    -890             * Iterates over the fields in a semi-structured value (a structured value
    -891             * whose components cannot be multi-valued).
    -892             */
    -893            protected static class SemiStructuredIterator {
    -894                    private final Iterator<String> it;
    -895    
    -896                    /**
    -897                     * Constructs a new structured iterator.
    -898                     * @param it the iterator to wrap
    -899                     */
    -900                    public SemiStructuredIterator(Iterator<String> it) {
    -901                            this.it = it;
    -902                    }
    -903    
    -904                    /**
    -905                     * Gets the next value.
    -906                     * @return the next value, null if the value is an empty string, or null
    -907                     * if there are no more values
    -908                     */
    -909                    public String next() {
    -910                            if (!hasNext()) {
    -911                                    return null;
    -912                            }
    -913    
    -914                            String value = it.next();
    -915                            return (value.length() == 0) ? null : value;
    -916                    }
    -917    
    -918                    /**
    -919                     * Determines if there are any elements left in the value.
    -920                     * @return true if there are elements left, false if not
    -921                     */
    -922                    public boolean hasNext() {
    -923                            return it.hasNext();
    -924                    }
    -925            }
    -926    
    -927            /**
    -928             * Writes an object property value to a string.
    -929             * @param value the value
    -930             * @return the string
    -931             */
    -932            protected static <T> String object(Map<String, List<T>> value) {
    -933                    return join(value, ";", new JoinMapCallback<String, List<T>>() {
    -934                            public void handle(StringBuilder sb, String key, List<T> value) {
    -935                                    sb.append(key.toUpperCase()).append('=').append(list(value));
    -936                            }
    -937                    });
    -938            }
    -939    
    -940            /**
    -941             * Parses an object property value.
    -942             * @param value the value to parse
    -943             * @return the parsed value
    -944             */
    -945            protected static ListMultimap<String, String> object(String value) {
    -946                    ListMultimap<String, String> map = new ListMultimap<String, String>();
    -947    
    -948                    for (String component : split(value, ";").unescape(false).removeEmpties(true).split()) {
    -949                            String[] split = component.split("=", 2);
    -950    
    -951                            String name = unescape(split[0].toUpperCase());
    -952                            List<String> values = (split.length > 1) ? list(split[1]) : Arrays.asList("");
    -953    
    -954                            map.putAll(name, values);
    -955                    }
    -956    
    -957                    return map;
    -958            }
    -959    
    -960            /**
    -961             * Parses a date string.
    -962             * @param value the date string
    -963             * @return the factory object
    -964             */
    -965            protected static DateParser date(String value) {
    -966                    return new DateParser(value);
    -967            }
    -968    
    -969            /**
    -970             * Formats a {@link Date} object as a string.
    -971             * @param date the date
    -972             * @return the factory object
    -973             */
    -974            protected static DateWriter date(Date date) {
    -975                    return new DateWriter(date);
    -976            }
    -977    
    -978            /**
    -979             * Factory class for parsing dates.
    -980             */
    -981            protected static class DateParser {
    -982                    private String value;
    -983                    private TimeZone timezone;
    -984    
    -985                    /**
    -986                     * Creates a new date writer object.
    -987                     * @param value the date string to parse
    -988                     */
    -989                    public DateParser(String value) {
    -990                            this.value = value;
    -991                    }
    -992    
    -993                    /**
    -994                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -995                     * value). If the ID does not contain a "/" character, it will be
    -996                     * ignored.
    -997                     * @param timezoneId the timezone ID
    -998                     * @return this
    -999                     */
    -1000                    public DateParser tzid(String timezoneId) {
    -1001                            return tzid(timezoneId, null);
    -1002                    }
    -1003    
    -1004                    /**
    -1005                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -1006                     * value).
    -1007                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1008                     * "/" character), it will attempt to look up the timezone in Java's
    -1009                     * timezone registry and parse the date according to that timezone. If
    -1010                     * the timezone is not found, the date will be parsed according to the
    -1011                     * JVM's default timezone and a warning message will be added to the
    -1012                     * provided warnings list. If the ID is not global, it will be parsed
    -1013                     * according to the JVM's default timezone. Whichever timezone is chosen
    -1014                     * here, it will be ignored if the date string is in UTC time or
    -1015                     * contains an offset.
    -1016                     * @param warnings if the ID is global and is not recognized, a warning
    -1017                     * message will be added to this list
    -1018                     * @return this
    -1019                     */
    -1020                    public DateParser tzid(String timezoneId, List<String> warnings) {
    -1021                            if (timezoneId == null) {
    -1022                                    return tz(null);
    -1023                            }
    -1024    
    -1025                            if (timezoneId.contains("/")) {
    -1026                                    TimeZone timezone = ICalDateFormatter.parseTimeZoneId(timezoneId);
    -1027                                    if (timezone == null) {
    -1028                                            timezone = TimeZone.getDefault();
    -1029                                            if (warnings != null) {
    -1030                                                    warnings.add("Timezone ID not recognized, parsing with default timezone instead: " + timezoneId);
    -1031                                            }
    -1032                                    }
    -1033                                    return tz(timezone);
    -1034                            }
    -1035    
    -1036                            //TODO parse according to the associated VTIMEZONE component
    -1037                            return tz(TimeZone.getDefault());
    -1038                    }
    -1039    
    -1040                    /**
    -1041                     * Sets the timezone to parse the date as.
    -1042                     * @param timezone the timezone
    -1043                     * @return this
    -1044                     */
    -1045                    public DateParser tz(TimeZone timezone) {
    -1046                            this.timezone = timezone;
    -1047                            return this;
    -1048                    }
    -1049    
    -1050                    /**
    -1051                     * Parses the date string.
    -1052                     * @return the parsed date
    -1053                     * @throws IllegalArgumentException if the date string is invalid
    -1054                     */
    -1055                    public Date parse() {
    -1056                            return ICalDateFormatter.parse(value, timezone);
    -1057                    }
    -1058            }
    -1059    
    -1060            /**
    -1061             * Factory class for writing dates.
    -1062             */
    -1063            protected static class DateWriter {
    -1064                    private Date date;
    -1065                    private boolean hasTime = true;
    -1066                    private TimeZone timezone;
    -1067                    private boolean extended = false;
    -1068    
    -1069                    /**
    -1070                     * Creates a new date writer object.
    -1071                     * @param date the date to format
    -1072                     */
    -1073                    public DateWriter(Date date) {
    -1074                            this.date = date;
    -1075                    }
    -1076    
    -1077                    /**
    -1078                     * Sets whether to output the date's time component.
    -1079                     * @param hasTime true include the time, false if it's strictly a date
    -1080                     * (defaults to "true")
    -1081                     * @return this
    -1082                     */
    -1083                    public DateWriter time(boolean hasTime) {
    -1084                            this.hasTime = hasTime;
    -1085                            return this;
    -1086                    }
    -1087    
    -1088                    /**
    -1089                     * Sets the ID of the timezone to format the date as (TZID parameter
    -1090                     * value).
    -1091                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1092                     * "/" character), it will attempt to look up the timezone in Java's
    -1093                     * timezone registry and format the date according to that timezone. If
    -1094                     * the timezone is not found, the date will be formatted in UTC. If the
    -1095                     * ID is not global, it will be formatted according to the JVM's default
    -1096                     * timezone. If no timezone preference is specified, the date will be
    -1097                     * formatted as UTC.
    -1098                     * @return this
    -1099                     */
    -1100                    public DateWriter tzid(String timezoneId) {
    -1101                            if (timezoneId == null) {
    -1102                                    return tz(null);
    -1103                            }
    -1104    
    -1105                            if (timezoneId.contains("/")) {
    -1106                                    return tz(ICalDateFormatter.parseTimeZoneId(timezoneId));
    -1107                            }
    -1108    
    -1109                            //TODO format according to the associated VTIMEZONE component
    -1110                            return tz(TimeZone.getDefault());
    -1111                    }
    -1112    
    -1113                    /**
    -1114                     * Outputs the date in local time (without a timezone). If no timezone
    -1115                     * preference is specified, the date will be formatted as UTC.
    -1116                     * @param localTz true to use local time, false not to
    -1117                     * @return this
    -1118                     */
    -1119                    public DateWriter localTz(boolean localTz) {
    -1120                            return localTz ? tz(TimeZone.getDefault()) : this;
    -1121                    }
    -1122    
    -1123                    /**
    -1124                     * Convenience method that combines {@link #localTz(boolean)} and
    -1125                     * {@link #tzid(String)} into one method.
    -1126                     * @param localTz true to use local time, false not to
    -1127                     * @param timezoneId the timezone ID
    -1128                     * @return this
    -1129                     */
    -1130                    public DateWriter tz(boolean localTz, String timezoneId) {
    -1131                            return localTz ? localTz(true) : tzid(timezoneId);
    -1132                    }
    -1133    
    -1134                    /**
    -1135                     * Sets the timezone to format the date as. If no timezone preference is
    -1136                     * specified, the date will be formatted as UTC.
    -1137                     * @param timezone the timezone
    -1138                     * @return this
    -1139                     */
    -1140                    public DateWriter tz(TimeZone timezone) {
    -1141                            this.timezone = timezone;
    -1142                            return this;
    -1143                    }
    -1144    
    -1145                    /**
    -1146                     * Sets whether to use extended format or basic.
    -1147                     * @param extended true to use extended format, false to use basic
    -1148                     * (defaults to "false")
    -1149                     * @return this
    -1150                     */
    -1151                    public DateWriter extended(boolean extended) {
    -1152                            this.extended = extended;
    -1153                            return this;
    -1154                    }
    -1155    
    -1156                    /**
    -1157                     * Creates the date string.
    -1158                     * @return the date string
    -1159                     */
    -1160                    public String write() {
    -1161                            ISOFormat format;
    -1162                            TimeZone timezone = this.timezone;
    -1163                            if (hasTime) {
    -1164                                    if (timezone == null) {
    -1165                                            format = extended ? ISOFormat.UTC_TIME_EXTENDED : ISOFormat.UTC_TIME_BASIC;
    -1166                                    } else {
    -1167                                            format = extended ? ISOFormat.TIME_EXTENDED_WITHOUT_TZ : ISOFormat.TIME_BASIC_WITHOUT_TZ;
    -1168                                    }
    -1169                            } else {
    -1170                                    format = extended ? ISOFormat.DATE_EXTENDED : ISOFormat.DATE_BASIC;
    -1171                                    timezone = null;
    -1172                            }
    -1173    
    -1174                            return ICalDateFormatter.format(date, format, timezone);
    -1175                    }
    -1176            }
    -1177    
    -1178            /**
    -1179             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1180             * that the parser expected to find are missing from the property's XML
    -1181             * element.
    -1182             * @param dataTypes the expected data types (null for "unknown")
    -1183             */
    -1184            protected static CannotParseException missingXmlElements(ICalDataType... dataTypes) {
    -1185                    String[] elements = new String[dataTypes.length];
    -1186                    for (int i = 0; i < dataTypes.length; i++) {
    -1187                            ICalDataType dataType = dataTypes[i];
    -1188                            elements[i] = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -1189                    }
    -1190                    return missingXmlElements(elements);
    -1191            }
    -1192    
    -1193            /**
    -1194             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1195             * that the parser expected to find are missing from property's XML element.
    -1196             * @param elements the names of the expected XML elements.
    -1197             */
    -1198            protected static CannotParseException missingXmlElements(String... elements) {
    -1199                    String message;
    -1200    
    -1201                    switch (elements.length) {
    -1202                    case 0:
    -1203                            message = "Property value empty.";
    -1204                            break;
    -1205                    case 1:
    -1206                            message = "Property value empty (no <" + elements[0] + "> element found).";
    -1207                            break;
    -1208                    case 2:
    -1209                            message = "Property value empty (no <" + elements[0] + "> or <" + elements[1] + "> elements found).";
    -1210                            break;
    -1211                    default:
    -1212                            StringBuilder sb = new StringBuilder();
    -1213    
    -1214                            sb.append("Property value empty (no ");
    -1215                            join(Arrays.asList(elements).subList(0, elements.length - 1), ", ", sb, new JoinCallback<String>() {
    -1216                                    public void handle(StringBuilder sb, String value) {
    -1217                                            sb.append('<').append(value).append('>');
    -1218                                    }
    -1219                            });
    -1220                            sb.append(", or <").append(elements[elements.length - 1]).append("> elements found).");
    -1221    
    -1222                            message = sb.toString();
    -1223                            break;
    -1224                    }
    -1225    
    -1226                    return new CannotParseException(message);
    -1227            }
    -1228    
    -1229            /**
    -1230             * Represents the result of an unmarshal operation.
    -1231             * @author Michael Angstadt
    -1232             * @param <T> the unmarshalled property class
    -1233             */
    -1234            public static class Result<T extends ICalProperty> {
    -1235                    private final T property;
    -1236                    private final List<String> warnings;
    -1237    
    -1238                    /**
    -1239                     * Creates a new result.
    -1240                     * @param property the property object
    -1241                     * @param warnings the warnings
    -1242                     */
    -1243                    public Result(T property, List<String> warnings) {
    -1244                            this.property = property;
    -1245                            this.warnings = warnings;
    -1246                    }
    -1247    
    -1248                    /**
    -1249                     * Gets the warnings.
    -1250                     * @return the warnings
    -1251                     */
    -1252                    public List<String> getWarnings() {
    -1253                            return warnings;
    -1254                    }
    -1255    
    -1256                    /**
    -1257                     * Gets the property object.
    -1258                     * @return the property object
    -1259                     */
    -1260                    public T getProperty() {
    -1261                            return property;
    -1262                    }
    -1263            }
    -1264    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.Result.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.Result.html deleted file mode 100644 index 40770513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.Result.html +++ /dev/null @@ -1,1330 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.StringUtils.join;
    -005    
    -006    import java.util.ArrayList;
    -007    import java.util.Arrays;
    -008    import java.util.Collection;
    -009    import java.util.Date;
    -010    import java.util.Iterator;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    import java.util.TimeZone;
    -014    import java.util.regex.Pattern;
    -015    
    -016    import javax.xml.namespace.QName;
    -017    
    -018    import org.w3c.dom.Element;
    -019    
    -020    import biweekly.ICalDataType;
    -021    import biweekly.ICalendar;
    -022    import biweekly.io.CannotParseException;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.io.json.JCalValue;
    -025    import biweekly.io.text.ICalRawWriter;
    -026    import biweekly.io.xml.XCalElement;
    -027    import biweekly.parameter.ICalParameters;
    -028    import biweekly.property.ICalProperty;
    -029    import biweekly.util.ICalDateFormatter;
    -030    import biweekly.util.ISOFormat;
    -031    import biweekly.util.ListMultimap;
    -032    import biweekly.util.StringUtils;
    -033    import biweekly.util.StringUtils.JoinCallback;
    -034    import biweekly.util.StringUtils.JoinMapCallback;
    -035    import biweekly.util.XmlUtils;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * Base class for iCalendar property marshallers.
    -064     * @param <T> the property class
    -065     * @author Michael Angstadt
    -066     */
    -067    public abstract class ICalPropertyMarshaller<T extends ICalProperty> {
    -068            protected final Class<T> clazz;
    -069            protected final String propertyName;
    -070            protected final ICalDataType defaultDataType;
    -071            protected final QName qname;
    -072    
    -073            /**
    -074             * Creates a new marshaller.
    -075             * @param clazz the property class
    -076             * @param propertyName the property name (e.g. "VERSION")
    -077             * @param defaultDataType the property's default data type (e.g. "text") or
    -078             * null if unknown
    -079             */
    -080            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType) {
    -081                    this(clazz, propertyName, defaultDataType, new QName(XCAL_NS, propertyName.toLowerCase()));
    -082            }
    -083    
    -084            /**
    -085             * Creates a new marshaller.
    -086             * @param clazz the property class
    -087             * @param propertyName the property name (e.g. "VERSION")
    -088             * @param defaultDataType the property's default data type (e.g. "text") or
    -089             * null if unknown
    -090             * @param qname the XML element name and namespace to use for xCal documents
    -091             * (by default, the XML element name is set to the lower-cased property
    -092             * name, and the element namespace is set to the xCal namespace)
    -093             */
    -094            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType, QName qname) {
    -095                    this.clazz = clazz;
    -096                    this.propertyName = propertyName;
    -097                    this.defaultDataType = defaultDataType;
    -098                    this.qname = qname;
    -099            }
    -100    
    -101            /**
    -102             * Gets the property class.
    -103             * @return the property class
    -104             */
    -105            public Class<T> getPropertyClass() {
    -106                    return clazz;
    -107            }
    -108    
    -109            /**
    -110             * Gets the property name.
    -111             * @return the property name (e.g. "VERSION")
    -112             */
    -113            public String getPropertyName() {
    -114                    return propertyName;
    -115            }
    -116    
    -117            /**
    -118             * Gets the property's default data type.
    -119             * @return the default data type (e.g. "text") or null if unknown
    -120             */
    -121            public ICalDataType getDefaultDataType() {
    -122                    return defaultDataType;
    -123            }
    -124    
    -125            /**
    -126             * Gets this property's local name and namespace for xCal documents.
    -127             * @return the XML local name and namespace
    -128             */
    -129            public QName getQName() {
    -130                    return qname;
    -131            }
    -132    
    -133            /**
    -134             * Sanitizes a property's parameters (called before the property is
    -135             * written). Note that a copy of the parameters is returned so that the
    -136             * property object does not get modified.
    -137             * @param property the property
    -138             * @return the sanitized parameters
    -139             */
    -140            public final ICalParameters prepareParameters(T property) {
    -141                    //make a copy because the property should not get modified when it is marshalled
    -142                    ICalParameters copy = new ICalParameters(property.getParameters());
    -143                    _prepareParameters(property, copy);
    -144                    return copy;
    -145            }
    -146    
    -147            /**
    -148             * Determines the data type of a property instance.
    -149             * @param property the property
    -150             * @return the data type or null if unknown
    -151             */
    -152            public final ICalDataType dataType(T property) {
    -153                    return _dataType(property);
    -154            }
    -155    
    -156            /**
    -157             * Marshals a property's value to a string.
    -158             * @param property the property
    -159             * @return the marshalled value
    -160             * @throws SkipMeException if the property should not be written to the data
    -161             * stream
    -162             */
    -163            public final String writeText(T property) {
    -164                    return _writeText(property);
    -165            }
    -166    
    -167            /**
    -168             * Marshals a property's value to an XML element (xCal).
    -169             * @param property the property
    -170             * @param element the property's XML element
    -171             * @throws SkipMeException if the property should not be written to the data
    -172             * stream
    -173             */
    -174            public final void writeXml(T property, Element element) {
    -175                    XCalElement xcalElement = new XCalElement(element);
    -176                    _writeXml(property, xcalElement);
    -177            }
    -178    
    -179            /**
    -180             * Marshals a property's value to a JSON data stream (jCal).
    -181             * @param property the property
    -182             * @return the marshalled value
    -183             * @throws SkipMeException if the property should not be written to the data
    -184             * stream
    -185             */
    -186            public final JCalValue writeJson(T property) {
    -187                    return _writeJson(property);
    -188            }
    -189    
    -190            /**
    -191             * Unmarshals a property from a plain-text iCalendar data stream.
    -192             * @param value the value as read off the wire
    -193             * @param dataType the data type of the property value. The property's VALUE
    -194             * parameter is used to determine the data type. If the property has no
    -195             * VALUE parameter, then this parameter will be set to the property's
    -196             * default datatype. Note that the VALUE parameter is removed from the
    -197             * property's parameter list after it has been read.
    -198             * @param parameters the parsed parameters
    -199             * @return the unmarshalled property and its warnings
    -200             * @throws CannotParseException if the marshaller could not parse the
    -201             * property's value
    -202             * @throws SkipMeException if the property should not be added to the final
    -203             * {@link ICalendar} object
    -204             */
    -205            public final Result<T> parseText(String value, ICalDataType dataType, ICalParameters parameters) {
    -206                    List<String> warnings = new ArrayList<String>(0);
    -207                    T property = _parseText(value, dataType, parameters, warnings);
    -208                    property.setParameters(parameters);
    -209                    return new Result<T>(property, warnings);
    -210            }
    -211    
    -212            /**
    -213             * Unmarshals a property's value from an XML document (xCal).
    -214             * @param element the property's XML element
    -215             * @param parameters the property's parameters
    -216             * @return the unmarshalled property and its warnings
    -217             * @throws CannotParseException if the marshaller could not parse the
    -218             * property's value
    -219             * @throws SkipMeException if the property should not be added to the final
    -220             * {@link ICalendar} object
    -221             */
    -222            public final Result<T> parseXml(Element element, ICalParameters parameters) {
    -223                    List<String> warnings = new ArrayList<String>(0);
    -224                    T property = _parseXml(new XCalElement(element), parameters, warnings);
    -225                    property.setParameters(parameters);
    -226                    return new Result<T>(property, warnings);
    -227            }
    -228    
    -229            /**
    -230             * Unmarshals a property's value from a JSON data stream (jCal).
    -231             * @param value the property's JSON value
    -232             * @param dataType the data type
    -233             * @param parameters the parsed parameters
    -234             * @return the unmarshalled property and its warnings
    -235             * @throws CannotParseException if the marshaller could not parse the
    -236             * property's value
    -237             * @throws SkipMeException if the property should not be added to the final
    -238             * {@link ICalendar} object
    -239             */
    -240            public final Result<T> parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters) {
    -241                    List<String> warnings = new ArrayList<String>(0);
    -242                    T property = _parseJson(value, dataType, parameters, warnings);
    -243                    property.setParameters(parameters);
    -244                    return new Result<T>(property, warnings);
    -245            }
    -246    
    -247            /**
    -248             * <p>
    -249             * Sanitizes a property's parameters before the property is written.
    -250             * </p>
    -251             * <p>
    -252             * This method should be overridden by child classes that wish to tweak the
    -253             * property's parameters before the property is written. The default
    -254             * implementation of this method does nothing.
    -255             * </p>
    -256             * @param property the property
    -257             * @param copy the list of parameters to make modifications to (it is a copy
    -258             * of the property's parameters)
    -259             */
    -260            protected void _prepareParameters(T property, ICalParameters copy) {
    -261                    //do nothing
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Determines the data type of a property instance.
    -267             * </p>
    -268             * <p>
    -269             * This method should be overridden by child classes if a property's data
    -270             * type changes depending on its value. The default implementation of this
    -271             * method returns the property's default data type.
    -272             * </p>
    -273             * @param property the property
    -274             * @return the data type or null if unknown
    -275             */
    -276            protected ICalDataType _dataType(T property) {
    -277                    return defaultDataType;
    -278            }
    -279    
    -280            /**
    -281             * Marshals a property's value to a string.
    -282             * @param property the property
    -283             * @return the marshalled value
    -284             * @throws SkipMeException if the property should not be written to the data
    -285             * stream
    -286             */
    -287            protected abstract String _writeText(T property);
    -288    
    -289            /**
    -290             * <p>
    -291             * Marshals a property's value to an XML element (xCal).
    -292             * <p>
    -293             * <p>
    -294             * This method should be overridden by child classes that wish to support
    -295             * xCal. The default implementation of this method will append one child
    -296             * element to the property's XML element. The child element's name will be
    -297             * that of the property's data type (retrieved using the {@link #dataType}
    -298             * method), and the child element's text content will be set to the
    -299             * property's marshalled plain-text value (retrieved using the
    -300             * {@link #writeText} method).
    -301             * </p>
    -302             * @param property the property
    -303             * @param element the property's XML element
    -304             * @throws SkipMeException if the property should not be written to the data
    -305             * stream
    -306             */
    -307            protected void _writeXml(T property, XCalElement element) {
    -308                    String value = writeText(property);
    -309                    ICalDataType dataType = dataType(property);
    -310                    element.append(dataType, value);
    -311            }
    -312    
    -313            /**
    -314             * <p>
    -315             * Marshals a property's value to a JSON data stream (jCal).
    -316             * </p>
    -317             * <p>
    -318             * This method should be overridden by child classes that wish to support
    -319             * jCal. The default implementation of this method will create a jCard
    -320             * property that has a single JSON string value (generated by the
    -321             * {@link #writeText} method).
    -322             * </p>
    -323             * @param property the property
    -324             * @return the marshalled value
    -325             * @throws SkipMeException if the property should not be written to the data
    -326             * stream
    -327             */
    -328            protected JCalValue _writeJson(T property) {
    -329                    String value = writeText(property);
    -330                    return JCalValue.single(value);
    -331            }
    -332    
    -333            /**
    -334             * Unmarshals a property from a plain-text iCalendar data stream.
    -335             * @param value the value as read off the wire
    -336             * @param dataType the data type of the property value. The property's VALUE
    -337             * parameter is used to determine the data type. If the property has no
    -338             * VALUE parameter, then this parameter will be set to the property's
    -339             * default datatype. Note that the VALUE parameter is removed from the
    -340             * property's parameter list after it has been read.
    -341             * @param parameters the parsed parameters. These parameters will be
    -342             * assigned to the property object once this method returns. Therefore, do
    -343             * not assign any parameters to the property object itself whilst inside of
    -344             * this method, or else they will be overwritten.
    -345             * @param warnings allows the programmer to alert the user to any
    -346             * note-worthy (but non-critical) issues that occurred during the
    -347             * unmarshalling process
    -348             * @return the unmarshalled property object
    -349             * @throws CannotParseException if the marshaller could not parse the
    -350             * property's value
    -351             * @throws SkipMeException if the property should not be added to the final
    -352             * {@link ICalendar} object
    -353             */
    -354            protected abstract T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -355    
    -356            /**
    -357             * <p>
    -358             * Unmarshals a property from an XML document (xCal).
    -359             * </p>
    -360             * <p>
    -361             * This method should be overridden by child classes that wish to support
    -362             * xCal. The default implementation of this method will find the first child
    -363             * element with the xCal namespace. The element's name will be used as the
    -364             * property's data type and its text content will be passed into the
    -365             * {@link #_parseText} method. If no such child element is found, then the
    -366             * parent element's text content will be passed into {@link #_parseText} and
    -367             * the data type will be null.
    -368             * </p>
    -369             * @param element the property's XML element
    -370             * @param parameters the parsed parameters. These parameters will be
    -371             * assigned to the property object once this method returns. Therefore, do
    -372             * not assign any parameters to the property object itself whilst inside of
    -373             * this method, or else they will be overwritten.
    -374             * @param warnings allows the programmer to alert the user to any
    -375             * note-worthy (but non-critical) issues that occurred during the
    -376             * unmarshalling process
    -377             * @return the unmarshalled property object
    -378             * @throws CannotParseException if the marshaller could not parse the
    -379             * property's value
    -380             * @throws SkipMeException if the property should not be added to the final
    -381             * {@link ICalendar} object
    -382             */
    -383            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -384                    String value = null;
    -385                    ICalDataType dataType = null;
    -386                    Element rawElement = element.getElement();
    -387    
    -388                    //get the text content of the first child element with the xCard namespace
    -389                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -390                    for (Element child : children) {
    -391                            if (!XCAL_NS.equals(child.getNamespaceURI())) {
    -392                                    continue;
    -393                            }
    -394    
    -395                            dataType = ICalDataType.get(child.getLocalName());
    -396                            value = child.getTextContent();
    -397                            break;
    -398                    }
    -399    
    -400                    if (dataType == null) {
    -401                            //get the text content of the property element
    -402                            value = rawElement.getTextContent();
    -403                    }
    -404    
    -405                    value = escape(value);
    -406                    return _parseText(value, dataType, parameters, warnings);
    -407            }
    -408    
    -409            /**
    -410             * /**
    -411             * <p>
    -412             * Unmarshals a property from a JSON data stream (jCal).
    -413             * </p>
    -414             * <p>
    -415             * This method should be overridden by child classes that wish to support
    -416             * jCal. The default implementation of this method will convert the jCal
    -417             * property value to a string and pass it into the {@link #_parseText}
    -418             * method.
    -419             * </p>
    -420             * 
    -421             * <hr>
    -422             * 
    -423             * <p>
    -424             * The following paragraphs describe the way in which this method's default
    -425             * implementation converts a jCal value to a string:
    -426             * </p>
    -427             * <p>
    -428             * If the jCal value consists of a single, non-array, non-object value, then
    -429             * the value is converted to a string. Special characters (backslashes,
    -430             * commas, and semicolons) are escaped in order to simulate what the value
    -431             * might look like in a plain-text iCalendar object.<br>
    -432             * <code>["x-foo", {}, "text", "the;value"] --&gt; "the\;value"</code><br>
    -433             * <code>["x-foo", {}, "text", 2] --&gt; "2"</code>
    -434             * </p>
    -435             * <p>
    -436             * If the jCal value consists of multiple, non-array, non-object values,
    -437             * then all the values are appended together in a single string, separated
    -438             * by commas. Special characters (backslashes, commas, and semicolons) are
    -439             * escaped for each value in order to prevent commas from being treated as
    -440             * delimiters, and to simulate what the value might look like in a
    -441             * plain-text iCalendar object.<br>
    -442             * <code>["x-foo", {}, "text", "one", "two,three"] --&gt;
    -443             * "one,two\,three"</code>
    -444             * </p>
    -445             * <p>
    -446             * If the jCal value is a single array, then this array is treated as a
    -447             * "structured value", and converted its plain-text representation. Special
    -448             * characters (backslashes, commas, and semicolons) are escaped for each
    -449             * value in order to prevent commas and semicolons from being treated as
    -450             * delimiters.<br>
    -451             * <code>["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
    -452             * --&gt; "one;two,three;four\;five"</code>
    -453             * </p>
    -454             * <p>
    -455             * If the jCal value starts with a JSON object, then the object is converted
    -456             * to a format identical to the one used in the RRULE and EXRULE properties.
    -457             * Special characters (backslashes, commas, semicolons, and equal signs) are
    -458             * escaped for each value in order to preserve the syntax of the string
    -459             * value.<br>
    -460             * <code>["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --&gt; "ONE=1;TWO=2,2.5"</code>
    -461             * </p>
    -462             * <p>
    -463             * For all other cases, behavior is undefined.
    -464             * </p>
    -465             * @param value the property's JSON value
    -466             * @param dataType the data type
    -467             * @param parameters the parsed parameters. These parameters will be
    -468             * assigned to the property object once this method returns. Therefore, do
    -469             * not assign any parameters to the property object itself whilst inside of
    -470             * this method, or else they will be overwritten.
    -471             * @param warnings allows the programmer to alert the user to any
    -472             * note-worthy (but non-critical) issues that occurred during the
    -473             * unmarshalling process
    -474             * @return the unmarshalled property object
    -475             * @throws CannotParseException if the marshaller could not parse the
    -476             * property's value
    -477             * @throws SkipMeException if the property should not be added to the final
    -478             * {@link ICalendar} object
    -479             */
    -480            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -481                    return _parseText(jcalValueToString(value), dataType, parameters, warnings);
    -482            }
    -483    
    -484            private String jcalValueToString(JCalValue value) {
    -485                    if (value.getValues().size() > 1) {
    -486                            List<String> multi = value.asMulti();
    -487                            if (!multi.isEmpty()) {
    -488                                    return list(multi);
    -489                            }
    -490                    }
    -491    
    -492                    if (!value.getValues().isEmpty() && value.getValues().get(0).getArray() != null) {
    -493                            List<List<String>> structured = value.asStructured();
    -494                            if (!structured.isEmpty()) {
    -495                                    return structured(structured.toArray());
    -496                            }
    -497                    }
    -498    
    -499                    if (value.getValues().get(0).getObject() != null) {
    -500                            ListMultimap<String, String> object = value.asObject();
    -501                            if (!object.isEmpty()) {
    -502                                    return object(object.getMap());
    -503                            }
    -504                    }
    -505    
    -506                    return escape(value.asSingle());
    -507            }
    -508    
    -509            /**
    -510             * Unescapes all special characters that are escaped with a backslash, as
    -511             * well as escaped newlines.
    -512             * @param text the text to unescape
    -513             * @return the unescaped text
    -514             */
    -515            protected static String unescape(String text) {
    -516                    if (text == null) {
    -517                            return text;
    -518                    }
    -519    
    -520                    StringBuilder sb = null;
    -521                    boolean escaped = false;
    -522                    for (int i = 0; i < text.length(); i++) {
    -523                            char ch = text.charAt(i);
    -524    
    -525                            if (escaped) {
    -526                                    if (sb == null) {
    -527                                            sb = new StringBuilder(text.length());
    -528                                            sb.append(text.substring(0, i - 1));
    -529                                    }
    -530    
    -531                                    escaped = false;
    -532    
    -533                                    if (ch == 'n' || ch == 'N') {
    -534                                            //newlines appear as "\n" or "\N" (see RFC 5545 p.46)
    -535                                            sb.append(StringUtils.NEWLINE);
    -536                                            continue;
    -537                                    }
    -538    
    -539                                    sb.append(ch);
    -540                                    continue;
    -541                            }
    -542    
    -543                            if (ch == '\\') {
    -544                                    escaped = true;
    -545                                    continue;
    -546                            }
    -547    
    -548                            if (sb != null) {
    -549                                    sb.append(ch);
    -550                            }
    -551                    }
    -552                    return (sb == null) ? text : sb.toString();
    -553            }
    -554    
    -555            /**
    -556             * <p>
    -557             * Escapes all special characters within a iCalendar value. These characters
    -558             * are:
    -559             * </p>
    -560             * <ul>
    -561             * <li>backslashes ({@code \})</li>
    -562             * <li>commas ({@code ,})</li>
    -563             * <li>semi-colons ({@code ;})</li>
    -564             * </ul>
    -565             * <p>
    -566             * Newlines are not escaped by this method. They are escaped when the
    -567             * iCalendar object is serialized (in the {@link ICalRawWriter} class).
    -568             * </p>
    -569             * @param text the text to escape
    -570             * @return the escaped text
    -571             */
    -572            protected static String escape(String text) {
    -573                    if (text == null) {
    -574                            return text;
    -575                    }
    -576    
    -577                    String chars = "\\,;";
    -578                    StringBuilder sb = null;
    -579                    for (int i = 0; i < text.length(); i++) {
    -580                            char ch = text.charAt(i);
    -581                            if (chars.indexOf(ch) >= 0) {
    -582                                    if (sb == null) {
    -583                                            sb = new StringBuilder(text.length());
    -584                                            sb.append(text.substring(0, i));
    -585                                    }
    -586                                    sb.append('\\');
    -587                            }
    -588    
    -589                            if (sb != null) {
    -590                                    sb.append(ch);
    -591                            }
    -592                    }
    -593                    return (sb == null) ? text : sb.toString();
    -594            }
    -595    
    -596            /**
    -597             * Splits a string by a delimiter, taking escaped characters into account.
    -598             * @param string the string to split (e.g. "one,two,three")
    -599             * @param delimiter the delimiter (e.g. ",")
    -600             * @return the factory object
    -601             */
    -602            protected static Splitter split(String string, String delimiter) {
    -603                    return new Splitter(string, delimiter);
    -604            }
    -605    
    -606            /**
    -607             * Factory class for splitting strings.
    -608             */
    -609            protected static class Splitter {
    -610                    private String string;
    -611                    private String delimiter;
    -612                    private boolean removeEmpties = false;
    -613                    private boolean unescape = false;
    -614                    private int limit = -1;
    -615    
    -616                    /**
    -617                     * Creates a new splitter object.
    -618                     * @param string the string to split (e.g. "one,two,three")
    -619                     * @param delimiter the delimiter (e.g. ",")
    -620                     */
    -621                    public Splitter(String string, String delimiter) {
    -622                            this.string = string;
    -623                            this.delimiter = delimiter;
    -624                    }
    -625    
    -626                    /**
    -627                     * Sets whether to remove empty elements.
    -628                     * @param removeEmpties true to remove empty elements, false not to
    -629                     * (default is false)
    -630                     * @return this
    -631                     */
    -632                    public Splitter removeEmpties(boolean removeEmpties) {
    -633                            this.removeEmpties = removeEmpties;
    -634                            return this;
    -635                    }
    -636    
    -637                    /**
    -638                     * Sets whether to unescape each split string.
    -639                     * @param unescape true to unescape, false not to (default is false)
    -640                     * @return this
    -641                     */
    -642                    public Splitter unescape(boolean unescape) {
    -643                            this.unescape = unescape;
    -644                            return this;
    -645                    }
    -646    
    -647                    /**
    -648                     * Sets the max number of split strings it should parse.
    -649                     * @param limit the max number of split strings
    -650                     * @return this
    -651                     */
    -652                    public Splitter limit(int limit) {
    -653                            this.limit = limit;
    -654                            return this;
    -655                    }
    -656    
    -657                    /**
    -658                     * Performs the split operation.
    -659                     * @return the split string
    -660                     */
    -661                    public List<String> split() {
    -662                            //from: http://stackoverflow.com/q/820172">http://stackoverflow.com/q/820172
    -663                            String split[] = string.split("\\s*(?<!\\\\)" + Pattern.quote(delimiter) + "\\s*", limit);
    -664    
    -665                            List<String> list = new ArrayList<String>(split.length);
    -666                            for (String s : split) {
    -667                                    if (s.length() == 0 && removeEmpties) {
    -668                                            continue;
    -669                                    }
    -670    
    -671                                    if (unescape) {
    -672                                            s = ICalPropertyMarshaller.unescape(s);
    -673                                    }
    -674    
    -675                                    list.add(s);
    -676                            }
    -677                            return list;
    -678                    }
    -679            }
    -680    
    -681            /**
    -682             * Parses a comma-separated list of values.
    -683             * @param value the string to parse (e.g. "one,two,th\,ree")
    -684             * @return the parsed values
    -685             */
    -686            protected static List<String> list(String value) {
    -687                    if (value.length() == 0) {
    -688                            return new ArrayList<String>(0);
    -689                    }
    -690                    return split(value, ",").unescape(true).split();
    -691            }
    -692    
    -693            /**
    -694             * Writes a comma-separated list of values.
    -695             * @param values the values to write
    -696             * @return the list
    -697             */
    -698            protected static String list(Object... values) {
    -699                    return list(Arrays.asList(values));
    -700            }
    -701    
    -702            /**
    -703             * Writes a comma-separated list of values.
    -704             * @param values the values to write
    -705             * @return the list
    -706             */
    -707            protected static <T> String list(Collection<T> values) {
    -708                    return list(values, new ListCallback<T>() {
    -709                            public String asString(T value) {
    -710                                    return value.toString();
    -711                            }
    -712                    });
    -713            }
    -714    
    -715            /**
    -716             * Writes a comma-separated list of values.
    -717             * @param values the values to write
    -718             * @param callback callback function used for converting each value to a
    -719             * string
    -720             * @return the list
    -721             */
    -722            protected static <T> String list(Collection<T> values, final ListCallback<T> callback) {
    -723                    return join(values, ",", new JoinCallback<T>() {
    -724                            public void handle(StringBuilder sb, T value) {
    -725                                    if (value == null) {
    -726                                            return;
    -727                                    }
    -728    
    -729                                    String valueStr = callback.asString(value);
    -730                                    sb.append(escape(valueStr));
    -731                            }
    -732                    });
    -733            }
    -734    
    -735            /**
    -736             * Callback function used in conjunction with the
    -737             * {@link ICalPropertyMarshaller#list(Collection, ListCallback) list} method
    -738             * @param <T> the value class
    -739             */
    -740            protected static interface ListCallback<T> {
    -741                    /**
    -742                     * Converts a value to a string.
    -743                     * @param value the value (null values are not passed to this method, so
    -744                     * this parameter will never be null)
    -745                     * @return the string
    -746                     */
    -747                    String asString(T value);
    -748            }
    -749    
    -750            /**
    -751             * Parses a list of values that are delimited by semicolons. Unlike
    -752             * structured value components, semi-structured components cannot be
    -753             * multi-valued.
    -754             * @param value the string to parse (e.g. "one;two;three")
    -755             * @return the parsed values
    -756             */
    -757            protected static SemiStructuredIterator semistructured(String value) {
    -758                    return semistructured(value, -1);
    -759            }
    -760    
    -761            /**
    -762             * Parses a list of values that are delimited by semicolons. Unlike
    -763             * structured value components, semi-structured components cannot be
    -764             * multi-valued.
    -765             * @param value the string to parse (e.g. "one;two;three")
    -766             * @param limit the max number of components to parse
    -767             * @return the parsed values
    -768             */
    -769            protected static SemiStructuredIterator semistructured(String value, int limit) {
    -770                    List<String> split = split(value, ";").unescape(true).limit(limit).split();
    -771                    return new SemiStructuredIterator(split.iterator());
    -772            }
    -773    
    -774            /**
    -775             * Parses a structured value.
    -776             * @param value the string to parse (e.g. "one;two,three;four")
    -777             * @return the parsed values
    -778             */
    -779            protected static StructuredIterator structured(String value) {
    -780                    List<String> split = split(value, ";").split();
    -781                    List<List<String>> components = new ArrayList<List<String>>(split.size());
    -782                    for (String s : split) {
    -783                            components.add(list(s));
    -784                    }
    -785                    return new StructuredIterator(components.iterator());
    -786            }
    -787    
    -788            /**
    -789             * Provides an iterator for a jCard structured value.
    -790             * @param value the jCard value
    -791             * @return the parsed values
    -792             */
    -793            protected static StructuredIterator structured(JCalValue value) {
    -794                    return new StructuredIterator(value.asStructured().iterator());
    -795            }
    -796    
    -797            /**
    -798             * <p>
    -799             * Writes a structured value.
    -800             * </p>
    -801             * <p>
    -802             * This method accepts a list of {@link Object} instances.
    -803             * {@link Collection} objects will be treated as multi-valued components.
    -804             * Null objects will be treated as empty components. All other objects will
    -805             * have their {@code toString()} method invoked to generate the string
    -806             * value.
    -807             * </p>
    -808             * @param values the values to write
    -809             * @return the structured value string
    -810             */
    -811            protected static String structured(Object... values) {
    -812                    return join(Arrays.asList(values), ";", new JoinCallback<Object>() {
    -813                            public void handle(StringBuilder sb, Object value) {
    -814                                    if (value == null) {
    -815                                            return;
    -816                                    }
    -817    
    -818                                    if (value instanceof Collection) {
    -819                                            Collection<?> list = (Collection<?>) value;
    -820                                            sb.append(list(list));
    -821                                            return;
    -822                                    }
    -823    
    -824                                    sb.append(escape(value.toString()));
    -825                            }
    -826                    });
    -827            }
    -828    
    -829            /**
    -830             * Iterates over the fields in a structured value.
    -831             */
    -832            protected static class StructuredIterator {
    -833                    private final Iterator<List<String>> it;
    -834    
    -835                    /**
    -836                     * Constructs a new structured iterator.
    -837                     * @param it the iterator to wrap
    -838                     */
    -839                    public StructuredIterator(Iterator<List<String>> it) {
    -840                            this.it = it;
    -841                    }
    -842    
    -843                    /**
    -844                     * Gets the first value of the next component.
    -845                     * @return the first value, null if the value is an empty string, or
    -846                     * null if there are no more components
    -847                     */
    -848                    public String nextString() {
    -849                            if (!hasNext()) {
    -850                                    return null;
    -851                            }
    -852    
    -853                            List<String> list = it.next();
    -854                            if (list.isEmpty()) {
    -855                                    return null;
    -856                            }
    -857    
    -858                            String value = list.get(0);
    -859                            return (value.length() == 0) ? null : value;
    -860                    }
    -861    
    -862                    /**
    -863                     * Gets the next component.
    -864                     * @return the next component, an empty list if the component is empty,
    -865                     * or an empty list of there are no more components
    -866                     */
    -867                    public List<String> nextComponent() {
    -868                            if (!hasNext()) {
    -869                                    return new ArrayList<String>(0); //the lists should be mutable so they can be directly assigned to the property object's fields
    -870                            }
    -871    
    -872                            List<String> list = it.next();
    -873                            if (list.size() == 1 && list.get(0).length() == 0) {
    -874                                    return new ArrayList<String>(0);
    -875                            }
    -876    
    -877                            return list;
    -878                    }
    -879    
    -880                    /**
    -881                     * Determines if there are any elements left in the value.
    -882                     * @return true if there are elements left, false if not
    -883                     */
    -884                    public boolean hasNext() {
    -885                            return it.hasNext();
    -886                    }
    -887            }
    -888    
    -889            /**
    -890             * Iterates over the fields in a semi-structured value (a structured value
    -891             * whose components cannot be multi-valued).
    -892             */
    -893            protected static class SemiStructuredIterator {
    -894                    private final Iterator<String> it;
    -895    
    -896                    /**
    -897                     * Constructs a new structured iterator.
    -898                     * @param it the iterator to wrap
    -899                     */
    -900                    public SemiStructuredIterator(Iterator<String> it) {
    -901                            this.it = it;
    -902                    }
    -903    
    -904                    /**
    -905                     * Gets the next value.
    -906                     * @return the next value, null if the value is an empty string, or null
    -907                     * if there are no more values
    -908                     */
    -909                    public String next() {
    -910                            if (!hasNext()) {
    -911                                    return null;
    -912                            }
    -913    
    -914                            String value = it.next();
    -915                            return (value.length() == 0) ? null : value;
    -916                    }
    -917    
    -918                    /**
    -919                     * Determines if there are any elements left in the value.
    -920                     * @return true if there are elements left, false if not
    -921                     */
    -922                    public boolean hasNext() {
    -923                            return it.hasNext();
    -924                    }
    -925            }
    -926    
    -927            /**
    -928             * Writes an object property value to a string.
    -929             * @param value the value
    -930             * @return the string
    -931             */
    -932            protected static <T> String object(Map<String, List<T>> value) {
    -933                    return join(value, ";", new JoinMapCallback<String, List<T>>() {
    -934                            public void handle(StringBuilder sb, String key, List<T> value) {
    -935                                    sb.append(key.toUpperCase()).append('=').append(list(value));
    -936                            }
    -937                    });
    -938            }
    -939    
    -940            /**
    -941             * Parses an object property value.
    -942             * @param value the value to parse
    -943             * @return the parsed value
    -944             */
    -945            protected static ListMultimap<String, String> object(String value) {
    -946                    ListMultimap<String, String> map = new ListMultimap<String, String>();
    -947    
    -948                    for (String component : split(value, ";").unescape(false).removeEmpties(true).split()) {
    -949                            String[] split = component.split("=", 2);
    -950    
    -951                            String name = unescape(split[0].toUpperCase());
    -952                            List<String> values = (split.length > 1) ? list(split[1]) : Arrays.asList("");
    -953    
    -954                            map.putAll(name, values);
    -955                    }
    -956    
    -957                    return map;
    -958            }
    -959    
    -960            /**
    -961             * Parses a date string.
    -962             * @param value the date string
    -963             * @return the factory object
    -964             */
    -965            protected static DateParser date(String value) {
    -966                    return new DateParser(value);
    -967            }
    -968    
    -969            /**
    -970             * Formats a {@link Date} object as a string.
    -971             * @param date the date
    -972             * @return the factory object
    -973             */
    -974            protected static DateWriter date(Date date) {
    -975                    return new DateWriter(date);
    -976            }
    -977    
    -978            /**
    -979             * Factory class for parsing dates.
    -980             */
    -981            protected static class DateParser {
    -982                    private String value;
    -983                    private TimeZone timezone;
    -984    
    -985                    /**
    -986                     * Creates a new date writer object.
    -987                     * @param value the date string to parse
    -988                     */
    -989                    public DateParser(String value) {
    -990                            this.value = value;
    -991                    }
    -992    
    -993                    /**
    -994                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -995                     * value). If the ID does not contain a "/" character, it will be
    -996                     * ignored.
    -997                     * @param timezoneId the timezone ID
    -998                     * @return this
    -999                     */
    -1000                    public DateParser tzid(String timezoneId) {
    -1001                            return tzid(timezoneId, null);
    -1002                    }
    -1003    
    -1004                    /**
    -1005                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -1006                     * value).
    -1007                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1008                     * "/" character), it will attempt to look up the timezone in Java's
    -1009                     * timezone registry and parse the date according to that timezone. If
    -1010                     * the timezone is not found, the date will be parsed according to the
    -1011                     * JVM's default timezone and a warning message will be added to the
    -1012                     * provided warnings list. If the ID is not global, it will be parsed
    -1013                     * according to the JVM's default timezone. Whichever timezone is chosen
    -1014                     * here, it will be ignored if the date string is in UTC time or
    -1015                     * contains an offset.
    -1016                     * @param warnings if the ID is global and is not recognized, a warning
    -1017                     * message will be added to this list
    -1018                     * @return this
    -1019                     */
    -1020                    public DateParser tzid(String timezoneId, List<String> warnings) {
    -1021                            if (timezoneId == null) {
    -1022                                    return tz(null);
    -1023                            }
    -1024    
    -1025                            if (timezoneId.contains("/")) {
    -1026                                    TimeZone timezone = ICalDateFormatter.parseTimeZoneId(timezoneId);
    -1027                                    if (timezone == null) {
    -1028                                            timezone = TimeZone.getDefault();
    -1029                                            if (warnings != null) {
    -1030                                                    warnings.add("Timezone ID not recognized, parsing with default timezone instead: " + timezoneId);
    -1031                                            }
    -1032                                    }
    -1033                                    return tz(timezone);
    -1034                            }
    -1035    
    -1036                            //TODO parse according to the associated VTIMEZONE component
    -1037                            return tz(TimeZone.getDefault());
    -1038                    }
    -1039    
    -1040                    /**
    -1041                     * Sets the timezone to parse the date as.
    -1042                     * @param timezone the timezone
    -1043                     * @return this
    -1044                     */
    -1045                    public DateParser tz(TimeZone timezone) {
    -1046                            this.timezone = timezone;
    -1047                            return this;
    -1048                    }
    -1049    
    -1050                    /**
    -1051                     * Parses the date string.
    -1052                     * @return the parsed date
    -1053                     * @throws IllegalArgumentException if the date string is invalid
    -1054                     */
    -1055                    public Date parse() {
    -1056                            return ICalDateFormatter.parse(value, timezone);
    -1057                    }
    -1058            }
    -1059    
    -1060            /**
    -1061             * Factory class for writing dates.
    -1062             */
    -1063            protected static class DateWriter {
    -1064                    private Date date;
    -1065                    private boolean hasTime = true;
    -1066                    private TimeZone timezone;
    -1067                    private boolean extended = false;
    -1068    
    -1069                    /**
    -1070                     * Creates a new date writer object.
    -1071                     * @param date the date to format
    -1072                     */
    -1073                    public DateWriter(Date date) {
    -1074                            this.date = date;
    -1075                    }
    -1076    
    -1077                    /**
    -1078                     * Sets whether to output the date's time component.
    -1079                     * @param hasTime true include the time, false if it's strictly a date
    -1080                     * (defaults to "true")
    -1081                     * @return this
    -1082                     */
    -1083                    public DateWriter time(boolean hasTime) {
    -1084                            this.hasTime = hasTime;
    -1085                            return this;
    -1086                    }
    -1087    
    -1088                    /**
    -1089                     * Sets the ID of the timezone to format the date as (TZID parameter
    -1090                     * value).
    -1091                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1092                     * "/" character), it will attempt to look up the timezone in Java's
    -1093                     * timezone registry and format the date according to that timezone. If
    -1094                     * the timezone is not found, the date will be formatted in UTC. If the
    -1095                     * ID is not global, it will be formatted according to the JVM's default
    -1096                     * timezone. If no timezone preference is specified, the date will be
    -1097                     * formatted as UTC.
    -1098                     * @return this
    -1099                     */
    -1100                    public DateWriter tzid(String timezoneId) {
    -1101                            if (timezoneId == null) {
    -1102                                    return tz(null);
    -1103                            }
    -1104    
    -1105                            if (timezoneId.contains("/")) {
    -1106                                    return tz(ICalDateFormatter.parseTimeZoneId(timezoneId));
    -1107                            }
    -1108    
    -1109                            //TODO format according to the associated VTIMEZONE component
    -1110                            return tz(TimeZone.getDefault());
    -1111                    }
    -1112    
    -1113                    /**
    -1114                     * Outputs the date in local time (without a timezone). If no timezone
    -1115                     * preference is specified, the date will be formatted as UTC.
    -1116                     * @param localTz true to use local time, false not to
    -1117                     * @return this
    -1118                     */
    -1119                    public DateWriter localTz(boolean localTz) {
    -1120                            return localTz ? tz(TimeZone.getDefault()) : this;
    -1121                    }
    -1122    
    -1123                    /**
    -1124                     * Convenience method that combines {@link #localTz(boolean)} and
    -1125                     * {@link #tzid(String)} into one method.
    -1126                     * @param localTz true to use local time, false not to
    -1127                     * @param timezoneId the timezone ID
    -1128                     * @return this
    -1129                     */
    -1130                    public DateWriter tz(boolean localTz, String timezoneId) {
    -1131                            return localTz ? localTz(true) : tzid(timezoneId);
    -1132                    }
    -1133    
    -1134                    /**
    -1135                     * Sets the timezone to format the date as. If no timezone preference is
    -1136                     * specified, the date will be formatted as UTC.
    -1137                     * @param timezone the timezone
    -1138                     * @return this
    -1139                     */
    -1140                    public DateWriter tz(TimeZone timezone) {
    -1141                            this.timezone = timezone;
    -1142                            return this;
    -1143                    }
    -1144    
    -1145                    /**
    -1146                     * Sets whether to use extended format or basic.
    -1147                     * @param extended true to use extended format, false to use basic
    -1148                     * (defaults to "false")
    -1149                     * @return this
    -1150                     */
    -1151                    public DateWriter extended(boolean extended) {
    -1152                            this.extended = extended;
    -1153                            return this;
    -1154                    }
    -1155    
    -1156                    /**
    -1157                     * Creates the date string.
    -1158                     * @return the date string
    -1159                     */
    -1160                    public String write() {
    -1161                            ISOFormat format;
    -1162                            TimeZone timezone = this.timezone;
    -1163                            if (hasTime) {
    -1164                                    if (timezone == null) {
    -1165                                            format = extended ? ISOFormat.UTC_TIME_EXTENDED : ISOFormat.UTC_TIME_BASIC;
    -1166                                    } else {
    -1167                                            format = extended ? ISOFormat.TIME_EXTENDED_WITHOUT_TZ : ISOFormat.TIME_BASIC_WITHOUT_TZ;
    -1168                                    }
    -1169                            } else {
    -1170                                    format = extended ? ISOFormat.DATE_EXTENDED : ISOFormat.DATE_BASIC;
    -1171                                    timezone = null;
    -1172                            }
    -1173    
    -1174                            return ICalDateFormatter.format(date, format, timezone);
    -1175                    }
    -1176            }
    -1177    
    -1178            /**
    -1179             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1180             * that the parser expected to find are missing from the property's XML
    -1181             * element.
    -1182             * @param dataTypes the expected data types (null for "unknown")
    -1183             */
    -1184            protected static CannotParseException missingXmlElements(ICalDataType... dataTypes) {
    -1185                    String[] elements = new String[dataTypes.length];
    -1186                    for (int i = 0; i < dataTypes.length; i++) {
    -1187                            ICalDataType dataType = dataTypes[i];
    -1188                            elements[i] = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -1189                    }
    -1190                    return missingXmlElements(elements);
    -1191            }
    -1192    
    -1193            /**
    -1194             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1195             * that the parser expected to find are missing from property's XML element.
    -1196             * @param elements the names of the expected XML elements.
    -1197             */
    -1198            protected static CannotParseException missingXmlElements(String... elements) {
    -1199                    String message;
    -1200    
    -1201                    switch (elements.length) {
    -1202                    case 0:
    -1203                            message = "Property value empty.";
    -1204                            break;
    -1205                    case 1:
    -1206                            message = "Property value empty (no <" + elements[0] + "> element found).";
    -1207                            break;
    -1208                    case 2:
    -1209                            message = "Property value empty (no <" + elements[0] + "> or <" + elements[1] + "> elements found).";
    -1210                            break;
    -1211                    default:
    -1212                            StringBuilder sb = new StringBuilder();
    -1213    
    -1214                            sb.append("Property value empty (no ");
    -1215                            join(Arrays.asList(elements).subList(0, elements.length - 1), ", ", sb, new JoinCallback<String>() {
    -1216                                    public void handle(StringBuilder sb, String value) {
    -1217                                            sb.append('<').append(value).append('>');
    -1218                                    }
    -1219                            });
    -1220                            sb.append(", or <").append(elements[elements.length - 1]).append("> elements found).");
    -1221    
    -1222                            message = sb.toString();
    -1223                            break;
    -1224                    }
    -1225    
    -1226                    return new CannotParseException(message);
    -1227            }
    -1228    
    -1229            /**
    -1230             * Represents the result of an unmarshal operation.
    -1231             * @author Michael Angstadt
    -1232             * @param <T> the unmarshalled property class
    -1233             */
    -1234            public static class Result<T extends ICalProperty> {
    -1235                    private final T property;
    -1236                    private final List<String> warnings;
    -1237    
    -1238                    /**
    -1239                     * Creates a new result.
    -1240                     * @param property the property object
    -1241                     * @param warnings the warnings
    -1242                     */
    -1243                    public Result(T property, List<String> warnings) {
    -1244                            this.property = property;
    -1245                            this.warnings = warnings;
    -1246                    }
    -1247    
    -1248                    /**
    -1249                     * Gets the warnings.
    -1250                     * @return the warnings
    -1251                     */
    -1252                    public List<String> getWarnings() {
    -1253                            return warnings;
    -1254                    }
    -1255    
    -1256                    /**
    -1257                     * Gets the property object.
    -1258                     * @return the property object
    -1259                     */
    -1260                    public T getProperty() {
    -1261                            return property;
    -1262                    }
    -1263            }
    -1264    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.SemiStructuredIterator.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.SemiStructuredIterator.html deleted file mode 100644 index 40770513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.SemiStructuredIterator.html +++ /dev/null @@ -1,1330 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.StringUtils.join;
    -005    
    -006    import java.util.ArrayList;
    -007    import java.util.Arrays;
    -008    import java.util.Collection;
    -009    import java.util.Date;
    -010    import java.util.Iterator;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    import java.util.TimeZone;
    -014    import java.util.regex.Pattern;
    -015    
    -016    import javax.xml.namespace.QName;
    -017    
    -018    import org.w3c.dom.Element;
    -019    
    -020    import biweekly.ICalDataType;
    -021    import biweekly.ICalendar;
    -022    import biweekly.io.CannotParseException;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.io.json.JCalValue;
    -025    import biweekly.io.text.ICalRawWriter;
    -026    import biweekly.io.xml.XCalElement;
    -027    import biweekly.parameter.ICalParameters;
    -028    import biweekly.property.ICalProperty;
    -029    import biweekly.util.ICalDateFormatter;
    -030    import biweekly.util.ISOFormat;
    -031    import biweekly.util.ListMultimap;
    -032    import biweekly.util.StringUtils;
    -033    import biweekly.util.StringUtils.JoinCallback;
    -034    import biweekly.util.StringUtils.JoinMapCallback;
    -035    import biweekly.util.XmlUtils;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * Base class for iCalendar property marshallers.
    -064     * @param <T> the property class
    -065     * @author Michael Angstadt
    -066     */
    -067    public abstract class ICalPropertyMarshaller<T extends ICalProperty> {
    -068            protected final Class<T> clazz;
    -069            protected final String propertyName;
    -070            protected final ICalDataType defaultDataType;
    -071            protected final QName qname;
    -072    
    -073            /**
    -074             * Creates a new marshaller.
    -075             * @param clazz the property class
    -076             * @param propertyName the property name (e.g. "VERSION")
    -077             * @param defaultDataType the property's default data type (e.g. "text") or
    -078             * null if unknown
    -079             */
    -080            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType) {
    -081                    this(clazz, propertyName, defaultDataType, new QName(XCAL_NS, propertyName.toLowerCase()));
    -082            }
    -083    
    -084            /**
    -085             * Creates a new marshaller.
    -086             * @param clazz the property class
    -087             * @param propertyName the property name (e.g. "VERSION")
    -088             * @param defaultDataType the property's default data type (e.g. "text") or
    -089             * null if unknown
    -090             * @param qname the XML element name and namespace to use for xCal documents
    -091             * (by default, the XML element name is set to the lower-cased property
    -092             * name, and the element namespace is set to the xCal namespace)
    -093             */
    -094            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType, QName qname) {
    -095                    this.clazz = clazz;
    -096                    this.propertyName = propertyName;
    -097                    this.defaultDataType = defaultDataType;
    -098                    this.qname = qname;
    -099            }
    -100    
    -101            /**
    -102             * Gets the property class.
    -103             * @return the property class
    -104             */
    -105            public Class<T> getPropertyClass() {
    -106                    return clazz;
    -107            }
    -108    
    -109            /**
    -110             * Gets the property name.
    -111             * @return the property name (e.g. "VERSION")
    -112             */
    -113            public String getPropertyName() {
    -114                    return propertyName;
    -115            }
    -116    
    -117            /**
    -118             * Gets the property's default data type.
    -119             * @return the default data type (e.g. "text") or null if unknown
    -120             */
    -121            public ICalDataType getDefaultDataType() {
    -122                    return defaultDataType;
    -123            }
    -124    
    -125            /**
    -126             * Gets this property's local name and namespace for xCal documents.
    -127             * @return the XML local name and namespace
    -128             */
    -129            public QName getQName() {
    -130                    return qname;
    -131            }
    -132    
    -133            /**
    -134             * Sanitizes a property's parameters (called before the property is
    -135             * written). Note that a copy of the parameters is returned so that the
    -136             * property object does not get modified.
    -137             * @param property the property
    -138             * @return the sanitized parameters
    -139             */
    -140            public final ICalParameters prepareParameters(T property) {
    -141                    //make a copy because the property should not get modified when it is marshalled
    -142                    ICalParameters copy = new ICalParameters(property.getParameters());
    -143                    _prepareParameters(property, copy);
    -144                    return copy;
    -145            }
    -146    
    -147            /**
    -148             * Determines the data type of a property instance.
    -149             * @param property the property
    -150             * @return the data type or null if unknown
    -151             */
    -152            public final ICalDataType dataType(T property) {
    -153                    return _dataType(property);
    -154            }
    -155    
    -156            /**
    -157             * Marshals a property's value to a string.
    -158             * @param property the property
    -159             * @return the marshalled value
    -160             * @throws SkipMeException if the property should not be written to the data
    -161             * stream
    -162             */
    -163            public final String writeText(T property) {
    -164                    return _writeText(property);
    -165            }
    -166    
    -167            /**
    -168             * Marshals a property's value to an XML element (xCal).
    -169             * @param property the property
    -170             * @param element the property's XML element
    -171             * @throws SkipMeException if the property should not be written to the data
    -172             * stream
    -173             */
    -174            public final void writeXml(T property, Element element) {
    -175                    XCalElement xcalElement = new XCalElement(element);
    -176                    _writeXml(property, xcalElement);
    -177            }
    -178    
    -179            /**
    -180             * Marshals a property's value to a JSON data stream (jCal).
    -181             * @param property the property
    -182             * @return the marshalled value
    -183             * @throws SkipMeException if the property should not be written to the data
    -184             * stream
    -185             */
    -186            public final JCalValue writeJson(T property) {
    -187                    return _writeJson(property);
    -188            }
    -189    
    -190            /**
    -191             * Unmarshals a property from a plain-text iCalendar data stream.
    -192             * @param value the value as read off the wire
    -193             * @param dataType the data type of the property value. The property's VALUE
    -194             * parameter is used to determine the data type. If the property has no
    -195             * VALUE parameter, then this parameter will be set to the property's
    -196             * default datatype. Note that the VALUE parameter is removed from the
    -197             * property's parameter list after it has been read.
    -198             * @param parameters the parsed parameters
    -199             * @return the unmarshalled property and its warnings
    -200             * @throws CannotParseException if the marshaller could not parse the
    -201             * property's value
    -202             * @throws SkipMeException if the property should not be added to the final
    -203             * {@link ICalendar} object
    -204             */
    -205            public final Result<T> parseText(String value, ICalDataType dataType, ICalParameters parameters) {
    -206                    List<String> warnings = new ArrayList<String>(0);
    -207                    T property = _parseText(value, dataType, parameters, warnings);
    -208                    property.setParameters(parameters);
    -209                    return new Result<T>(property, warnings);
    -210            }
    -211    
    -212            /**
    -213             * Unmarshals a property's value from an XML document (xCal).
    -214             * @param element the property's XML element
    -215             * @param parameters the property's parameters
    -216             * @return the unmarshalled property and its warnings
    -217             * @throws CannotParseException if the marshaller could not parse the
    -218             * property's value
    -219             * @throws SkipMeException if the property should not be added to the final
    -220             * {@link ICalendar} object
    -221             */
    -222            public final Result<T> parseXml(Element element, ICalParameters parameters) {
    -223                    List<String> warnings = new ArrayList<String>(0);
    -224                    T property = _parseXml(new XCalElement(element), parameters, warnings);
    -225                    property.setParameters(parameters);
    -226                    return new Result<T>(property, warnings);
    -227            }
    -228    
    -229            /**
    -230             * Unmarshals a property's value from a JSON data stream (jCal).
    -231             * @param value the property's JSON value
    -232             * @param dataType the data type
    -233             * @param parameters the parsed parameters
    -234             * @return the unmarshalled property and its warnings
    -235             * @throws CannotParseException if the marshaller could not parse the
    -236             * property's value
    -237             * @throws SkipMeException if the property should not be added to the final
    -238             * {@link ICalendar} object
    -239             */
    -240            public final Result<T> parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters) {
    -241                    List<String> warnings = new ArrayList<String>(0);
    -242                    T property = _parseJson(value, dataType, parameters, warnings);
    -243                    property.setParameters(parameters);
    -244                    return new Result<T>(property, warnings);
    -245            }
    -246    
    -247            /**
    -248             * <p>
    -249             * Sanitizes a property's parameters before the property is written.
    -250             * </p>
    -251             * <p>
    -252             * This method should be overridden by child classes that wish to tweak the
    -253             * property's parameters before the property is written. The default
    -254             * implementation of this method does nothing.
    -255             * </p>
    -256             * @param property the property
    -257             * @param copy the list of parameters to make modifications to (it is a copy
    -258             * of the property's parameters)
    -259             */
    -260            protected void _prepareParameters(T property, ICalParameters copy) {
    -261                    //do nothing
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Determines the data type of a property instance.
    -267             * </p>
    -268             * <p>
    -269             * This method should be overridden by child classes if a property's data
    -270             * type changes depending on its value. The default implementation of this
    -271             * method returns the property's default data type.
    -272             * </p>
    -273             * @param property the property
    -274             * @return the data type or null if unknown
    -275             */
    -276            protected ICalDataType _dataType(T property) {
    -277                    return defaultDataType;
    -278            }
    -279    
    -280            /**
    -281             * Marshals a property's value to a string.
    -282             * @param property the property
    -283             * @return the marshalled value
    -284             * @throws SkipMeException if the property should not be written to the data
    -285             * stream
    -286             */
    -287            protected abstract String _writeText(T property);
    -288    
    -289            /**
    -290             * <p>
    -291             * Marshals a property's value to an XML element (xCal).
    -292             * <p>
    -293             * <p>
    -294             * This method should be overridden by child classes that wish to support
    -295             * xCal. The default implementation of this method will append one child
    -296             * element to the property's XML element. The child element's name will be
    -297             * that of the property's data type (retrieved using the {@link #dataType}
    -298             * method), and the child element's text content will be set to the
    -299             * property's marshalled plain-text value (retrieved using the
    -300             * {@link #writeText} method).
    -301             * </p>
    -302             * @param property the property
    -303             * @param element the property's XML element
    -304             * @throws SkipMeException if the property should not be written to the data
    -305             * stream
    -306             */
    -307            protected void _writeXml(T property, XCalElement element) {
    -308                    String value = writeText(property);
    -309                    ICalDataType dataType = dataType(property);
    -310                    element.append(dataType, value);
    -311            }
    -312    
    -313            /**
    -314             * <p>
    -315             * Marshals a property's value to a JSON data stream (jCal).
    -316             * </p>
    -317             * <p>
    -318             * This method should be overridden by child classes that wish to support
    -319             * jCal. The default implementation of this method will create a jCard
    -320             * property that has a single JSON string value (generated by the
    -321             * {@link #writeText} method).
    -322             * </p>
    -323             * @param property the property
    -324             * @return the marshalled value
    -325             * @throws SkipMeException if the property should not be written to the data
    -326             * stream
    -327             */
    -328            protected JCalValue _writeJson(T property) {
    -329                    String value = writeText(property);
    -330                    return JCalValue.single(value);
    -331            }
    -332    
    -333            /**
    -334             * Unmarshals a property from a plain-text iCalendar data stream.
    -335             * @param value the value as read off the wire
    -336             * @param dataType the data type of the property value. The property's VALUE
    -337             * parameter is used to determine the data type. If the property has no
    -338             * VALUE parameter, then this parameter will be set to the property's
    -339             * default datatype. Note that the VALUE parameter is removed from the
    -340             * property's parameter list after it has been read.
    -341             * @param parameters the parsed parameters. These parameters will be
    -342             * assigned to the property object once this method returns. Therefore, do
    -343             * not assign any parameters to the property object itself whilst inside of
    -344             * this method, or else they will be overwritten.
    -345             * @param warnings allows the programmer to alert the user to any
    -346             * note-worthy (but non-critical) issues that occurred during the
    -347             * unmarshalling process
    -348             * @return the unmarshalled property object
    -349             * @throws CannotParseException if the marshaller could not parse the
    -350             * property's value
    -351             * @throws SkipMeException if the property should not be added to the final
    -352             * {@link ICalendar} object
    -353             */
    -354            protected abstract T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -355    
    -356            /**
    -357             * <p>
    -358             * Unmarshals a property from an XML document (xCal).
    -359             * </p>
    -360             * <p>
    -361             * This method should be overridden by child classes that wish to support
    -362             * xCal. The default implementation of this method will find the first child
    -363             * element with the xCal namespace. The element's name will be used as the
    -364             * property's data type and its text content will be passed into the
    -365             * {@link #_parseText} method. If no such child element is found, then the
    -366             * parent element's text content will be passed into {@link #_parseText} and
    -367             * the data type will be null.
    -368             * </p>
    -369             * @param element the property's XML element
    -370             * @param parameters the parsed parameters. These parameters will be
    -371             * assigned to the property object once this method returns. Therefore, do
    -372             * not assign any parameters to the property object itself whilst inside of
    -373             * this method, or else they will be overwritten.
    -374             * @param warnings allows the programmer to alert the user to any
    -375             * note-worthy (but non-critical) issues that occurred during the
    -376             * unmarshalling process
    -377             * @return the unmarshalled property object
    -378             * @throws CannotParseException if the marshaller could not parse the
    -379             * property's value
    -380             * @throws SkipMeException if the property should not be added to the final
    -381             * {@link ICalendar} object
    -382             */
    -383            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -384                    String value = null;
    -385                    ICalDataType dataType = null;
    -386                    Element rawElement = element.getElement();
    -387    
    -388                    //get the text content of the first child element with the xCard namespace
    -389                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -390                    for (Element child : children) {
    -391                            if (!XCAL_NS.equals(child.getNamespaceURI())) {
    -392                                    continue;
    -393                            }
    -394    
    -395                            dataType = ICalDataType.get(child.getLocalName());
    -396                            value = child.getTextContent();
    -397                            break;
    -398                    }
    -399    
    -400                    if (dataType == null) {
    -401                            //get the text content of the property element
    -402                            value = rawElement.getTextContent();
    -403                    }
    -404    
    -405                    value = escape(value);
    -406                    return _parseText(value, dataType, parameters, warnings);
    -407            }
    -408    
    -409            /**
    -410             * /**
    -411             * <p>
    -412             * Unmarshals a property from a JSON data stream (jCal).
    -413             * </p>
    -414             * <p>
    -415             * This method should be overridden by child classes that wish to support
    -416             * jCal. The default implementation of this method will convert the jCal
    -417             * property value to a string and pass it into the {@link #_parseText}
    -418             * method.
    -419             * </p>
    -420             * 
    -421             * <hr>
    -422             * 
    -423             * <p>
    -424             * The following paragraphs describe the way in which this method's default
    -425             * implementation converts a jCal value to a string:
    -426             * </p>
    -427             * <p>
    -428             * If the jCal value consists of a single, non-array, non-object value, then
    -429             * the value is converted to a string. Special characters (backslashes,
    -430             * commas, and semicolons) are escaped in order to simulate what the value
    -431             * might look like in a plain-text iCalendar object.<br>
    -432             * <code>["x-foo", {}, "text", "the;value"] --&gt; "the\;value"</code><br>
    -433             * <code>["x-foo", {}, "text", 2] --&gt; "2"</code>
    -434             * </p>
    -435             * <p>
    -436             * If the jCal value consists of multiple, non-array, non-object values,
    -437             * then all the values are appended together in a single string, separated
    -438             * by commas. Special characters (backslashes, commas, and semicolons) are
    -439             * escaped for each value in order to prevent commas from being treated as
    -440             * delimiters, and to simulate what the value might look like in a
    -441             * plain-text iCalendar object.<br>
    -442             * <code>["x-foo", {}, "text", "one", "two,three"] --&gt;
    -443             * "one,two\,three"</code>
    -444             * </p>
    -445             * <p>
    -446             * If the jCal value is a single array, then this array is treated as a
    -447             * "structured value", and converted its plain-text representation. Special
    -448             * characters (backslashes, commas, and semicolons) are escaped for each
    -449             * value in order to prevent commas and semicolons from being treated as
    -450             * delimiters.<br>
    -451             * <code>["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
    -452             * --&gt; "one;two,three;four\;five"</code>
    -453             * </p>
    -454             * <p>
    -455             * If the jCal value starts with a JSON object, then the object is converted
    -456             * to a format identical to the one used in the RRULE and EXRULE properties.
    -457             * Special characters (backslashes, commas, semicolons, and equal signs) are
    -458             * escaped for each value in order to preserve the syntax of the string
    -459             * value.<br>
    -460             * <code>["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --&gt; "ONE=1;TWO=2,2.5"</code>
    -461             * </p>
    -462             * <p>
    -463             * For all other cases, behavior is undefined.
    -464             * </p>
    -465             * @param value the property's JSON value
    -466             * @param dataType the data type
    -467             * @param parameters the parsed parameters. These parameters will be
    -468             * assigned to the property object once this method returns. Therefore, do
    -469             * not assign any parameters to the property object itself whilst inside of
    -470             * this method, or else they will be overwritten.
    -471             * @param warnings allows the programmer to alert the user to any
    -472             * note-worthy (but non-critical) issues that occurred during the
    -473             * unmarshalling process
    -474             * @return the unmarshalled property object
    -475             * @throws CannotParseException if the marshaller could not parse the
    -476             * property's value
    -477             * @throws SkipMeException if the property should not be added to the final
    -478             * {@link ICalendar} object
    -479             */
    -480            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -481                    return _parseText(jcalValueToString(value), dataType, parameters, warnings);
    -482            }
    -483    
    -484            private String jcalValueToString(JCalValue value) {
    -485                    if (value.getValues().size() > 1) {
    -486                            List<String> multi = value.asMulti();
    -487                            if (!multi.isEmpty()) {
    -488                                    return list(multi);
    -489                            }
    -490                    }
    -491    
    -492                    if (!value.getValues().isEmpty() && value.getValues().get(0).getArray() != null) {
    -493                            List<List<String>> structured = value.asStructured();
    -494                            if (!structured.isEmpty()) {
    -495                                    return structured(structured.toArray());
    -496                            }
    -497                    }
    -498    
    -499                    if (value.getValues().get(0).getObject() != null) {
    -500                            ListMultimap<String, String> object = value.asObject();
    -501                            if (!object.isEmpty()) {
    -502                                    return object(object.getMap());
    -503                            }
    -504                    }
    -505    
    -506                    return escape(value.asSingle());
    -507            }
    -508    
    -509            /**
    -510             * Unescapes all special characters that are escaped with a backslash, as
    -511             * well as escaped newlines.
    -512             * @param text the text to unescape
    -513             * @return the unescaped text
    -514             */
    -515            protected static String unescape(String text) {
    -516                    if (text == null) {
    -517                            return text;
    -518                    }
    -519    
    -520                    StringBuilder sb = null;
    -521                    boolean escaped = false;
    -522                    for (int i = 0; i < text.length(); i++) {
    -523                            char ch = text.charAt(i);
    -524    
    -525                            if (escaped) {
    -526                                    if (sb == null) {
    -527                                            sb = new StringBuilder(text.length());
    -528                                            sb.append(text.substring(0, i - 1));
    -529                                    }
    -530    
    -531                                    escaped = false;
    -532    
    -533                                    if (ch == 'n' || ch == 'N') {
    -534                                            //newlines appear as "\n" or "\N" (see RFC 5545 p.46)
    -535                                            sb.append(StringUtils.NEWLINE);
    -536                                            continue;
    -537                                    }
    -538    
    -539                                    sb.append(ch);
    -540                                    continue;
    -541                            }
    -542    
    -543                            if (ch == '\\') {
    -544                                    escaped = true;
    -545                                    continue;
    -546                            }
    -547    
    -548                            if (sb != null) {
    -549                                    sb.append(ch);
    -550                            }
    -551                    }
    -552                    return (sb == null) ? text : sb.toString();
    -553            }
    -554    
    -555            /**
    -556             * <p>
    -557             * Escapes all special characters within a iCalendar value. These characters
    -558             * are:
    -559             * </p>
    -560             * <ul>
    -561             * <li>backslashes ({@code \})</li>
    -562             * <li>commas ({@code ,})</li>
    -563             * <li>semi-colons ({@code ;})</li>
    -564             * </ul>
    -565             * <p>
    -566             * Newlines are not escaped by this method. They are escaped when the
    -567             * iCalendar object is serialized (in the {@link ICalRawWriter} class).
    -568             * </p>
    -569             * @param text the text to escape
    -570             * @return the escaped text
    -571             */
    -572            protected static String escape(String text) {
    -573                    if (text == null) {
    -574                            return text;
    -575                    }
    -576    
    -577                    String chars = "\\,;";
    -578                    StringBuilder sb = null;
    -579                    for (int i = 0; i < text.length(); i++) {
    -580                            char ch = text.charAt(i);
    -581                            if (chars.indexOf(ch) >= 0) {
    -582                                    if (sb == null) {
    -583                                            sb = new StringBuilder(text.length());
    -584                                            sb.append(text.substring(0, i));
    -585                                    }
    -586                                    sb.append('\\');
    -587                            }
    -588    
    -589                            if (sb != null) {
    -590                                    sb.append(ch);
    -591                            }
    -592                    }
    -593                    return (sb == null) ? text : sb.toString();
    -594            }
    -595    
    -596            /**
    -597             * Splits a string by a delimiter, taking escaped characters into account.
    -598             * @param string the string to split (e.g. "one,two,three")
    -599             * @param delimiter the delimiter (e.g. ",")
    -600             * @return the factory object
    -601             */
    -602            protected static Splitter split(String string, String delimiter) {
    -603                    return new Splitter(string, delimiter);
    -604            }
    -605    
    -606            /**
    -607             * Factory class for splitting strings.
    -608             */
    -609            protected static class Splitter {
    -610                    private String string;
    -611                    private String delimiter;
    -612                    private boolean removeEmpties = false;
    -613                    private boolean unescape = false;
    -614                    private int limit = -1;
    -615    
    -616                    /**
    -617                     * Creates a new splitter object.
    -618                     * @param string the string to split (e.g. "one,two,three")
    -619                     * @param delimiter the delimiter (e.g. ",")
    -620                     */
    -621                    public Splitter(String string, String delimiter) {
    -622                            this.string = string;
    -623                            this.delimiter = delimiter;
    -624                    }
    -625    
    -626                    /**
    -627                     * Sets whether to remove empty elements.
    -628                     * @param removeEmpties true to remove empty elements, false not to
    -629                     * (default is false)
    -630                     * @return this
    -631                     */
    -632                    public Splitter removeEmpties(boolean removeEmpties) {
    -633                            this.removeEmpties = removeEmpties;
    -634                            return this;
    -635                    }
    -636    
    -637                    /**
    -638                     * Sets whether to unescape each split string.
    -639                     * @param unescape true to unescape, false not to (default is false)
    -640                     * @return this
    -641                     */
    -642                    public Splitter unescape(boolean unescape) {
    -643                            this.unescape = unescape;
    -644                            return this;
    -645                    }
    -646    
    -647                    /**
    -648                     * Sets the max number of split strings it should parse.
    -649                     * @param limit the max number of split strings
    -650                     * @return this
    -651                     */
    -652                    public Splitter limit(int limit) {
    -653                            this.limit = limit;
    -654                            return this;
    -655                    }
    -656    
    -657                    /**
    -658                     * Performs the split operation.
    -659                     * @return the split string
    -660                     */
    -661                    public List<String> split() {
    -662                            //from: http://stackoverflow.com/q/820172">http://stackoverflow.com/q/820172
    -663                            String split[] = string.split("\\s*(?<!\\\\)" + Pattern.quote(delimiter) + "\\s*", limit);
    -664    
    -665                            List<String> list = new ArrayList<String>(split.length);
    -666                            for (String s : split) {
    -667                                    if (s.length() == 0 && removeEmpties) {
    -668                                            continue;
    -669                                    }
    -670    
    -671                                    if (unescape) {
    -672                                            s = ICalPropertyMarshaller.unescape(s);
    -673                                    }
    -674    
    -675                                    list.add(s);
    -676                            }
    -677                            return list;
    -678                    }
    -679            }
    -680    
    -681            /**
    -682             * Parses a comma-separated list of values.
    -683             * @param value the string to parse (e.g. "one,two,th\,ree")
    -684             * @return the parsed values
    -685             */
    -686            protected static List<String> list(String value) {
    -687                    if (value.length() == 0) {
    -688                            return new ArrayList<String>(0);
    -689                    }
    -690                    return split(value, ",").unescape(true).split();
    -691            }
    -692    
    -693            /**
    -694             * Writes a comma-separated list of values.
    -695             * @param values the values to write
    -696             * @return the list
    -697             */
    -698            protected static String list(Object... values) {
    -699                    return list(Arrays.asList(values));
    -700            }
    -701    
    -702            /**
    -703             * Writes a comma-separated list of values.
    -704             * @param values the values to write
    -705             * @return the list
    -706             */
    -707            protected static <T> String list(Collection<T> values) {
    -708                    return list(values, new ListCallback<T>() {
    -709                            public String asString(T value) {
    -710                                    return value.toString();
    -711                            }
    -712                    });
    -713            }
    -714    
    -715            /**
    -716             * Writes a comma-separated list of values.
    -717             * @param values the values to write
    -718             * @param callback callback function used for converting each value to a
    -719             * string
    -720             * @return the list
    -721             */
    -722            protected static <T> String list(Collection<T> values, final ListCallback<T> callback) {
    -723                    return join(values, ",", new JoinCallback<T>() {
    -724                            public void handle(StringBuilder sb, T value) {
    -725                                    if (value == null) {
    -726                                            return;
    -727                                    }
    -728    
    -729                                    String valueStr = callback.asString(value);
    -730                                    sb.append(escape(valueStr));
    -731                            }
    -732                    });
    -733            }
    -734    
    -735            /**
    -736             * Callback function used in conjunction with the
    -737             * {@link ICalPropertyMarshaller#list(Collection, ListCallback) list} method
    -738             * @param <T> the value class
    -739             */
    -740            protected static interface ListCallback<T> {
    -741                    /**
    -742                     * Converts a value to a string.
    -743                     * @param value the value (null values are not passed to this method, so
    -744                     * this parameter will never be null)
    -745                     * @return the string
    -746                     */
    -747                    String asString(T value);
    -748            }
    -749    
    -750            /**
    -751             * Parses a list of values that are delimited by semicolons. Unlike
    -752             * structured value components, semi-structured components cannot be
    -753             * multi-valued.
    -754             * @param value the string to parse (e.g. "one;two;three")
    -755             * @return the parsed values
    -756             */
    -757            protected static SemiStructuredIterator semistructured(String value) {
    -758                    return semistructured(value, -1);
    -759            }
    -760    
    -761            /**
    -762             * Parses a list of values that are delimited by semicolons. Unlike
    -763             * structured value components, semi-structured components cannot be
    -764             * multi-valued.
    -765             * @param value the string to parse (e.g. "one;two;three")
    -766             * @param limit the max number of components to parse
    -767             * @return the parsed values
    -768             */
    -769            protected static SemiStructuredIterator semistructured(String value, int limit) {
    -770                    List<String> split = split(value, ";").unescape(true).limit(limit).split();
    -771                    return new SemiStructuredIterator(split.iterator());
    -772            }
    -773    
    -774            /**
    -775             * Parses a structured value.
    -776             * @param value the string to parse (e.g. "one;two,three;four")
    -777             * @return the parsed values
    -778             */
    -779            protected static StructuredIterator structured(String value) {
    -780                    List<String> split = split(value, ";").split();
    -781                    List<List<String>> components = new ArrayList<List<String>>(split.size());
    -782                    for (String s : split) {
    -783                            components.add(list(s));
    -784                    }
    -785                    return new StructuredIterator(components.iterator());
    -786            }
    -787    
    -788            /**
    -789             * Provides an iterator for a jCard structured value.
    -790             * @param value the jCard value
    -791             * @return the parsed values
    -792             */
    -793            protected static StructuredIterator structured(JCalValue value) {
    -794                    return new StructuredIterator(value.asStructured().iterator());
    -795            }
    -796    
    -797            /**
    -798             * <p>
    -799             * Writes a structured value.
    -800             * </p>
    -801             * <p>
    -802             * This method accepts a list of {@link Object} instances.
    -803             * {@link Collection} objects will be treated as multi-valued components.
    -804             * Null objects will be treated as empty components. All other objects will
    -805             * have their {@code toString()} method invoked to generate the string
    -806             * value.
    -807             * </p>
    -808             * @param values the values to write
    -809             * @return the structured value string
    -810             */
    -811            protected static String structured(Object... values) {
    -812                    return join(Arrays.asList(values), ";", new JoinCallback<Object>() {
    -813                            public void handle(StringBuilder sb, Object value) {
    -814                                    if (value == null) {
    -815                                            return;
    -816                                    }
    -817    
    -818                                    if (value instanceof Collection) {
    -819                                            Collection<?> list = (Collection<?>) value;
    -820                                            sb.append(list(list));
    -821                                            return;
    -822                                    }
    -823    
    -824                                    sb.append(escape(value.toString()));
    -825                            }
    -826                    });
    -827            }
    -828    
    -829            /**
    -830             * Iterates over the fields in a structured value.
    -831             */
    -832            protected static class StructuredIterator {
    -833                    private final Iterator<List<String>> it;
    -834    
    -835                    /**
    -836                     * Constructs a new structured iterator.
    -837                     * @param it the iterator to wrap
    -838                     */
    -839                    public StructuredIterator(Iterator<List<String>> it) {
    -840                            this.it = it;
    -841                    }
    -842    
    -843                    /**
    -844                     * Gets the first value of the next component.
    -845                     * @return the first value, null if the value is an empty string, or
    -846                     * null if there are no more components
    -847                     */
    -848                    public String nextString() {
    -849                            if (!hasNext()) {
    -850                                    return null;
    -851                            }
    -852    
    -853                            List<String> list = it.next();
    -854                            if (list.isEmpty()) {
    -855                                    return null;
    -856                            }
    -857    
    -858                            String value = list.get(0);
    -859                            return (value.length() == 0) ? null : value;
    -860                    }
    -861    
    -862                    /**
    -863                     * Gets the next component.
    -864                     * @return the next component, an empty list if the component is empty,
    -865                     * or an empty list of there are no more components
    -866                     */
    -867                    public List<String> nextComponent() {
    -868                            if (!hasNext()) {
    -869                                    return new ArrayList<String>(0); //the lists should be mutable so they can be directly assigned to the property object's fields
    -870                            }
    -871    
    -872                            List<String> list = it.next();
    -873                            if (list.size() == 1 && list.get(0).length() == 0) {
    -874                                    return new ArrayList<String>(0);
    -875                            }
    -876    
    -877                            return list;
    -878                    }
    -879    
    -880                    /**
    -881                     * Determines if there are any elements left in the value.
    -882                     * @return true if there are elements left, false if not
    -883                     */
    -884                    public boolean hasNext() {
    -885                            return it.hasNext();
    -886                    }
    -887            }
    -888    
    -889            /**
    -890             * Iterates over the fields in a semi-structured value (a structured value
    -891             * whose components cannot be multi-valued).
    -892             */
    -893            protected static class SemiStructuredIterator {
    -894                    private final Iterator<String> it;
    -895    
    -896                    /**
    -897                     * Constructs a new structured iterator.
    -898                     * @param it the iterator to wrap
    -899                     */
    -900                    public SemiStructuredIterator(Iterator<String> it) {
    -901                            this.it = it;
    -902                    }
    -903    
    -904                    /**
    -905                     * Gets the next value.
    -906                     * @return the next value, null if the value is an empty string, or null
    -907                     * if there are no more values
    -908                     */
    -909                    public String next() {
    -910                            if (!hasNext()) {
    -911                                    return null;
    -912                            }
    -913    
    -914                            String value = it.next();
    -915                            return (value.length() == 0) ? null : value;
    -916                    }
    -917    
    -918                    /**
    -919                     * Determines if there are any elements left in the value.
    -920                     * @return true if there are elements left, false if not
    -921                     */
    -922                    public boolean hasNext() {
    -923                            return it.hasNext();
    -924                    }
    -925            }
    -926    
    -927            /**
    -928             * Writes an object property value to a string.
    -929             * @param value the value
    -930             * @return the string
    -931             */
    -932            protected static <T> String object(Map<String, List<T>> value) {
    -933                    return join(value, ";", new JoinMapCallback<String, List<T>>() {
    -934                            public void handle(StringBuilder sb, String key, List<T> value) {
    -935                                    sb.append(key.toUpperCase()).append('=').append(list(value));
    -936                            }
    -937                    });
    -938            }
    -939    
    -940            /**
    -941             * Parses an object property value.
    -942             * @param value the value to parse
    -943             * @return the parsed value
    -944             */
    -945            protected static ListMultimap<String, String> object(String value) {
    -946                    ListMultimap<String, String> map = new ListMultimap<String, String>();
    -947    
    -948                    for (String component : split(value, ";").unescape(false).removeEmpties(true).split()) {
    -949                            String[] split = component.split("=", 2);
    -950    
    -951                            String name = unescape(split[0].toUpperCase());
    -952                            List<String> values = (split.length > 1) ? list(split[1]) : Arrays.asList("");
    -953    
    -954                            map.putAll(name, values);
    -955                    }
    -956    
    -957                    return map;
    -958            }
    -959    
    -960            /**
    -961             * Parses a date string.
    -962             * @param value the date string
    -963             * @return the factory object
    -964             */
    -965            protected static DateParser date(String value) {
    -966                    return new DateParser(value);
    -967            }
    -968    
    -969            /**
    -970             * Formats a {@link Date} object as a string.
    -971             * @param date the date
    -972             * @return the factory object
    -973             */
    -974            protected static DateWriter date(Date date) {
    -975                    return new DateWriter(date);
    -976            }
    -977    
    -978            /**
    -979             * Factory class for parsing dates.
    -980             */
    -981            protected static class DateParser {
    -982                    private String value;
    -983                    private TimeZone timezone;
    -984    
    -985                    /**
    -986                     * Creates a new date writer object.
    -987                     * @param value the date string to parse
    -988                     */
    -989                    public DateParser(String value) {
    -990                            this.value = value;
    -991                    }
    -992    
    -993                    /**
    -994                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -995                     * value). If the ID does not contain a "/" character, it will be
    -996                     * ignored.
    -997                     * @param timezoneId the timezone ID
    -998                     * @return this
    -999                     */
    -1000                    public DateParser tzid(String timezoneId) {
    -1001                            return tzid(timezoneId, null);
    -1002                    }
    -1003    
    -1004                    /**
    -1005                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -1006                     * value).
    -1007                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1008                     * "/" character), it will attempt to look up the timezone in Java's
    -1009                     * timezone registry and parse the date according to that timezone. If
    -1010                     * the timezone is not found, the date will be parsed according to the
    -1011                     * JVM's default timezone and a warning message will be added to the
    -1012                     * provided warnings list. If the ID is not global, it will be parsed
    -1013                     * according to the JVM's default timezone. Whichever timezone is chosen
    -1014                     * here, it will be ignored if the date string is in UTC time or
    -1015                     * contains an offset.
    -1016                     * @param warnings if the ID is global and is not recognized, a warning
    -1017                     * message will be added to this list
    -1018                     * @return this
    -1019                     */
    -1020                    public DateParser tzid(String timezoneId, List<String> warnings) {
    -1021                            if (timezoneId == null) {
    -1022                                    return tz(null);
    -1023                            }
    -1024    
    -1025                            if (timezoneId.contains("/")) {
    -1026                                    TimeZone timezone = ICalDateFormatter.parseTimeZoneId(timezoneId);
    -1027                                    if (timezone == null) {
    -1028                                            timezone = TimeZone.getDefault();
    -1029                                            if (warnings != null) {
    -1030                                                    warnings.add("Timezone ID not recognized, parsing with default timezone instead: " + timezoneId);
    -1031                                            }
    -1032                                    }
    -1033                                    return tz(timezone);
    -1034                            }
    -1035    
    -1036                            //TODO parse according to the associated VTIMEZONE component
    -1037                            return tz(TimeZone.getDefault());
    -1038                    }
    -1039    
    -1040                    /**
    -1041                     * Sets the timezone to parse the date as.
    -1042                     * @param timezone the timezone
    -1043                     * @return this
    -1044                     */
    -1045                    public DateParser tz(TimeZone timezone) {
    -1046                            this.timezone = timezone;
    -1047                            return this;
    -1048                    }
    -1049    
    -1050                    /**
    -1051                     * Parses the date string.
    -1052                     * @return the parsed date
    -1053                     * @throws IllegalArgumentException if the date string is invalid
    -1054                     */
    -1055                    public Date parse() {
    -1056                            return ICalDateFormatter.parse(value, timezone);
    -1057                    }
    -1058            }
    -1059    
    -1060            /**
    -1061             * Factory class for writing dates.
    -1062             */
    -1063            protected static class DateWriter {
    -1064                    private Date date;
    -1065                    private boolean hasTime = true;
    -1066                    private TimeZone timezone;
    -1067                    private boolean extended = false;
    -1068    
    -1069                    /**
    -1070                     * Creates a new date writer object.
    -1071                     * @param date the date to format
    -1072                     */
    -1073                    public DateWriter(Date date) {
    -1074                            this.date = date;
    -1075                    }
    -1076    
    -1077                    /**
    -1078                     * Sets whether to output the date's time component.
    -1079                     * @param hasTime true include the time, false if it's strictly a date
    -1080                     * (defaults to "true")
    -1081                     * @return this
    -1082                     */
    -1083                    public DateWriter time(boolean hasTime) {
    -1084                            this.hasTime = hasTime;
    -1085                            return this;
    -1086                    }
    -1087    
    -1088                    /**
    -1089                     * Sets the ID of the timezone to format the date as (TZID parameter
    -1090                     * value).
    -1091                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1092                     * "/" character), it will attempt to look up the timezone in Java's
    -1093                     * timezone registry and format the date according to that timezone. If
    -1094                     * the timezone is not found, the date will be formatted in UTC. If the
    -1095                     * ID is not global, it will be formatted according to the JVM's default
    -1096                     * timezone. If no timezone preference is specified, the date will be
    -1097                     * formatted as UTC.
    -1098                     * @return this
    -1099                     */
    -1100                    public DateWriter tzid(String timezoneId) {
    -1101                            if (timezoneId == null) {
    -1102                                    return tz(null);
    -1103                            }
    -1104    
    -1105                            if (timezoneId.contains("/")) {
    -1106                                    return tz(ICalDateFormatter.parseTimeZoneId(timezoneId));
    -1107                            }
    -1108    
    -1109                            //TODO format according to the associated VTIMEZONE component
    -1110                            return tz(TimeZone.getDefault());
    -1111                    }
    -1112    
    -1113                    /**
    -1114                     * Outputs the date in local time (without a timezone). If no timezone
    -1115                     * preference is specified, the date will be formatted as UTC.
    -1116                     * @param localTz true to use local time, false not to
    -1117                     * @return this
    -1118                     */
    -1119                    public DateWriter localTz(boolean localTz) {
    -1120                            return localTz ? tz(TimeZone.getDefault()) : this;
    -1121                    }
    -1122    
    -1123                    /**
    -1124                     * Convenience method that combines {@link #localTz(boolean)} and
    -1125                     * {@link #tzid(String)} into one method.
    -1126                     * @param localTz true to use local time, false not to
    -1127                     * @param timezoneId the timezone ID
    -1128                     * @return this
    -1129                     */
    -1130                    public DateWriter tz(boolean localTz, String timezoneId) {
    -1131                            return localTz ? localTz(true) : tzid(timezoneId);
    -1132                    }
    -1133    
    -1134                    /**
    -1135                     * Sets the timezone to format the date as. If no timezone preference is
    -1136                     * specified, the date will be formatted as UTC.
    -1137                     * @param timezone the timezone
    -1138                     * @return this
    -1139                     */
    -1140                    public DateWriter tz(TimeZone timezone) {
    -1141                            this.timezone = timezone;
    -1142                            return this;
    -1143                    }
    -1144    
    -1145                    /**
    -1146                     * Sets whether to use extended format or basic.
    -1147                     * @param extended true to use extended format, false to use basic
    -1148                     * (defaults to "false")
    -1149                     * @return this
    -1150                     */
    -1151                    public DateWriter extended(boolean extended) {
    -1152                            this.extended = extended;
    -1153                            return this;
    -1154                    }
    -1155    
    -1156                    /**
    -1157                     * Creates the date string.
    -1158                     * @return the date string
    -1159                     */
    -1160                    public String write() {
    -1161                            ISOFormat format;
    -1162                            TimeZone timezone = this.timezone;
    -1163                            if (hasTime) {
    -1164                                    if (timezone == null) {
    -1165                                            format = extended ? ISOFormat.UTC_TIME_EXTENDED : ISOFormat.UTC_TIME_BASIC;
    -1166                                    } else {
    -1167                                            format = extended ? ISOFormat.TIME_EXTENDED_WITHOUT_TZ : ISOFormat.TIME_BASIC_WITHOUT_TZ;
    -1168                                    }
    -1169                            } else {
    -1170                                    format = extended ? ISOFormat.DATE_EXTENDED : ISOFormat.DATE_BASIC;
    -1171                                    timezone = null;
    -1172                            }
    -1173    
    -1174                            return ICalDateFormatter.format(date, format, timezone);
    -1175                    }
    -1176            }
    -1177    
    -1178            /**
    -1179             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1180             * that the parser expected to find are missing from the property's XML
    -1181             * element.
    -1182             * @param dataTypes the expected data types (null for "unknown")
    -1183             */
    -1184            protected static CannotParseException missingXmlElements(ICalDataType... dataTypes) {
    -1185                    String[] elements = new String[dataTypes.length];
    -1186                    for (int i = 0; i < dataTypes.length; i++) {
    -1187                            ICalDataType dataType = dataTypes[i];
    -1188                            elements[i] = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -1189                    }
    -1190                    return missingXmlElements(elements);
    -1191            }
    -1192    
    -1193            /**
    -1194             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1195             * that the parser expected to find are missing from property's XML element.
    -1196             * @param elements the names of the expected XML elements.
    -1197             */
    -1198            protected static CannotParseException missingXmlElements(String... elements) {
    -1199                    String message;
    -1200    
    -1201                    switch (elements.length) {
    -1202                    case 0:
    -1203                            message = "Property value empty.";
    -1204                            break;
    -1205                    case 1:
    -1206                            message = "Property value empty (no <" + elements[0] + "> element found).";
    -1207                            break;
    -1208                    case 2:
    -1209                            message = "Property value empty (no <" + elements[0] + "> or <" + elements[1] + "> elements found).";
    -1210                            break;
    -1211                    default:
    -1212                            StringBuilder sb = new StringBuilder();
    -1213    
    -1214                            sb.append("Property value empty (no ");
    -1215                            join(Arrays.asList(elements).subList(0, elements.length - 1), ", ", sb, new JoinCallback<String>() {
    -1216                                    public void handle(StringBuilder sb, String value) {
    -1217                                            sb.append('<').append(value).append('>');
    -1218                                    }
    -1219                            });
    -1220                            sb.append(", or <").append(elements[elements.length - 1]).append("> elements found).");
    -1221    
    -1222                            message = sb.toString();
    -1223                            break;
    -1224                    }
    -1225    
    -1226                    return new CannotParseException(message);
    -1227            }
    -1228    
    -1229            /**
    -1230             * Represents the result of an unmarshal operation.
    -1231             * @author Michael Angstadt
    -1232             * @param <T> the unmarshalled property class
    -1233             */
    -1234            public static class Result<T extends ICalProperty> {
    -1235                    private final T property;
    -1236                    private final List<String> warnings;
    -1237    
    -1238                    /**
    -1239                     * Creates a new result.
    -1240                     * @param property the property object
    -1241                     * @param warnings the warnings
    -1242                     */
    -1243                    public Result(T property, List<String> warnings) {
    -1244                            this.property = property;
    -1245                            this.warnings = warnings;
    -1246                    }
    -1247    
    -1248                    /**
    -1249                     * Gets the warnings.
    -1250                     * @return the warnings
    -1251                     */
    -1252                    public List<String> getWarnings() {
    -1253                            return warnings;
    -1254                    }
    -1255    
    -1256                    /**
    -1257                     * Gets the property object.
    -1258                     * @return the property object
    -1259                     */
    -1260                    public T getProperty() {
    -1261                            return property;
    -1262                    }
    -1263            }
    -1264    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.Splitter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.Splitter.html deleted file mode 100644 index 40770513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.Splitter.html +++ /dev/null @@ -1,1330 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.StringUtils.join;
    -005    
    -006    import java.util.ArrayList;
    -007    import java.util.Arrays;
    -008    import java.util.Collection;
    -009    import java.util.Date;
    -010    import java.util.Iterator;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    import java.util.TimeZone;
    -014    import java.util.regex.Pattern;
    -015    
    -016    import javax.xml.namespace.QName;
    -017    
    -018    import org.w3c.dom.Element;
    -019    
    -020    import biweekly.ICalDataType;
    -021    import biweekly.ICalendar;
    -022    import biweekly.io.CannotParseException;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.io.json.JCalValue;
    -025    import biweekly.io.text.ICalRawWriter;
    -026    import biweekly.io.xml.XCalElement;
    -027    import biweekly.parameter.ICalParameters;
    -028    import biweekly.property.ICalProperty;
    -029    import biweekly.util.ICalDateFormatter;
    -030    import biweekly.util.ISOFormat;
    -031    import biweekly.util.ListMultimap;
    -032    import biweekly.util.StringUtils;
    -033    import biweekly.util.StringUtils.JoinCallback;
    -034    import biweekly.util.StringUtils.JoinMapCallback;
    -035    import biweekly.util.XmlUtils;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * Base class for iCalendar property marshallers.
    -064     * @param <T> the property class
    -065     * @author Michael Angstadt
    -066     */
    -067    public abstract class ICalPropertyMarshaller<T extends ICalProperty> {
    -068            protected final Class<T> clazz;
    -069            protected final String propertyName;
    -070            protected final ICalDataType defaultDataType;
    -071            protected final QName qname;
    -072    
    -073            /**
    -074             * Creates a new marshaller.
    -075             * @param clazz the property class
    -076             * @param propertyName the property name (e.g. "VERSION")
    -077             * @param defaultDataType the property's default data type (e.g. "text") or
    -078             * null if unknown
    -079             */
    -080            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType) {
    -081                    this(clazz, propertyName, defaultDataType, new QName(XCAL_NS, propertyName.toLowerCase()));
    -082            }
    -083    
    -084            /**
    -085             * Creates a new marshaller.
    -086             * @param clazz the property class
    -087             * @param propertyName the property name (e.g. "VERSION")
    -088             * @param defaultDataType the property's default data type (e.g. "text") or
    -089             * null if unknown
    -090             * @param qname the XML element name and namespace to use for xCal documents
    -091             * (by default, the XML element name is set to the lower-cased property
    -092             * name, and the element namespace is set to the xCal namespace)
    -093             */
    -094            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType, QName qname) {
    -095                    this.clazz = clazz;
    -096                    this.propertyName = propertyName;
    -097                    this.defaultDataType = defaultDataType;
    -098                    this.qname = qname;
    -099            }
    -100    
    -101            /**
    -102             * Gets the property class.
    -103             * @return the property class
    -104             */
    -105            public Class<T> getPropertyClass() {
    -106                    return clazz;
    -107            }
    -108    
    -109            /**
    -110             * Gets the property name.
    -111             * @return the property name (e.g. "VERSION")
    -112             */
    -113            public String getPropertyName() {
    -114                    return propertyName;
    -115            }
    -116    
    -117            /**
    -118             * Gets the property's default data type.
    -119             * @return the default data type (e.g. "text") or null if unknown
    -120             */
    -121            public ICalDataType getDefaultDataType() {
    -122                    return defaultDataType;
    -123            }
    -124    
    -125            /**
    -126             * Gets this property's local name and namespace for xCal documents.
    -127             * @return the XML local name and namespace
    -128             */
    -129            public QName getQName() {
    -130                    return qname;
    -131            }
    -132    
    -133            /**
    -134             * Sanitizes a property's parameters (called before the property is
    -135             * written). Note that a copy of the parameters is returned so that the
    -136             * property object does not get modified.
    -137             * @param property the property
    -138             * @return the sanitized parameters
    -139             */
    -140            public final ICalParameters prepareParameters(T property) {
    -141                    //make a copy because the property should not get modified when it is marshalled
    -142                    ICalParameters copy = new ICalParameters(property.getParameters());
    -143                    _prepareParameters(property, copy);
    -144                    return copy;
    -145            }
    -146    
    -147            /**
    -148             * Determines the data type of a property instance.
    -149             * @param property the property
    -150             * @return the data type or null if unknown
    -151             */
    -152            public final ICalDataType dataType(T property) {
    -153                    return _dataType(property);
    -154            }
    -155    
    -156            /**
    -157             * Marshals a property's value to a string.
    -158             * @param property the property
    -159             * @return the marshalled value
    -160             * @throws SkipMeException if the property should not be written to the data
    -161             * stream
    -162             */
    -163            public final String writeText(T property) {
    -164                    return _writeText(property);
    -165            }
    -166    
    -167            /**
    -168             * Marshals a property's value to an XML element (xCal).
    -169             * @param property the property
    -170             * @param element the property's XML element
    -171             * @throws SkipMeException if the property should not be written to the data
    -172             * stream
    -173             */
    -174            public final void writeXml(T property, Element element) {
    -175                    XCalElement xcalElement = new XCalElement(element);
    -176                    _writeXml(property, xcalElement);
    -177            }
    -178    
    -179            /**
    -180             * Marshals a property's value to a JSON data stream (jCal).
    -181             * @param property the property
    -182             * @return the marshalled value
    -183             * @throws SkipMeException if the property should not be written to the data
    -184             * stream
    -185             */
    -186            public final JCalValue writeJson(T property) {
    -187                    return _writeJson(property);
    -188            }
    -189    
    -190            /**
    -191             * Unmarshals a property from a plain-text iCalendar data stream.
    -192             * @param value the value as read off the wire
    -193             * @param dataType the data type of the property value. The property's VALUE
    -194             * parameter is used to determine the data type. If the property has no
    -195             * VALUE parameter, then this parameter will be set to the property's
    -196             * default datatype. Note that the VALUE parameter is removed from the
    -197             * property's parameter list after it has been read.
    -198             * @param parameters the parsed parameters
    -199             * @return the unmarshalled property and its warnings
    -200             * @throws CannotParseException if the marshaller could not parse the
    -201             * property's value
    -202             * @throws SkipMeException if the property should not be added to the final
    -203             * {@link ICalendar} object
    -204             */
    -205            public final Result<T> parseText(String value, ICalDataType dataType, ICalParameters parameters) {
    -206                    List<String> warnings = new ArrayList<String>(0);
    -207                    T property = _parseText(value, dataType, parameters, warnings);
    -208                    property.setParameters(parameters);
    -209                    return new Result<T>(property, warnings);
    -210            }
    -211    
    -212            /**
    -213             * Unmarshals a property's value from an XML document (xCal).
    -214             * @param element the property's XML element
    -215             * @param parameters the property's parameters
    -216             * @return the unmarshalled property and its warnings
    -217             * @throws CannotParseException if the marshaller could not parse the
    -218             * property's value
    -219             * @throws SkipMeException if the property should not be added to the final
    -220             * {@link ICalendar} object
    -221             */
    -222            public final Result<T> parseXml(Element element, ICalParameters parameters) {
    -223                    List<String> warnings = new ArrayList<String>(0);
    -224                    T property = _parseXml(new XCalElement(element), parameters, warnings);
    -225                    property.setParameters(parameters);
    -226                    return new Result<T>(property, warnings);
    -227            }
    -228    
    -229            /**
    -230             * Unmarshals a property's value from a JSON data stream (jCal).
    -231             * @param value the property's JSON value
    -232             * @param dataType the data type
    -233             * @param parameters the parsed parameters
    -234             * @return the unmarshalled property and its warnings
    -235             * @throws CannotParseException if the marshaller could not parse the
    -236             * property's value
    -237             * @throws SkipMeException if the property should not be added to the final
    -238             * {@link ICalendar} object
    -239             */
    -240            public final Result<T> parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters) {
    -241                    List<String> warnings = new ArrayList<String>(0);
    -242                    T property = _parseJson(value, dataType, parameters, warnings);
    -243                    property.setParameters(parameters);
    -244                    return new Result<T>(property, warnings);
    -245            }
    -246    
    -247            /**
    -248             * <p>
    -249             * Sanitizes a property's parameters before the property is written.
    -250             * </p>
    -251             * <p>
    -252             * This method should be overridden by child classes that wish to tweak the
    -253             * property's parameters before the property is written. The default
    -254             * implementation of this method does nothing.
    -255             * </p>
    -256             * @param property the property
    -257             * @param copy the list of parameters to make modifications to (it is a copy
    -258             * of the property's parameters)
    -259             */
    -260            protected void _prepareParameters(T property, ICalParameters copy) {
    -261                    //do nothing
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Determines the data type of a property instance.
    -267             * </p>
    -268             * <p>
    -269             * This method should be overridden by child classes if a property's data
    -270             * type changes depending on its value. The default implementation of this
    -271             * method returns the property's default data type.
    -272             * </p>
    -273             * @param property the property
    -274             * @return the data type or null if unknown
    -275             */
    -276            protected ICalDataType _dataType(T property) {
    -277                    return defaultDataType;
    -278            }
    -279    
    -280            /**
    -281             * Marshals a property's value to a string.
    -282             * @param property the property
    -283             * @return the marshalled value
    -284             * @throws SkipMeException if the property should not be written to the data
    -285             * stream
    -286             */
    -287            protected abstract String _writeText(T property);
    -288    
    -289            /**
    -290             * <p>
    -291             * Marshals a property's value to an XML element (xCal).
    -292             * <p>
    -293             * <p>
    -294             * This method should be overridden by child classes that wish to support
    -295             * xCal. The default implementation of this method will append one child
    -296             * element to the property's XML element. The child element's name will be
    -297             * that of the property's data type (retrieved using the {@link #dataType}
    -298             * method), and the child element's text content will be set to the
    -299             * property's marshalled plain-text value (retrieved using the
    -300             * {@link #writeText} method).
    -301             * </p>
    -302             * @param property the property
    -303             * @param element the property's XML element
    -304             * @throws SkipMeException if the property should not be written to the data
    -305             * stream
    -306             */
    -307            protected void _writeXml(T property, XCalElement element) {
    -308                    String value = writeText(property);
    -309                    ICalDataType dataType = dataType(property);
    -310                    element.append(dataType, value);
    -311            }
    -312    
    -313            /**
    -314             * <p>
    -315             * Marshals a property's value to a JSON data stream (jCal).
    -316             * </p>
    -317             * <p>
    -318             * This method should be overridden by child classes that wish to support
    -319             * jCal. The default implementation of this method will create a jCard
    -320             * property that has a single JSON string value (generated by the
    -321             * {@link #writeText} method).
    -322             * </p>
    -323             * @param property the property
    -324             * @return the marshalled value
    -325             * @throws SkipMeException if the property should not be written to the data
    -326             * stream
    -327             */
    -328            protected JCalValue _writeJson(T property) {
    -329                    String value = writeText(property);
    -330                    return JCalValue.single(value);
    -331            }
    -332    
    -333            /**
    -334             * Unmarshals a property from a plain-text iCalendar data stream.
    -335             * @param value the value as read off the wire
    -336             * @param dataType the data type of the property value. The property's VALUE
    -337             * parameter is used to determine the data type. If the property has no
    -338             * VALUE parameter, then this parameter will be set to the property's
    -339             * default datatype. Note that the VALUE parameter is removed from the
    -340             * property's parameter list after it has been read.
    -341             * @param parameters the parsed parameters. These parameters will be
    -342             * assigned to the property object once this method returns. Therefore, do
    -343             * not assign any parameters to the property object itself whilst inside of
    -344             * this method, or else they will be overwritten.
    -345             * @param warnings allows the programmer to alert the user to any
    -346             * note-worthy (but non-critical) issues that occurred during the
    -347             * unmarshalling process
    -348             * @return the unmarshalled property object
    -349             * @throws CannotParseException if the marshaller could not parse the
    -350             * property's value
    -351             * @throws SkipMeException if the property should not be added to the final
    -352             * {@link ICalendar} object
    -353             */
    -354            protected abstract T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -355    
    -356            /**
    -357             * <p>
    -358             * Unmarshals a property from an XML document (xCal).
    -359             * </p>
    -360             * <p>
    -361             * This method should be overridden by child classes that wish to support
    -362             * xCal. The default implementation of this method will find the first child
    -363             * element with the xCal namespace. The element's name will be used as the
    -364             * property's data type and its text content will be passed into the
    -365             * {@link #_parseText} method. If no such child element is found, then the
    -366             * parent element's text content will be passed into {@link #_parseText} and
    -367             * the data type will be null.
    -368             * </p>
    -369             * @param element the property's XML element
    -370             * @param parameters the parsed parameters. These parameters will be
    -371             * assigned to the property object once this method returns. Therefore, do
    -372             * not assign any parameters to the property object itself whilst inside of
    -373             * this method, or else they will be overwritten.
    -374             * @param warnings allows the programmer to alert the user to any
    -375             * note-worthy (but non-critical) issues that occurred during the
    -376             * unmarshalling process
    -377             * @return the unmarshalled property object
    -378             * @throws CannotParseException if the marshaller could not parse the
    -379             * property's value
    -380             * @throws SkipMeException if the property should not be added to the final
    -381             * {@link ICalendar} object
    -382             */
    -383            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -384                    String value = null;
    -385                    ICalDataType dataType = null;
    -386                    Element rawElement = element.getElement();
    -387    
    -388                    //get the text content of the first child element with the xCard namespace
    -389                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -390                    for (Element child : children) {
    -391                            if (!XCAL_NS.equals(child.getNamespaceURI())) {
    -392                                    continue;
    -393                            }
    -394    
    -395                            dataType = ICalDataType.get(child.getLocalName());
    -396                            value = child.getTextContent();
    -397                            break;
    -398                    }
    -399    
    -400                    if (dataType == null) {
    -401                            //get the text content of the property element
    -402                            value = rawElement.getTextContent();
    -403                    }
    -404    
    -405                    value = escape(value);
    -406                    return _parseText(value, dataType, parameters, warnings);
    -407            }
    -408    
    -409            /**
    -410             * /**
    -411             * <p>
    -412             * Unmarshals a property from a JSON data stream (jCal).
    -413             * </p>
    -414             * <p>
    -415             * This method should be overridden by child classes that wish to support
    -416             * jCal. The default implementation of this method will convert the jCal
    -417             * property value to a string and pass it into the {@link #_parseText}
    -418             * method.
    -419             * </p>
    -420             * 
    -421             * <hr>
    -422             * 
    -423             * <p>
    -424             * The following paragraphs describe the way in which this method's default
    -425             * implementation converts a jCal value to a string:
    -426             * </p>
    -427             * <p>
    -428             * If the jCal value consists of a single, non-array, non-object value, then
    -429             * the value is converted to a string. Special characters (backslashes,
    -430             * commas, and semicolons) are escaped in order to simulate what the value
    -431             * might look like in a plain-text iCalendar object.<br>
    -432             * <code>["x-foo", {}, "text", "the;value"] --&gt; "the\;value"</code><br>
    -433             * <code>["x-foo", {}, "text", 2] --&gt; "2"</code>
    -434             * </p>
    -435             * <p>
    -436             * If the jCal value consists of multiple, non-array, non-object values,
    -437             * then all the values are appended together in a single string, separated
    -438             * by commas. Special characters (backslashes, commas, and semicolons) are
    -439             * escaped for each value in order to prevent commas from being treated as
    -440             * delimiters, and to simulate what the value might look like in a
    -441             * plain-text iCalendar object.<br>
    -442             * <code>["x-foo", {}, "text", "one", "two,three"] --&gt;
    -443             * "one,two\,three"</code>
    -444             * </p>
    -445             * <p>
    -446             * If the jCal value is a single array, then this array is treated as a
    -447             * "structured value", and converted its plain-text representation. Special
    -448             * characters (backslashes, commas, and semicolons) are escaped for each
    -449             * value in order to prevent commas and semicolons from being treated as
    -450             * delimiters.<br>
    -451             * <code>["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
    -452             * --&gt; "one;two,three;four\;five"</code>
    -453             * </p>
    -454             * <p>
    -455             * If the jCal value starts with a JSON object, then the object is converted
    -456             * to a format identical to the one used in the RRULE and EXRULE properties.
    -457             * Special characters (backslashes, commas, semicolons, and equal signs) are
    -458             * escaped for each value in order to preserve the syntax of the string
    -459             * value.<br>
    -460             * <code>["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --&gt; "ONE=1;TWO=2,2.5"</code>
    -461             * </p>
    -462             * <p>
    -463             * For all other cases, behavior is undefined.
    -464             * </p>
    -465             * @param value the property's JSON value
    -466             * @param dataType the data type
    -467             * @param parameters the parsed parameters. These parameters will be
    -468             * assigned to the property object once this method returns. Therefore, do
    -469             * not assign any parameters to the property object itself whilst inside of
    -470             * this method, or else they will be overwritten.
    -471             * @param warnings allows the programmer to alert the user to any
    -472             * note-worthy (but non-critical) issues that occurred during the
    -473             * unmarshalling process
    -474             * @return the unmarshalled property object
    -475             * @throws CannotParseException if the marshaller could not parse the
    -476             * property's value
    -477             * @throws SkipMeException if the property should not be added to the final
    -478             * {@link ICalendar} object
    -479             */
    -480            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -481                    return _parseText(jcalValueToString(value), dataType, parameters, warnings);
    -482            }
    -483    
    -484            private String jcalValueToString(JCalValue value) {
    -485                    if (value.getValues().size() > 1) {
    -486                            List<String> multi = value.asMulti();
    -487                            if (!multi.isEmpty()) {
    -488                                    return list(multi);
    -489                            }
    -490                    }
    -491    
    -492                    if (!value.getValues().isEmpty() && value.getValues().get(0).getArray() != null) {
    -493                            List<List<String>> structured = value.asStructured();
    -494                            if (!structured.isEmpty()) {
    -495                                    return structured(structured.toArray());
    -496                            }
    -497                    }
    -498    
    -499                    if (value.getValues().get(0).getObject() != null) {
    -500                            ListMultimap<String, String> object = value.asObject();
    -501                            if (!object.isEmpty()) {
    -502                                    return object(object.getMap());
    -503                            }
    -504                    }
    -505    
    -506                    return escape(value.asSingle());
    -507            }
    -508    
    -509            /**
    -510             * Unescapes all special characters that are escaped with a backslash, as
    -511             * well as escaped newlines.
    -512             * @param text the text to unescape
    -513             * @return the unescaped text
    -514             */
    -515            protected static String unescape(String text) {
    -516                    if (text == null) {
    -517                            return text;
    -518                    }
    -519    
    -520                    StringBuilder sb = null;
    -521                    boolean escaped = false;
    -522                    for (int i = 0; i < text.length(); i++) {
    -523                            char ch = text.charAt(i);
    -524    
    -525                            if (escaped) {
    -526                                    if (sb == null) {
    -527                                            sb = new StringBuilder(text.length());
    -528                                            sb.append(text.substring(0, i - 1));
    -529                                    }
    -530    
    -531                                    escaped = false;
    -532    
    -533                                    if (ch == 'n' || ch == 'N') {
    -534                                            //newlines appear as "\n" or "\N" (see RFC 5545 p.46)
    -535                                            sb.append(StringUtils.NEWLINE);
    -536                                            continue;
    -537                                    }
    -538    
    -539                                    sb.append(ch);
    -540                                    continue;
    -541                            }
    -542    
    -543                            if (ch == '\\') {
    -544                                    escaped = true;
    -545                                    continue;
    -546                            }
    -547    
    -548                            if (sb != null) {
    -549                                    sb.append(ch);
    -550                            }
    -551                    }
    -552                    return (sb == null) ? text : sb.toString();
    -553            }
    -554    
    -555            /**
    -556             * <p>
    -557             * Escapes all special characters within a iCalendar value. These characters
    -558             * are:
    -559             * </p>
    -560             * <ul>
    -561             * <li>backslashes ({@code \})</li>
    -562             * <li>commas ({@code ,})</li>
    -563             * <li>semi-colons ({@code ;})</li>
    -564             * </ul>
    -565             * <p>
    -566             * Newlines are not escaped by this method. They are escaped when the
    -567             * iCalendar object is serialized (in the {@link ICalRawWriter} class).
    -568             * </p>
    -569             * @param text the text to escape
    -570             * @return the escaped text
    -571             */
    -572            protected static String escape(String text) {
    -573                    if (text == null) {
    -574                            return text;
    -575                    }
    -576    
    -577                    String chars = "\\,;";
    -578                    StringBuilder sb = null;
    -579                    for (int i = 0; i < text.length(); i++) {
    -580                            char ch = text.charAt(i);
    -581                            if (chars.indexOf(ch) >= 0) {
    -582                                    if (sb == null) {
    -583                                            sb = new StringBuilder(text.length());
    -584                                            sb.append(text.substring(0, i));
    -585                                    }
    -586                                    sb.append('\\');
    -587                            }
    -588    
    -589                            if (sb != null) {
    -590                                    sb.append(ch);
    -591                            }
    -592                    }
    -593                    return (sb == null) ? text : sb.toString();
    -594            }
    -595    
    -596            /**
    -597             * Splits a string by a delimiter, taking escaped characters into account.
    -598             * @param string the string to split (e.g. "one,two,three")
    -599             * @param delimiter the delimiter (e.g. ",")
    -600             * @return the factory object
    -601             */
    -602            protected static Splitter split(String string, String delimiter) {
    -603                    return new Splitter(string, delimiter);
    -604            }
    -605    
    -606            /**
    -607             * Factory class for splitting strings.
    -608             */
    -609            protected static class Splitter {
    -610                    private String string;
    -611                    private String delimiter;
    -612                    private boolean removeEmpties = false;
    -613                    private boolean unescape = false;
    -614                    private int limit = -1;
    -615    
    -616                    /**
    -617                     * Creates a new splitter object.
    -618                     * @param string the string to split (e.g. "one,two,three")
    -619                     * @param delimiter the delimiter (e.g. ",")
    -620                     */
    -621                    public Splitter(String string, String delimiter) {
    -622                            this.string = string;
    -623                            this.delimiter = delimiter;
    -624                    }
    -625    
    -626                    /**
    -627                     * Sets whether to remove empty elements.
    -628                     * @param removeEmpties true to remove empty elements, false not to
    -629                     * (default is false)
    -630                     * @return this
    -631                     */
    -632                    public Splitter removeEmpties(boolean removeEmpties) {
    -633                            this.removeEmpties = removeEmpties;
    -634                            return this;
    -635                    }
    -636    
    -637                    /**
    -638                     * Sets whether to unescape each split string.
    -639                     * @param unescape true to unescape, false not to (default is false)
    -640                     * @return this
    -641                     */
    -642                    public Splitter unescape(boolean unescape) {
    -643                            this.unescape = unescape;
    -644                            return this;
    -645                    }
    -646    
    -647                    /**
    -648                     * Sets the max number of split strings it should parse.
    -649                     * @param limit the max number of split strings
    -650                     * @return this
    -651                     */
    -652                    public Splitter limit(int limit) {
    -653                            this.limit = limit;
    -654                            return this;
    -655                    }
    -656    
    -657                    /**
    -658                     * Performs the split operation.
    -659                     * @return the split string
    -660                     */
    -661                    public List<String> split() {
    -662                            //from: http://stackoverflow.com/q/820172">http://stackoverflow.com/q/820172
    -663                            String split[] = string.split("\\s*(?<!\\\\)" + Pattern.quote(delimiter) + "\\s*", limit);
    -664    
    -665                            List<String> list = new ArrayList<String>(split.length);
    -666                            for (String s : split) {
    -667                                    if (s.length() == 0 && removeEmpties) {
    -668                                            continue;
    -669                                    }
    -670    
    -671                                    if (unescape) {
    -672                                            s = ICalPropertyMarshaller.unescape(s);
    -673                                    }
    -674    
    -675                                    list.add(s);
    -676                            }
    -677                            return list;
    -678                    }
    -679            }
    -680    
    -681            /**
    -682             * Parses a comma-separated list of values.
    -683             * @param value the string to parse (e.g. "one,two,th\,ree")
    -684             * @return the parsed values
    -685             */
    -686            protected static List<String> list(String value) {
    -687                    if (value.length() == 0) {
    -688                            return new ArrayList<String>(0);
    -689                    }
    -690                    return split(value, ",").unescape(true).split();
    -691            }
    -692    
    -693            /**
    -694             * Writes a comma-separated list of values.
    -695             * @param values the values to write
    -696             * @return the list
    -697             */
    -698            protected static String list(Object... values) {
    -699                    return list(Arrays.asList(values));
    -700            }
    -701    
    -702            /**
    -703             * Writes a comma-separated list of values.
    -704             * @param values the values to write
    -705             * @return the list
    -706             */
    -707            protected static <T> String list(Collection<T> values) {
    -708                    return list(values, new ListCallback<T>() {
    -709                            public String asString(T value) {
    -710                                    return value.toString();
    -711                            }
    -712                    });
    -713            }
    -714    
    -715            /**
    -716             * Writes a comma-separated list of values.
    -717             * @param values the values to write
    -718             * @param callback callback function used for converting each value to a
    -719             * string
    -720             * @return the list
    -721             */
    -722            protected static <T> String list(Collection<T> values, final ListCallback<T> callback) {
    -723                    return join(values, ",", new JoinCallback<T>() {
    -724                            public void handle(StringBuilder sb, T value) {
    -725                                    if (value == null) {
    -726                                            return;
    -727                                    }
    -728    
    -729                                    String valueStr = callback.asString(value);
    -730                                    sb.append(escape(valueStr));
    -731                            }
    -732                    });
    -733            }
    -734    
    -735            /**
    -736             * Callback function used in conjunction with the
    -737             * {@link ICalPropertyMarshaller#list(Collection, ListCallback) list} method
    -738             * @param <T> the value class
    -739             */
    -740            protected static interface ListCallback<T> {
    -741                    /**
    -742                     * Converts a value to a string.
    -743                     * @param value the value (null values are not passed to this method, so
    -744                     * this parameter will never be null)
    -745                     * @return the string
    -746                     */
    -747                    String asString(T value);
    -748            }
    -749    
    -750            /**
    -751             * Parses a list of values that are delimited by semicolons. Unlike
    -752             * structured value components, semi-structured components cannot be
    -753             * multi-valued.
    -754             * @param value the string to parse (e.g. "one;two;three")
    -755             * @return the parsed values
    -756             */
    -757            protected static SemiStructuredIterator semistructured(String value) {
    -758                    return semistructured(value, -1);
    -759            }
    -760    
    -761            /**
    -762             * Parses a list of values that are delimited by semicolons. Unlike
    -763             * structured value components, semi-structured components cannot be
    -764             * multi-valued.
    -765             * @param value the string to parse (e.g. "one;two;three")
    -766             * @param limit the max number of components to parse
    -767             * @return the parsed values
    -768             */
    -769            protected static SemiStructuredIterator semistructured(String value, int limit) {
    -770                    List<String> split = split(value, ";").unescape(true).limit(limit).split();
    -771                    return new SemiStructuredIterator(split.iterator());
    -772            }
    -773    
    -774            /**
    -775             * Parses a structured value.
    -776             * @param value the string to parse (e.g. "one;two,three;four")
    -777             * @return the parsed values
    -778             */
    -779            protected static StructuredIterator structured(String value) {
    -780                    List<String> split = split(value, ";").split();
    -781                    List<List<String>> components = new ArrayList<List<String>>(split.size());
    -782                    for (String s : split) {
    -783                            components.add(list(s));
    -784                    }
    -785                    return new StructuredIterator(components.iterator());
    -786            }
    -787    
    -788            /**
    -789             * Provides an iterator for a jCard structured value.
    -790             * @param value the jCard value
    -791             * @return the parsed values
    -792             */
    -793            protected static StructuredIterator structured(JCalValue value) {
    -794                    return new StructuredIterator(value.asStructured().iterator());
    -795            }
    -796    
    -797            /**
    -798             * <p>
    -799             * Writes a structured value.
    -800             * </p>
    -801             * <p>
    -802             * This method accepts a list of {@link Object} instances.
    -803             * {@link Collection} objects will be treated as multi-valued components.
    -804             * Null objects will be treated as empty components. All other objects will
    -805             * have their {@code toString()} method invoked to generate the string
    -806             * value.
    -807             * </p>
    -808             * @param values the values to write
    -809             * @return the structured value string
    -810             */
    -811            protected static String structured(Object... values) {
    -812                    return join(Arrays.asList(values), ";", new JoinCallback<Object>() {
    -813                            public void handle(StringBuilder sb, Object value) {
    -814                                    if (value == null) {
    -815                                            return;
    -816                                    }
    -817    
    -818                                    if (value instanceof Collection) {
    -819                                            Collection<?> list = (Collection<?>) value;
    -820                                            sb.append(list(list));
    -821                                            return;
    -822                                    }
    -823    
    -824                                    sb.append(escape(value.toString()));
    -825                            }
    -826                    });
    -827            }
    -828    
    -829            /**
    -830             * Iterates over the fields in a structured value.
    -831             */
    -832            protected static class StructuredIterator {
    -833                    private final Iterator<List<String>> it;
    -834    
    -835                    /**
    -836                     * Constructs a new structured iterator.
    -837                     * @param it the iterator to wrap
    -838                     */
    -839                    public StructuredIterator(Iterator<List<String>> it) {
    -840                            this.it = it;
    -841                    }
    -842    
    -843                    /**
    -844                     * Gets the first value of the next component.
    -845                     * @return the first value, null if the value is an empty string, or
    -846                     * null if there are no more components
    -847                     */
    -848                    public String nextString() {
    -849                            if (!hasNext()) {
    -850                                    return null;
    -851                            }
    -852    
    -853                            List<String> list = it.next();
    -854                            if (list.isEmpty()) {
    -855                                    return null;
    -856                            }
    -857    
    -858                            String value = list.get(0);
    -859                            return (value.length() == 0) ? null : value;
    -860                    }
    -861    
    -862                    /**
    -863                     * Gets the next component.
    -864                     * @return the next component, an empty list if the component is empty,
    -865                     * or an empty list of there are no more components
    -866                     */
    -867                    public List<String> nextComponent() {
    -868                            if (!hasNext()) {
    -869                                    return new ArrayList<String>(0); //the lists should be mutable so they can be directly assigned to the property object's fields
    -870                            }
    -871    
    -872                            List<String> list = it.next();
    -873                            if (list.size() == 1 && list.get(0).length() == 0) {
    -874                                    return new ArrayList<String>(0);
    -875                            }
    -876    
    -877                            return list;
    -878                    }
    -879    
    -880                    /**
    -881                     * Determines if there are any elements left in the value.
    -882                     * @return true if there are elements left, false if not
    -883                     */
    -884                    public boolean hasNext() {
    -885                            return it.hasNext();
    -886                    }
    -887            }
    -888    
    -889            /**
    -890             * Iterates over the fields in a semi-structured value (a structured value
    -891             * whose components cannot be multi-valued).
    -892             */
    -893            protected static class SemiStructuredIterator {
    -894                    private final Iterator<String> it;
    -895    
    -896                    /**
    -897                     * Constructs a new structured iterator.
    -898                     * @param it the iterator to wrap
    -899                     */
    -900                    public SemiStructuredIterator(Iterator<String> it) {
    -901                            this.it = it;
    -902                    }
    -903    
    -904                    /**
    -905                     * Gets the next value.
    -906                     * @return the next value, null if the value is an empty string, or null
    -907                     * if there are no more values
    -908                     */
    -909                    public String next() {
    -910                            if (!hasNext()) {
    -911                                    return null;
    -912                            }
    -913    
    -914                            String value = it.next();
    -915                            return (value.length() == 0) ? null : value;
    -916                    }
    -917    
    -918                    /**
    -919                     * Determines if there are any elements left in the value.
    -920                     * @return true if there are elements left, false if not
    -921                     */
    -922                    public boolean hasNext() {
    -923                            return it.hasNext();
    -924                    }
    -925            }
    -926    
    -927            /**
    -928             * Writes an object property value to a string.
    -929             * @param value the value
    -930             * @return the string
    -931             */
    -932            protected static <T> String object(Map<String, List<T>> value) {
    -933                    return join(value, ";", new JoinMapCallback<String, List<T>>() {
    -934                            public void handle(StringBuilder sb, String key, List<T> value) {
    -935                                    sb.append(key.toUpperCase()).append('=').append(list(value));
    -936                            }
    -937                    });
    -938            }
    -939    
    -940            /**
    -941             * Parses an object property value.
    -942             * @param value the value to parse
    -943             * @return the parsed value
    -944             */
    -945            protected static ListMultimap<String, String> object(String value) {
    -946                    ListMultimap<String, String> map = new ListMultimap<String, String>();
    -947    
    -948                    for (String component : split(value, ";").unescape(false).removeEmpties(true).split()) {
    -949                            String[] split = component.split("=", 2);
    -950    
    -951                            String name = unescape(split[0].toUpperCase());
    -952                            List<String> values = (split.length > 1) ? list(split[1]) : Arrays.asList("");
    -953    
    -954                            map.putAll(name, values);
    -955                    }
    -956    
    -957                    return map;
    -958            }
    -959    
    -960            /**
    -961             * Parses a date string.
    -962             * @param value the date string
    -963             * @return the factory object
    -964             */
    -965            protected static DateParser date(String value) {
    -966                    return new DateParser(value);
    -967            }
    -968    
    -969            /**
    -970             * Formats a {@link Date} object as a string.
    -971             * @param date the date
    -972             * @return the factory object
    -973             */
    -974            protected static DateWriter date(Date date) {
    -975                    return new DateWriter(date);
    -976            }
    -977    
    -978            /**
    -979             * Factory class for parsing dates.
    -980             */
    -981            protected static class DateParser {
    -982                    private String value;
    -983                    private TimeZone timezone;
    -984    
    -985                    /**
    -986                     * Creates a new date writer object.
    -987                     * @param value the date string to parse
    -988                     */
    -989                    public DateParser(String value) {
    -990                            this.value = value;
    -991                    }
    -992    
    -993                    /**
    -994                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -995                     * value). If the ID does not contain a "/" character, it will be
    -996                     * ignored.
    -997                     * @param timezoneId the timezone ID
    -998                     * @return this
    -999                     */
    -1000                    public DateParser tzid(String timezoneId) {
    -1001                            return tzid(timezoneId, null);
    -1002                    }
    -1003    
    -1004                    /**
    -1005                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -1006                     * value).
    -1007                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1008                     * "/" character), it will attempt to look up the timezone in Java's
    -1009                     * timezone registry and parse the date according to that timezone. If
    -1010                     * the timezone is not found, the date will be parsed according to the
    -1011                     * JVM's default timezone and a warning message will be added to the
    -1012                     * provided warnings list. If the ID is not global, it will be parsed
    -1013                     * according to the JVM's default timezone. Whichever timezone is chosen
    -1014                     * here, it will be ignored if the date string is in UTC time or
    -1015                     * contains an offset.
    -1016                     * @param warnings if the ID is global and is not recognized, a warning
    -1017                     * message will be added to this list
    -1018                     * @return this
    -1019                     */
    -1020                    public DateParser tzid(String timezoneId, List<String> warnings) {
    -1021                            if (timezoneId == null) {
    -1022                                    return tz(null);
    -1023                            }
    -1024    
    -1025                            if (timezoneId.contains("/")) {
    -1026                                    TimeZone timezone = ICalDateFormatter.parseTimeZoneId(timezoneId);
    -1027                                    if (timezone == null) {
    -1028                                            timezone = TimeZone.getDefault();
    -1029                                            if (warnings != null) {
    -1030                                                    warnings.add("Timezone ID not recognized, parsing with default timezone instead: " + timezoneId);
    -1031                                            }
    -1032                                    }
    -1033                                    return tz(timezone);
    -1034                            }
    -1035    
    -1036                            //TODO parse according to the associated VTIMEZONE component
    -1037                            return tz(TimeZone.getDefault());
    -1038                    }
    -1039    
    -1040                    /**
    -1041                     * Sets the timezone to parse the date as.
    -1042                     * @param timezone the timezone
    -1043                     * @return this
    -1044                     */
    -1045                    public DateParser tz(TimeZone timezone) {
    -1046                            this.timezone = timezone;
    -1047                            return this;
    -1048                    }
    -1049    
    -1050                    /**
    -1051                     * Parses the date string.
    -1052                     * @return the parsed date
    -1053                     * @throws IllegalArgumentException if the date string is invalid
    -1054                     */
    -1055                    public Date parse() {
    -1056                            return ICalDateFormatter.parse(value, timezone);
    -1057                    }
    -1058            }
    -1059    
    -1060            /**
    -1061             * Factory class for writing dates.
    -1062             */
    -1063            protected static class DateWriter {
    -1064                    private Date date;
    -1065                    private boolean hasTime = true;
    -1066                    private TimeZone timezone;
    -1067                    private boolean extended = false;
    -1068    
    -1069                    /**
    -1070                     * Creates a new date writer object.
    -1071                     * @param date the date to format
    -1072                     */
    -1073                    public DateWriter(Date date) {
    -1074                            this.date = date;
    -1075                    }
    -1076    
    -1077                    /**
    -1078                     * Sets whether to output the date's time component.
    -1079                     * @param hasTime true include the time, false if it's strictly a date
    -1080                     * (defaults to "true")
    -1081                     * @return this
    -1082                     */
    -1083                    public DateWriter time(boolean hasTime) {
    -1084                            this.hasTime = hasTime;
    -1085                            return this;
    -1086                    }
    -1087    
    -1088                    /**
    -1089                     * Sets the ID of the timezone to format the date as (TZID parameter
    -1090                     * value).
    -1091                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1092                     * "/" character), it will attempt to look up the timezone in Java's
    -1093                     * timezone registry and format the date according to that timezone. If
    -1094                     * the timezone is not found, the date will be formatted in UTC. If the
    -1095                     * ID is not global, it will be formatted according to the JVM's default
    -1096                     * timezone. If no timezone preference is specified, the date will be
    -1097                     * formatted as UTC.
    -1098                     * @return this
    -1099                     */
    -1100                    public DateWriter tzid(String timezoneId) {
    -1101                            if (timezoneId == null) {
    -1102                                    return tz(null);
    -1103                            }
    -1104    
    -1105                            if (timezoneId.contains("/")) {
    -1106                                    return tz(ICalDateFormatter.parseTimeZoneId(timezoneId));
    -1107                            }
    -1108    
    -1109                            //TODO format according to the associated VTIMEZONE component
    -1110                            return tz(TimeZone.getDefault());
    -1111                    }
    -1112    
    -1113                    /**
    -1114                     * Outputs the date in local time (without a timezone). If no timezone
    -1115                     * preference is specified, the date will be formatted as UTC.
    -1116                     * @param localTz true to use local time, false not to
    -1117                     * @return this
    -1118                     */
    -1119                    public DateWriter localTz(boolean localTz) {
    -1120                            return localTz ? tz(TimeZone.getDefault()) : this;
    -1121                    }
    -1122    
    -1123                    /**
    -1124                     * Convenience method that combines {@link #localTz(boolean)} and
    -1125                     * {@link #tzid(String)} into one method.
    -1126                     * @param localTz true to use local time, false not to
    -1127                     * @param timezoneId the timezone ID
    -1128                     * @return this
    -1129                     */
    -1130                    public DateWriter tz(boolean localTz, String timezoneId) {
    -1131                            return localTz ? localTz(true) : tzid(timezoneId);
    -1132                    }
    -1133    
    -1134                    /**
    -1135                     * Sets the timezone to format the date as. If no timezone preference is
    -1136                     * specified, the date will be formatted as UTC.
    -1137                     * @param timezone the timezone
    -1138                     * @return this
    -1139                     */
    -1140                    public DateWriter tz(TimeZone timezone) {
    -1141                            this.timezone = timezone;
    -1142                            return this;
    -1143                    }
    -1144    
    -1145                    /**
    -1146                     * Sets whether to use extended format or basic.
    -1147                     * @param extended true to use extended format, false to use basic
    -1148                     * (defaults to "false")
    -1149                     * @return this
    -1150                     */
    -1151                    public DateWriter extended(boolean extended) {
    -1152                            this.extended = extended;
    -1153                            return this;
    -1154                    }
    -1155    
    -1156                    /**
    -1157                     * Creates the date string.
    -1158                     * @return the date string
    -1159                     */
    -1160                    public String write() {
    -1161                            ISOFormat format;
    -1162                            TimeZone timezone = this.timezone;
    -1163                            if (hasTime) {
    -1164                                    if (timezone == null) {
    -1165                                            format = extended ? ISOFormat.UTC_TIME_EXTENDED : ISOFormat.UTC_TIME_BASIC;
    -1166                                    } else {
    -1167                                            format = extended ? ISOFormat.TIME_EXTENDED_WITHOUT_TZ : ISOFormat.TIME_BASIC_WITHOUT_TZ;
    -1168                                    }
    -1169                            } else {
    -1170                                    format = extended ? ISOFormat.DATE_EXTENDED : ISOFormat.DATE_BASIC;
    -1171                                    timezone = null;
    -1172                            }
    -1173    
    -1174                            return ICalDateFormatter.format(date, format, timezone);
    -1175                    }
    -1176            }
    -1177    
    -1178            /**
    -1179             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1180             * that the parser expected to find are missing from the property's XML
    -1181             * element.
    -1182             * @param dataTypes the expected data types (null for "unknown")
    -1183             */
    -1184            protected static CannotParseException missingXmlElements(ICalDataType... dataTypes) {
    -1185                    String[] elements = new String[dataTypes.length];
    -1186                    for (int i = 0; i < dataTypes.length; i++) {
    -1187                            ICalDataType dataType = dataTypes[i];
    -1188                            elements[i] = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -1189                    }
    -1190                    return missingXmlElements(elements);
    -1191            }
    -1192    
    -1193            /**
    -1194             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1195             * that the parser expected to find are missing from property's XML element.
    -1196             * @param elements the names of the expected XML elements.
    -1197             */
    -1198            protected static CannotParseException missingXmlElements(String... elements) {
    -1199                    String message;
    -1200    
    -1201                    switch (elements.length) {
    -1202                    case 0:
    -1203                            message = "Property value empty.";
    -1204                            break;
    -1205                    case 1:
    -1206                            message = "Property value empty (no <" + elements[0] + "> element found).";
    -1207                            break;
    -1208                    case 2:
    -1209                            message = "Property value empty (no <" + elements[0] + "> or <" + elements[1] + "> elements found).";
    -1210                            break;
    -1211                    default:
    -1212                            StringBuilder sb = new StringBuilder();
    -1213    
    -1214                            sb.append("Property value empty (no ");
    -1215                            join(Arrays.asList(elements).subList(0, elements.length - 1), ", ", sb, new JoinCallback<String>() {
    -1216                                    public void handle(StringBuilder sb, String value) {
    -1217                                            sb.append('<').append(value).append('>');
    -1218                                    }
    -1219                            });
    -1220                            sb.append(", or <").append(elements[elements.length - 1]).append("> elements found).");
    -1221    
    -1222                            message = sb.toString();
    -1223                            break;
    -1224                    }
    -1225    
    -1226                    return new CannotParseException(message);
    -1227            }
    -1228    
    -1229            /**
    -1230             * Represents the result of an unmarshal operation.
    -1231             * @author Michael Angstadt
    -1232             * @param <T> the unmarshalled property class
    -1233             */
    -1234            public static class Result<T extends ICalProperty> {
    -1235                    private final T property;
    -1236                    private final List<String> warnings;
    -1237    
    -1238                    /**
    -1239                     * Creates a new result.
    -1240                     * @param property the property object
    -1241                     * @param warnings the warnings
    -1242                     */
    -1243                    public Result(T property, List<String> warnings) {
    -1244                            this.property = property;
    -1245                            this.warnings = warnings;
    -1246                    }
    -1247    
    -1248                    /**
    -1249                     * Gets the warnings.
    -1250                     * @return the warnings
    -1251                     */
    -1252                    public List<String> getWarnings() {
    -1253                            return warnings;
    -1254                    }
    -1255    
    -1256                    /**
    -1257                     * Gets the property object.
    -1258                     * @return the property object
    -1259                     */
    -1260                    public T getProperty() {
    -1261                            return property;
    -1262                    }
    -1263            }
    -1264    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.StructuredIterator.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.StructuredIterator.html deleted file mode 100644 index 40770513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.StructuredIterator.html +++ /dev/null @@ -1,1330 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.StringUtils.join;
    -005    
    -006    import java.util.ArrayList;
    -007    import java.util.Arrays;
    -008    import java.util.Collection;
    -009    import java.util.Date;
    -010    import java.util.Iterator;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    import java.util.TimeZone;
    -014    import java.util.regex.Pattern;
    -015    
    -016    import javax.xml.namespace.QName;
    -017    
    -018    import org.w3c.dom.Element;
    -019    
    -020    import biweekly.ICalDataType;
    -021    import biweekly.ICalendar;
    -022    import biweekly.io.CannotParseException;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.io.json.JCalValue;
    -025    import biweekly.io.text.ICalRawWriter;
    -026    import biweekly.io.xml.XCalElement;
    -027    import biweekly.parameter.ICalParameters;
    -028    import biweekly.property.ICalProperty;
    -029    import biweekly.util.ICalDateFormatter;
    -030    import biweekly.util.ISOFormat;
    -031    import biweekly.util.ListMultimap;
    -032    import biweekly.util.StringUtils;
    -033    import biweekly.util.StringUtils.JoinCallback;
    -034    import biweekly.util.StringUtils.JoinMapCallback;
    -035    import biweekly.util.XmlUtils;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * Base class for iCalendar property marshallers.
    -064     * @param <T> the property class
    -065     * @author Michael Angstadt
    -066     */
    -067    public abstract class ICalPropertyMarshaller<T extends ICalProperty> {
    -068            protected final Class<T> clazz;
    -069            protected final String propertyName;
    -070            protected final ICalDataType defaultDataType;
    -071            protected final QName qname;
    -072    
    -073            /**
    -074             * Creates a new marshaller.
    -075             * @param clazz the property class
    -076             * @param propertyName the property name (e.g. "VERSION")
    -077             * @param defaultDataType the property's default data type (e.g. "text") or
    -078             * null if unknown
    -079             */
    -080            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType) {
    -081                    this(clazz, propertyName, defaultDataType, new QName(XCAL_NS, propertyName.toLowerCase()));
    -082            }
    -083    
    -084            /**
    -085             * Creates a new marshaller.
    -086             * @param clazz the property class
    -087             * @param propertyName the property name (e.g. "VERSION")
    -088             * @param defaultDataType the property's default data type (e.g. "text") or
    -089             * null if unknown
    -090             * @param qname the XML element name and namespace to use for xCal documents
    -091             * (by default, the XML element name is set to the lower-cased property
    -092             * name, and the element namespace is set to the xCal namespace)
    -093             */
    -094            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType, QName qname) {
    -095                    this.clazz = clazz;
    -096                    this.propertyName = propertyName;
    -097                    this.defaultDataType = defaultDataType;
    -098                    this.qname = qname;
    -099            }
    -100    
    -101            /**
    -102             * Gets the property class.
    -103             * @return the property class
    -104             */
    -105            public Class<T> getPropertyClass() {
    -106                    return clazz;
    -107            }
    -108    
    -109            /**
    -110             * Gets the property name.
    -111             * @return the property name (e.g. "VERSION")
    -112             */
    -113            public String getPropertyName() {
    -114                    return propertyName;
    -115            }
    -116    
    -117            /**
    -118             * Gets the property's default data type.
    -119             * @return the default data type (e.g. "text") or null if unknown
    -120             */
    -121            public ICalDataType getDefaultDataType() {
    -122                    return defaultDataType;
    -123            }
    -124    
    -125            /**
    -126             * Gets this property's local name and namespace for xCal documents.
    -127             * @return the XML local name and namespace
    -128             */
    -129            public QName getQName() {
    -130                    return qname;
    -131            }
    -132    
    -133            /**
    -134             * Sanitizes a property's parameters (called before the property is
    -135             * written). Note that a copy of the parameters is returned so that the
    -136             * property object does not get modified.
    -137             * @param property the property
    -138             * @return the sanitized parameters
    -139             */
    -140            public final ICalParameters prepareParameters(T property) {
    -141                    //make a copy because the property should not get modified when it is marshalled
    -142                    ICalParameters copy = new ICalParameters(property.getParameters());
    -143                    _prepareParameters(property, copy);
    -144                    return copy;
    -145            }
    -146    
    -147            /**
    -148             * Determines the data type of a property instance.
    -149             * @param property the property
    -150             * @return the data type or null if unknown
    -151             */
    -152            public final ICalDataType dataType(T property) {
    -153                    return _dataType(property);
    -154            }
    -155    
    -156            /**
    -157             * Marshals a property's value to a string.
    -158             * @param property the property
    -159             * @return the marshalled value
    -160             * @throws SkipMeException if the property should not be written to the data
    -161             * stream
    -162             */
    -163            public final String writeText(T property) {
    -164                    return _writeText(property);
    -165            }
    -166    
    -167            /**
    -168             * Marshals a property's value to an XML element (xCal).
    -169             * @param property the property
    -170             * @param element the property's XML element
    -171             * @throws SkipMeException if the property should not be written to the data
    -172             * stream
    -173             */
    -174            public final void writeXml(T property, Element element) {
    -175                    XCalElement xcalElement = new XCalElement(element);
    -176                    _writeXml(property, xcalElement);
    -177            }
    -178    
    -179            /**
    -180             * Marshals a property's value to a JSON data stream (jCal).
    -181             * @param property the property
    -182             * @return the marshalled value
    -183             * @throws SkipMeException if the property should not be written to the data
    -184             * stream
    -185             */
    -186            public final JCalValue writeJson(T property) {
    -187                    return _writeJson(property);
    -188            }
    -189    
    -190            /**
    -191             * Unmarshals a property from a plain-text iCalendar data stream.
    -192             * @param value the value as read off the wire
    -193             * @param dataType the data type of the property value. The property's VALUE
    -194             * parameter is used to determine the data type. If the property has no
    -195             * VALUE parameter, then this parameter will be set to the property's
    -196             * default datatype. Note that the VALUE parameter is removed from the
    -197             * property's parameter list after it has been read.
    -198             * @param parameters the parsed parameters
    -199             * @return the unmarshalled property and its warnings
    -200             * @throws CannotParseException if the marshaller could not parse the
    -201             * property's value
    -202             * @throws SkipMeException if the property should not be added to the final
    -203             * {@link ICalendar} object
    -204             */
    -205            public final Result<T> parseText(String value, ICalDataType dataType, ICalParameters parameters) {
    -206                    List<String> warnings = new ArrayList<String>(0);
    -207                    T property = _parseText(value, dataType, parameters, warnings);
    -208                    property.setParameters(parameters);
    -209                    return new Result<T>(property, warnings);
    -210            }
    -211    
    -212            /**
    -213             * Unmarshals a property's value from an XML document (xCal).
    -214             * @param element the property's XML element
    -215             * @param parameters the property's parameters
    -216             * @return the unmarshalled property and its warnings
    -217             * @throws CannotParseException if the marshaller could not parse the
    -218             * property's value
    -219             * @throws SkipMeException if the property should not be added to the final
    -220             * {@link ICalendar} object
    -221             */
    -222            public final Result<T> parseXml(Element element, ICalParameters parameters) {
    -223                    List<String> warnings = new ArrayList<String>(0);
    -224                    T property = _parseXml(new XCalElement(element), parameters, warnings);
    -225                    property.setParameters(parameters);
    -226                    return new Result<T>(property, warnings);
    -227            }
    -228    
    -229            /**
    -230             * Unmarshals a property's value from a JSON data stream (jCal).
    -231             * @param value the property's JSON value
    -232             * @param dataType the data type
    -233             * @param parameters the parsed parameters
    -234             * @return the unmarshalled property and its warnings
    -235             * @throws CannotParseException if the marshaller could not parse the
    -236             * property's value
    -237             * @throws SkipMeException if the property should not be added to the final
    -238             * {@link ICalendar} object
    -239             */
    -240            public final Result<T> parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters) {
    -241                    List<String> warnings = new ArrayList<String>(0);
    -242                    T property = _parseJson(value, dataType, parameters, warnings);
    -243                    property.setParameters(parameters);
    -244                    return new Result<T>(property, warnings);
    -245            }
    -246    
    -247            /**
    -248             * <p>
    -249             * Sanitizes a property's parameters before the property is written.
    -250             * </p>
    -251             * <p>
    -252             * This method should be overridden by child classes that wish to tweak the
    -253             * property's parameters before the property is written. The default
    -254             * implementation of this method does nothing.
    -255             * </p>
    -256             * @param property the property
    -257             * @param copy the list of parameters to make modifications to (it is a copy
    -258             * of the property's parameters)
    -259             */
    -260            protected void _prepareParameters(T property, ICalParameters copy) {
    -261                    //do nothing
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Determines the data type of a property instance.
    -267             * </p>
    -268             * <p>
    -269             * This method should be overridden by child classes if a property's data
    -270             * type changes depending on its value. The default implementation of this
    -271             * method returns the property's default data type.
    -272             * </p>
    -273             * @param property the property
    -274             * @return the data type or null if unknown
    -275             */
    -276            protected ICalDataType _dataType(T property) {
    -277                    return defaultDataType;
    -278            }
    -279    
    -280            /**
    -281             * Marshals a property's value to a string.
    -282             * @param property the property
    -283             * @return the marshalled value
    -284             * @throws SkipMeException if the property should not be written to the data
    -285             * stream
    -286             */
    -287            protected abstract String _writeText(T property);
    -288    
    -289            /**
    -290             * <p>
    -291             * Marshals a property's value to an XML element (xCal).
    -292             * <p>
    -293             * <p>
    -294             * This method should be overridden by child classes that wish to support
    -295             * xCal. The default implementation of this method will append one child
    -296             * element to the property's XML element. The child element's name will be
    -297             * that of the property's data type (retrieved using the {@link #dataType}
    -298             * method), and the child element's text content will be set to the
    -299             * property's marshalled plain-text value (retrieved using the
    -300             * {@link #writeText} method).
    -301             * </p>
    -302             * @param property the property
    -303             * @param element the property's XML element
    -304             * @throws SkipMeException if the property should not be written to the data
    -305             * stream
    -306             */
    -307            protected void _writeXml(T property, XCalElement element) {
    -308                    String value = writeText(property);
    -309                    ICalDataType dataType = dataType(property);
    -310                    element.append(dataType, value);
    -311            }
    -312    
    -313            /**
    -314             * <p>
    -315             * Marshals a property's value to a JSON data stream (jCal).
    -316             * </p>
    -317             * <p>
    -318             * This method should be overridden by child classes that wish to support
    -319             * jCal. The default implementation of this method will create a jCard
    -320             * property that has a single JSON string value (generated by the
    -321             * {@link #writeText} method).
    -322             * </p>
    -323             * @param property the property
    -324             * @return the marshalled value
    -325             * @throws SkipMeException if the property should not be written to the data
    -326             * stream
    -327             */
    -328            protected JCalValue _writeJson(T property) {
    -329                    String value = writeText(property);
    -330                    return JCalValue.single(value);
    -331            }
    -332    
    -333            /**
    -334             * Unmarshals a property from a plain-text iCalendar data stream.
    -335             * @param value the value as read off the wire
    -336             * @param dataType the data type of the property value. The property's VALUE
    -337             * parameter is used to determine the data type. If the property has no
    -338             * VALUE parameter, then this parameter will be set to the property's
    -339             * default datatype. Note that the VALUE parameter is removed from the
    -340             * property's parameter list after it has been read.
    -341             * @param parameters the parsed parameters. These parameters will be
    -342             * assigned to the property object once this method returns. Therefore, do
    -343             * not assign any parameters to the property object itself whilst inside of
    -344             * this method, or else they will be overwritten.
    -345             * @param warnings allows the programmer to alert the user to any
    -346             * note-worthy (but non-critical) issues that occurred during the
    -347             * unmarshalling process
    -348             * @return the unmarshalled property object
    -349             * @throws CannotParseException if the marshaller could not parse the
    -350             * property's value
    -351             * @throws SkipMeException if the property should not be added to the final
    -352             * {@link ICalendar} object
    -353             */
    -354            protected abstract T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -355    
    -356            /**
    -357             * <p>
    -358             * Unmarshals a property from an XML document (xCal).
    -359             * </p>
    -360             * <p>
    -361             * This method should be overridden by child classes that wish to support
    -362             * xCal. The default implementation of this method will find the first child
    -363             * element with the xCal namespace. The element's name will be used as the
    -364             * property's data type and its text content will be passed into the
    -365             * {@link #_parseText} method. If no such child element is found, then the
    -366             * parent element's text content will be passed into {@link #_parseText} and
    -367             * the data type will be null.
    -368             * </p>
    -369             * @param element the property's XML element
    -370             * @param parameters the parsed parameters. These parameters will be
    -371             * assigned to the property object once this method returns. Therefore, do
    -372             * not assign any parameters to the property object itself whilst inside of
    -373             * this method, or else they will be overwritten.
    -374             * @param warnings allows the programmer to alert the user to any
    -375             * note-worthy (but non-critical) issues that occurred during the
    -376             * unmarshalling process
    -377             * @return the unmarshalled property object
    -378             * @throws CannotParseException if the marshaller could not parse the
    -379             * property's value
    -380             * @throws SkipMeException if the property should not be added to the final
    -381             * {@link ICalendar} object
    -382             */
    -383            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -384                    String value = null;
    -385                    ICalDataType dataType = null;
    -386                    Element rawElement = element.getElement();
    -387    
    -388                    //get the text content of the first child element with the xCard namespace
    -389                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -390                    for (Element child : children) {
    -391                            if (!XCAL_NS.equals(child.getNamespaceURI())) {
    -392                                    continue;
    -393                            }
    -394    
    -395                            dataType = ICalDataType.get(child.getLocalName());
    -396                            value = child.getTextContent();
    -397                            break;
    -398                    }
    -399    
    -400                    if (dataType == null) {
    -401                            //get the text content of the property element
    -402                            value = rawElement.getTextContent();
    -403                    }
    -404    
    -405                    value = escape(value);
    -406                    return _parseText(value, dataType, parameters, warnings);
    -407            }
    -408    
    -409            /**
    -410             * /**
    -411             * <p>
    -412             * Unmarshals a property from a JSON data stream (jCal).
    -413             * </p>
    -414             * <p>
    -415             * This method should be overridden by child classes that wish to support
    -416             * jCal. The default implementation of this method will convert the jCal
    -417             * property value to a string and pass it into the {@link #_parseText}
    -418             * method.
    -419             * </p>
    -420             * 
    -421             * <hr>
    -422             * 
    -423             * <p>
    -424             * The following paragraphs describe the way in which this method's default
    -425             * implementation converts a jCal value to a string:
    -426             * </p>
    -427             * <p>
    -428             * If the jCal value consists of a single, non-array, non-object value, then
    -429             * the value is converted to a string. Special characters (backslashes,
    -430             * commas, and semicolons) are escaped in order to simulate what the value
    -431             * might look like in a plain-text iCalendar object.<br>
    -432             * <code>["x-foo", {}, "text", "the;value"] --&gt; "the\;value"</code><br>
    -433             * <code>["x-foo", {}, "text", 2] --&gt; "2"</code>
    -434             * </p>
    -435             * <p>
    -436             * If the jCal value consists of multiple, non-array, non-object values,
    -437             * then all the values are appended together in a single string, separated
    -438             * by commas. Special characters (backslashes, commas, and semicolons) are
    -439             * escaped for each value in order to prevent commas from being treated as
    -440             * delimiters, and to simulate what the value might look like in a
    -441             * plain-text iCalendar object.<br>
    -442             * <code>["x-foo", {}, "text", "one", "two,three"] --&gt;
    -443             * "one,two\,three"</code>
    -444             * </p>
    -445             * <p>
    -446             * If the jCal value is a single array, then this array is treated as a
    -447             * "structured value", and converted its plain-text representation. Special
    -448             * characters (backslashes, commas, and semicolons) are escaped for each
    -449             * value in order to prevent commas and semicolons from being treated as
    -450             * delimiters.<br>
    -451             * <code>["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
    -452             * --&gt; "one;two,three;four\;five"</code>
    -453             * </p>
    -454             * <p>
    -455             * If the jCal value starts with a JSON object, then the object is converted
    -456             * to a format identical to the one used in the RRULE and EXRULE properties.
    -457             * Special characters (backslashes, commas, semicolons, and equal signs) are
    -458             * escaped for each value in order to preserve the syntax of the string
    -459             * value.<br>
    -460             * <code>["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --&gt; "ONE=1;TWO=2,2.5"</code>
    -461             * </p>
    -462             * <p>
    -463             * For all other cases, behavior is undefined.
    -464             * </p>
    -465             * @param value the property's JSON value
    -466             * @param dataType the data type
    -467             * @param parameters the parsed parameters. These parameters will be
    -468             * assigned to the property object once this method returns. Therefore, do
    -469             * not assign any parameters to the property object itself whilst inside of
    -470             * this method, or else they will be overwritten.
    -471             * @param warnings allows the programmer to alert the user to any
    -472             * note-worthy (but non-critical) issues that occurred during the
    -473             * unmarshalling process
    -474             * @return the unmarshalled property object
    -475             * @throws CannotParseException if the marshaller could not parse the
    -476             * property's value
    -477             * @throws SkipMeException if the property should not be added to the final
    -478             * {@link ICalendar} object
    -479             */
    -480            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -481                    return _parseText(jcalValueToString(value), dataType, parameters, warnings);
    -482            }
    -483    
    -484            private String jcalValueToString(JCalValue value) {
    -485                    if (value.getValues().size() > 1) {
    -486                            List<String> multi = value.asMulti();
    -487                            if (!multi.isEmpty()) {
    -488                                    return list(multi);
    -489                            }
    -490                    }
    -491    
    -492                    if (!value.getValues().isEmpty() && value.getValues().get(0).getArray() != null) {
    -493                            List<List<String>> structured = value.asStructured();
    -494                            if (!structured.isEmpty()) {
    -495                                    return structured(structured.toArray());
    -496                            }
    -497                    }
    -498    
    -499                    if (value.getValues().get(0).getObject() != null) {
    -500                            ListMultimap<String, String> object = value.asObject();
    -501                            if (!object.isEmpty()) {
    -502                                    return object(object.getMap());
    -503                            }
    -504                    }
    -505    
    -506                    return escape(value.asSingle());
    -507            }
    -508    
    -509            /**
    -510             * Unescapes all special characters that are escaped with a backslash, as
    -511             * well as escaped newlines.
    -512             * @param text the text to unescape
    -513             * @return the unescaped text
    -514             */
    -515            protected static String unescape(String text) {
    -516                    if (text == null) {
    -517                            return text;
    -518                    }
    -519    
    -520                    StringBuilder sb = null;
    -521                    boolean escaped = false;
    -522                    for (int i = 0; i < text.length(); i++) {
    -523                            char ch = text.charAt(i);
    -524    
    -525                            if (escaped) {
    -526                                    if (sb == null) {
    -527                                            sb = new StringBuilder(text.length());
    -528                                            sb.append(text.substring(0, i - 1));
    -529                                    }
    -530    
    -531                                    escaped = false;
    -532    
    -533                                    if (ch == 'n' || ch == 'N') {
    -534                                            //newlines appear as "\n" or "\N" (see RFC 5545 p.46)
    -535                                            sb.append(StringUtils.NEWLINE);
    -536                                            continue;
    -537                                    }
    -538    
    -539                                    sb.append(ch);
    -540                                    continue;
    -541                            }
    -542    
    -543                            if (ch == '\\') {
    -544                                    escaped = true;
    -545                                    continue;
    -546                            }
    -547    
    -548                            if (sb != null) {
    -549                                    sb.append(ch);
    -550                            }
    -551                    }
    -552                    return (sb == null) ? text : sb.toString();
    -553            }
    -554    
    -555            /**
    -556             * <p>
    -557             * Escapes all special characters within a iCalendar value. These characters
    -558             * are:
    -559             * </p>
    -560             * <ul>
    -561             * <li>backslashes ({@code \})</li>
    -562             * <li>commas ({@code ,})</li>
    -563             * <li>semi-colons ({@code ;})</li>
    -564             * </ul>
    -565             * <p>
    -566             * Newlines are not escaped by this method. They are escaped when the
    -567             * iCalendar object is serialized (in the {@link ICalRawWriter} class).
    -568             * </p>
    -569             * @param text the text to escape
    -570             * @return the escaped text
    -571             */
    -572            protected static String escape(String text) {
    -573                    if (text == null) {
    -574                            return text;
    -575                    }
    -576    
    -577                    String chars = "\\,;";
    -578                    StringBuilder sb = null;
    -579                    for (int i = 0; i < text.length(); i++) {
    -580                            char ch = text.charAt(i);
    -581                            if (chars.indexOf(ch) >= 0) {
    -582                                    if (sb == null) {
    -583                                            sb = new StringBuilder(text.length());
    -584                                            sb.append(text.substring(0, i));
    -585                                    }
    -586                                    sb.append('\\');
    -587                            }
    -588    
    -589                            if (sb != null) {
    -590                                    sb.append(ch);
    -591                            }
    -592                    }
    -593                    return (sb == null) ? text : sb.toString();
    -594            }
    -595    
    -596            /**
    -597             * Splits a string by a delimiter, taking escaped characters into account.
    -598             * @param string the string to split (e.g. "one,two,three")
    -599             * @param delimiter the delimiter (e.g. ",")
    -600             * @return the factory object
    -601             */
    -602            protected static Splitter split(String string, String delimiter) {
    -603                    return new Splitter(string, delimiter);
    -604            }
    -605    
    -606            /**
    -607             * Factory class for splitting strings.
    -608             */
    -609            protected static class Splitter {
    -610                    private String string;
    -611                    private String delimiter;
    -612                    private boolean removeEmpties = false;
    -613                    private boolean unescape = false;
    -614                    private int limit = -1;
    -615    
    -616                    /**
    -617                     * Creates a new splitter object.
    -618                     * @param string the string to split (e.g. "one,two,three")
    -619                     * @param delimiter the delimiter (e.g. ",")
    -620                     */
    -621                    public Splitter(String string, String delimiter) {
    -622                            this.string = string;
    -623                            this.delimiter = delimiter;
    -624                    }
    -625    
    -626                    /**
    -627                     * Sets whether to remove empty elements.
    -628                     * @param removeEmpties true to remove empty elements, false not to
    -629                     * (default is false)
    -630                     * @return this
    -631                     */
    -632                    public Splitter removeEmpties(boolean removeEmpties) {
    -633                            this.removeEmpties = removeEmpties;
    -634                            return this;
    -635                    }
    -636    
    -637                    /**
    -638                     * Sets whether to unescape each split string.
    -639                     * @param unescape true to unescape, false not to (default is false)
    -640                     * @return this
    -641                     */
    -642                    public Splitter unescape(boolean unescape) {
    -643                            this.unescape = unescape;
    -644                            return this;
    -645                    }
    -646    
    -647                    /**
    -648                     * Sets the max number of split strings it should parse.
    -649                     * @param limit the max number of split strings
    -650                     * @return this
    -651                     */
    -652                    public Splitter limit(int limit) {
    -653                            this.limit = limit;
    -654                            return this;
    -655                    }
    -656    
    -657                    /**
    -658                     * Performs the split operation.
    -659                     * @return the split string
    -660                     */
    -661                    public List<String> split() {
    -662                            //from: http://stackoverflow.com/q/820172">http://stackoverflow.com/q/820172
    -663                            String split[] = string.split("\\s*(?<!\\\\)" + Pattern.quote(delimiter) + "\\s*", limit);
    -664    
    -665                            List<String> list = new ArrayList<String>(split.length);
    -666                            for (String s : split) {
    -667                                    if (s.length() == 0 && removeEmpties) {
    -668                                            continue;
    -669                                    }
    -670    
    -671                                    if (unescape) {
    -672                                            s = ICalPropertyMarshaller.unescape(s);
    -673                                    }
    -674    
    -675                                    list.add(s);
    -676                            }
    -677                            return list;
    -678                    }
    -679            }
    -680    
    -681            /**
    -682             * Parses a comma-separated list of values.
    -683             * @param value the string to parse (e.g. "one,two,th\,ree")
    -684             * @return the parsed values
    -685             */
    -686            protected static List<String> list(String value) {
    -687                    if (value.length() == 0) {
    -688                            return new ArrayList<String>(0);
    -689                    }
    -690                    return split(value, ",").unescape(true).split();
    -691            }
    -692    
    -693            /**
    -694             * Writes a comma-separated list of values.
    -695             * @param values the values to write
    -696             * @return the list
    -697             */
    -698            protected static String list(Object... values) {
    -699                    return list(Arrays.asList(values));
    -700            }
    -701    
    -702            /**
    -703             * Writes a comma-separated list of values.
    -704             * @param values the values to write
    -705             * @return the list
    -706             */
    -707            protected static <T> String list(Collection<T> values) {
    -708                    return list(values, new ListCallback<T>() {
    -709                            public String asString(T value) {
    -710                                    return value.toString();
    -711                            }
    -712                    });
    -713            }
    -714    
    -715            /**
    -716             * Writes a comma-separated list of values.
    -717             * @param values the values to write
    -718             * @param callback callback function used for converting each value to a
    -719             * string
    -720             * @return the list
    -721             */
    -722            protected static <T> String list(Collection<T> values, final ListCallback<T> callback) {
    -723                    return join(values, ",", new JoinCallback<T>() {
    -724                            public void handle(StringBuilder sb, T value) {
    -725                                    if (value == null) {
    -726                                            return;
    -727                                    }
    -728    
    -729                                    String valueStr = callback.asString(value);
    -730                                    sb.append(escape(valueStr));
    -731                            }
    -732                    });
    -733            }
    -734    
    -735            /**
    -736             * Callback function used in conjunction with the
    -737             * {@link ICalPropertyMarshaller#list(Collection, ListCallback) list} method
    -738             * @param <T> the value class
    -739             */
    -740            protected static interface ListCallback<T> {
    -741                    /**
    -742                     * Converts a value to a string.
    -743                     * @param value the value (null values are not passed to this method, so
    -744                     * this parameter will never be null)
    -745                     * @return the string
    -746                     */
    -747                    String asString(T value);
    -748            }
    -749    
    -750            /**
    -751             * Parses a list of values that are delimited by semicolons. Unlike
    -752             * structured value components, semi-structured components cannot be
    -753             * multi-valued.
    -754             * @param value the string to parse (e.g. "one;two;three")
    -755             * @return the parsed values
    -756             */
    -757            protected static SemiStructuredIterator semistructured(String value) {
    -758                    return semistructured(value, -1);
    -759            }
    -760    
    -761            /**
    -762             * Parses a list of values that are delimited by semicolons. Unlike
    -763             * structured value components, semi-structured components cannot be
    -764             * multi-valued.
    -765             * @param value the string to parse (e.g. "one;two;three")
    -766             * @param limit the max number of components to parse
    -767             * @return the parsed values
    -768             */
    -769            protected static SemiStructuredIterator semistructured(String value, int limit) {
    -770                    List<String> split = split(value, ";").unescape(true).limit(limit).split();
    -771                    return new SemiStructuredIterator(split.iterator());
    -772            }
    -773    
    -774            /**
    -775             * Parses a structured value.
    -776             * @param value the string to parse (e.g. "one;two,three;four")
    -777             * @return the parsed values
    -778             */
    -779            protected static StructuredIterator structured(String value) {
    -780                    List<String> split = split(value, ";").split();
    -781                    List<List<String>> components = new ArrayList<List<String>>(split.size());
    -782                    for (String s : split) {
    -783                            components.add(list(s));
    -784                    }
    -785                    return new StructuredIterator(components.iterator());
    -786            }
    -787    
    -788            /**
    -789             * Provides an iterator for a jCard structured value.
    -790             * @param value the jCard value
    -791             * @return the parsed values
    -792             */
    -793            protected static StructuredIterator structured(JCalValue value) {
    -794                    return new StructuredIterator(value.asStructured().iterator());
    -795            }
    -796    
    -797            /**
    -798             * <p>
    -799             * Writes a structured value.
    -800             * </p>
    -801             * <p>
    -802             * This method accepts a list of {@link Object} instances.
    -803             * {@link Collection} objects will be treated as multi-valued components.
    -804             * Null objects will be treated as empty components. All other objects will
    -805             * have their {@code toString()} method invoked to generate the string
    -806             * value.
    -807             * </p>
    -808             * @param values the values to write
    -809             * @return the structured value string
    -810             */
    -811            protected static String structured(Object... values) {
    -812                    return join(Arrays.asList(values), ";", new JoinCallback<Object>() {
    -813                            public void handle(StringBuilder sb, Object value) {
    -814                                    if (value == null) {
    -815                                            return;
    -816                                    }
    -817    
    -818                                    if (value instanceof Collection) {
    -819                                            Collection<?> list = (Collection<?>) value;
    -820                                            sb.append(list(list));
    -821                                            return;
    -822                                    }
    -823    
    -824                                    sb.append(escape(value.toString()));
    -825                            }
    -826                    });
    -827            }
    -828    
    -829            /**
    -830             * Iterates over the fields in a structured value.
    -831             */
    -832            protected static class StructuredIterator {
    -833                    private final Iterator<List<String>> it;
    -834    
    -835                    /**
    -836                     * Constructs a new structured iterator.
    -837                     * @param it the iterator to wrap
    -838                     */
    -839                    public StructuredIterator(Iterator<List<String>> it) {
    -840                            this.it = it;
    -841                    }
    -842    
    -843                    /**
    -844                     * Gets the first value of the next component.
    -845                     * @return the first value, null if the value is an empty string, or
    -846                     * null if there are no more components
    -847                     */
    -848                    public String nextString() {
    -849                            if (!hasNext()) {
    -850                                    return null;
    -851                            }
    -852    
    -853                            List<String> list = it.next();
    -854                            if (list.isEmpty()) {
    -855                                    return null;
    -856                            }
    -857    
    -858                            String value = list.get(0);
    -859                            return (value.length() == 0) ? null : value;
    -860                    }
    -861    
    -862                    /**
    -863                     * Gets the next component.
    -864                     * @return the next component, an empty list if the component is empty,
    -865                     * or an empty list of there are no more components
    -866                     */
    -867                    public List<String> nextComponent() {
    -868                            if (!hasNext()) {
    -869                                    return new ArrayList<String>(0); //the lists should be mutable so they can be directly assigned to the property object's fields
    -870                            }
    -871    
    -872                            List<String> list = it.next();
    -873                            if (list.size() == 1 && list.get(0).length() == 0) {
    -874                                    return new ArrayList<String>(0);
    -875                            }
    -876    
    -877                            return list;
    -878                    }
    -879    
    -880                    /**
    -881                     * Determines if there are any elements left in the value.
    -882                     * @return true if there are elements left, false if not
    -883                     */
    -884                    public boolean hasNext() {
    -885                            return it.hasNext();
    -886                    }
    -887            }
    -888    
    -889            /**
    -890             * Iterates over the fields in a semi-structured value (a structured value
    -891             * whose components cannot be multi-valued).
    -892             */
    -893            protected static class SemiStructuredIterator {
    -894                    private final Iterator<String> it;
    -895    
    -896                    /**
    -897                     * Constructs a new structured iterator.
    -898                     * @param it the iterator to wrap
    -899                     */
    -900                    public SemiStructuredIterator(Iterator<String> it) {
    -901                            this.it = it;
    -902                    }
    -903    
    -904                    /**
    -905                     * Gets the next value.
    -906                     * @return the next value, null if the value is an empty string, or null
    -907                     * if there are no more values
    -908                     */
    -909                    public String next() {
    -910                            if (!hasNext()) {
    -911                                    return null;
    -912                            }
    -913    
    -914                            String value = it.next();
    -915                            return (value.length() == 0) ? null : value;
    -916                    }
    -917    
    -918                    /**
    -919                     * Determines if there are any elements left in the value.
    -920                     * @return true if there are elements left, false if not
    -921                     */
    -922                    public boolean hasNext() {
    -923                            return it.hasNext();
    -924                    }
    -925            }
    -926    
    -927            /**
    -928             * Writes an object property value to a string.
    -929             * @param value the value
    -930             * @return the string
    -931             */
    -932            protected static <T> String object(Map<String, List<T>> value) {
    -933                    return join(value, ";", new JoinMapCallback<String, List<T>>() {
    -934                            public void handle(StringBuilder sb, String key, List<T> value) {
    -935                                    sb.append(key.toUpperCase()).append('=').append(list(value));
    -936                            }
    -937                    });
    -938            }
    -939    
    -940            /**
    -941             * Parses an object property value.
    -942             * @param value the value to parse
    -943             * @return the parsed value
    -944             */
    -945            protected static ListMultimap<String, String> object(String value) {
    -946                    ListMultimap<String, String> map = new ListMultimap<String, String>();
    -947    
    -948                    for (String component : split(value, ";").unescape(false).removeEmpties(true).split()) {
    -949                            String[] split = component.split("=", 2);
    -950    
    -951                            String name = unescape(split[0].toUpperCase());
    -952                            List<String> values = (split.length > 1) ? list(split[1]) : Arrays.asList("");
    -953    
    -954                            map.putAll(name, values);
    -955                    }
    -956    
    -957                    return map;
    -958            }
    -959    
    -960            /**
    -961             * Parses a date string.
    -962             * @param value the date string
    -963             * @return the factory object
    -964             */
    -965            protected static DateParser date(String value) {
    -966                    return new DateParser(value);
    -967            }
    -968    
    -969            /**
    -970             * Formats a {@link Date} object as a string.
    -971             * @param date the date
    -972             * @return the factory object
    -973             */
    -974            protected static DateWriter date(Date date) {
    -975                    return new DateWriter(date);
    -976            }
    -977    
    -978            /**
    -979             * Factory class for parsing dates.
    -980             */
    -981            protected static class DateParser {
    -982                    private String value;
    -983                    private TimeZone timezone;
    -984    
    -985                    /**
    -986                     * Creates a new date writer object.
    -987                     * @param value the date string to parse
    -988                     */
    -989                    public DateParser(String value) {
    -990                            this.value = value;
    -991                    }
    -992    
    -993                    /**
    -994                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -995                     * value). If the ID does not contain a "/" character, it will be
    -996                     * ignored.
    -997                     * @param timezoneId the timezone ID
    -998                     * @return this
    -999                     */
    -1000                    public DateParser tzid(String timezoneId) {
    -1001                            return tzid(timezoneId, null);
    -1002                    }
    -1003    
    -1004                    /**
    -1005                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -1006                     * value).
    -1007                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1008                     * "/" character), it will attempt to look up the timezone in Java's
    -1009                     * timezone registry and parse the date according to that timezone. If
    -1010                     * the timezone is not found, the date will be parsed according to the
    -1011                     * JVM's default timezone and a warning message will be added to the
    -1012                     * provided warnings list. If the ID is not global, it will be parsed
    -1013                     * according to the JVM's default timezone. Whichever timezone is chosen
    -1014                     * here, it will be ignored if the date string is in UTC time or
    -1015                     * contains an offset.
    -1016                     * @param warnings if the ID is global and is not recognized, a warning
    -1017                     * message will be added to this list
    -1018                     * @return this
    -1019                     */
    -1020                    public DateParser tzid(String timezoneId, List<String> warnings) {
    -1021                            if (timezoneId == null) {
    -1022                                    return tz(null);
    -1023                            }
    -1024    
    -1025                            if (timezoneId.contains("/")) {
    -1026                                    TimeZone timezone = ICalDateFormatter.parseTimeZoneId(timezoneId);
    -1027                                    if (timezone == null) {
    -1028                                            timezone = TimeZone.getDefault();
    -1029                                            if (warnings != null) {
    -1030                                                    warnings.add("Timezone ID not recognized, parsing with default timezone instead: " + timezoneId);
    -1031                                            }
    -1032                                    }
    -1033                                    return tz(timezone);
    -1034                            }
    -1035    
    -1036                            //TODO parse according to the associated VTIMEZONE component
    -1037                            return tz(TimeZone.getDefault());
    -1038                    }
    -1039    
    -1040                    /**
    -1041                     * Sets the timezone to parse the date as.
    -1042                     * @param timezone the timezone
    -1043                     * @return this
    -1044                     */
    -1045                    public DateParser tz(TimeZone timezone) {
    -1046                            this.timezone = timezone;
    -1047                            return this;
    -1048                    }
    -1049    
    -1050                    /**
    -1051                     * Parses the date string.
    -1052                     * @return the parsed date
    -1053                     * @throws IllegalArgumentException if the date string is invalid
    -1054                     */
    -1055                    public Date parse() {
    -1056                            return ICalDateFormatter.parse(value, timezone);
    -1057                    }
    -1058            }
    -1059    
    -1060            /**
    -1061             * Factory class for writing dates.
    -1062             */
    -1063            protected static class DateWriter {
    -1064                    private Date date;
    -1065                    private boolean hasTime = true;
    -1066                    private TimeZone timezone;
    -1067                    private boolean extended = false;
    -1068    
    -1069                    /**
    -1070                     * Creates a new date writer object.
    -1071                     * @param date the date to format
    -1072                     */
    -1073                    public DateWriter(Date date) {
    -1074                            this.date = date;
    -1075                    }
    -1076    
    -1077                    /**
    -1078                     * Sets whether to output the date's time component.
    -1079                     * @param hasTime true include the time, false if it's strictly a date
    -1080                     * (defaults to "true")
    -1081                     * @return this
    -1082                     */
    -1083                    public DateWriter time(boolean hasTime) {
    -1084                            this.hasTime = hasTime;
    -1085                            return this;
    -1086                    }
    -1087    
    -1088                    /**
    -1089                     * Sets the ID of the timezone to format the date as (TZID parameter
    -1090                     * value).
    -1091                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1092                     * "/" character), it will attempt to look up the timezone in Java's
    -1093                     * timezone registry and format the date according to that timezone. If
    -1094                     * the timezone is not found, the date will be formatted in UTC. If the
    -1095                     * ID is not global, it will be formatted according to the JVM's default
    -1096                     * timezone. If no timezone preference is specified, the date will be
    -1097                     * formatted as UTC.
    -1098                     * @return this
    -1099                     */
    -1100                    public DateWriter tzid(String timezoneId) {
    -1101                            if (timezoneId == null) {
    -1102                                    return tz(null);
    -1103                            }
    -1104    
    -1105                            if (timezoneId.contains("/")) {
    -1106                                    return tz(ICalDateFormatter.parseTimeZoneId(timezoneId));
    -1107                            }
    -1108    
    -1109                            //TODO format according to the associated VTIMEZONE component
    -1110                            return tz(TimeZone.getDefault());
    -1111                    }
    -1112    
    -1113                    /**
    -1114                     * Outputs the date in local time (without a timezone). If no timezone
    -1115                     * preference is specified, the date will be formatted as UTC.
    -1116                     * @param localTz true to use local time, false not to
    -1117                     * @return this
    -1118                     */
    -1119                    public DateWriter localTz(boolean localTz) {
    -1120                            return localTz ? tz(TimeZone.getDefault()) : this;
    -1121                    }
    -1122    
    -1123                    /**
    -1124                     * Convenience method that combines {@link #localTz(boolean)} and
    -1125                     * {@link #tzid(String)} into one method.
    -1126                     * @param localTz true to use local time, false not to
    -1127                     * @param timezoneId the timezone ID
    -1128                     * @return this
    -1129                     */
    -1130                    public DateWriter tz(boolean localTz, String timezoneId) {
    -1131                            return localTz ? localTz(true) : tzid(timezoneId);
    -1132                    }
    -1133    
    -1134                    /**
    -1135                     * Sets the timezone to format the date as. If no timezone preference is
    -1136                     * specified, the date will be formatted as UTC.
    -1137                     * @param timezone the timezone
    -1138                     * @return this
    -1139                     */
    -1140                    public DateWriter tz(TimeZone timezone) {
    -1141                            this.timezone = timezone;
    -1142                            return this;
    -1143                    }
    -1144    
    -1145                    /**
    -1146                     * Sets whether to use extended format or basic.
    -1147                     * @param extended true to use extended format, false to use basic
    -1148                     * (defaults to "false")
    -1149                     * @return this
    -1150                     */
    -1151                    public DateWriter extended(boolean extended) {
    -1152                            this.extended = extended;
    -1153                            return this;
    -1154                    }
    -1155    
    -1156                    /**
    -1157                     * Creates the date string.
    -1158                     * @return the date string
    -1159                     */
    -1160                    public String write() {
    -1161                            ISOFormat format;
    -1162                            TimeZone timezone = this.timezone;
    -1163                            if (hasTime) {
    -1164                                    if (timezone == null) {
    -1165                                            format = extended ? ISOFormat.UTC_TIME_EXTENDED : ISOFormat.UTC_TIME_BASIC;
    -1166                                    } else {
    -1167                                            format = extended ? ISOFormat.TIME_EXTENDED_WITHOUT_TZ : ISOFormat.TIME_BASIC_WITHOUT_TZ;
    -1168                                    }
    -1169                            } else {
    -1170                                    format = extended ? ISOFormat.DATE_EXTENDED : ISOFormat.DATE_BASIC;
    -1171                                    timezone = null;
    -1172                            }
    -1173    
    -1174                            return ICalDateFormatter.format(date, format, timezone);
    -1175                    }
    -1176            }
    -1177    
    -1178            /**
    -1179             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1180             * that the parser expected to find are missing from the property's XML
    -1181             * element.
    -1182             * @param dataTypes the expected data types (null for "unknown")
    -1183             */
    -1184            protected static CannotParseException missingXmlElements(ICalDataType... dataTypes) {
    -1185                    String[] elements = new String[dataTypes.length];
    -1186                    for (int i = 0; i < dataTypes.length; i++) {
    -1187                            ICalDataType dataType = dataTypes[i];
    -1188                            elements[i] = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -1189                    }
    -1190                    return missingXmlElements(elements);
    -1191            }
    -1192    
    -1193            /**
    -1194             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1195             * that the parser expected to find are missing from property's XML element.
    -1196             * @param elements the names of the expected XML elements.
    -1197             */
    -1198            protected static CannotParseException missingXmlElements(String... elements) {
    -1199                    String message;
    -1200    
    -1201                    switch (elements.length) {
    -1202                    case 0:
    -1203                            message = "Property value empty.";
    -1204                            break;
    -1205                    case 1:
    -1206                            message = "Property value empty (no <" + elements[0] + "> element found).";
    -1207                            break;
    -1208                    case 2:
    -1209                            message = "Property value empty (no <" + elements[0] + "> or <" + elements[1] + "> elements found).";
    -1210                            break;
    -1211                    default:
    -1212                            StringBuilder sb = new StringBuilder();
    -1213    
    -1214                            sb.append("Property value empty (no ");
    -1215                            join(Arrays.asList(elements).subList(0, elements.length - 1), ", ", sb, new JoinCallback<String>() {
    -1216                                    public void handle(StringBuilder sb, String value) {
    -1217                                            sb.append('<').append(value).append('>');
    -1218                                    }
    -1219                            });
    -1220                            sb.append(", or <").append(elements[elements.length - 1]).append("> elements found).");
    -1221    
    -1222                            message = sb.toString();
    -1223                            break;
    -1224                    }
    -1225    
    -1226                    return new CannotParseException(message);
    -1227            }
    -1228    
    -1229            /**
    -1230             * Represents the result of an unmarshal operation.
    -1231             * @author Michael Angstadt
    -1232             * @param <T> the unmarshalled property class
    -1233             */
    -1234            public static class Result<T extends ICalProperty> {
    -1235                    private final T property;
    -1236                    private final List<String> warnings;
    -1237    
    -1238                    /**
    -1239                     * Creates a new result.
    -1240                     * @param property the property object
    -1241                     * @param warnings the warnings
    -1242                     */
    -1243                    public Result(T property, List<String> warnings) {
    -1244                            this.property = property;
    -1245                            this.warnings = warnings;
    -1246                    }
    -1247    
    -1248                    /**
    -1249                     * Gets the warnings.
    -1250                     * @return the warnings
    -1251                     */
    -1252                    public List<String> getWarnings() {
    -1253                            return warnings;
    -1254                    }
    -1255    
    -1256                    /**
    -1257                     * Gets the property object.
    -1258                     * @return the property object
    -1259                     */
    -1260                    public T getProperty() {
    -1261                            return property;
    -1262                    }
    -1263            }
    -1264    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.html deleted file mode 100644 index 40770513..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ICalPropertyMarshaller.html +++ /dev/null @@ -1,1330 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import static biweekly.io.xml.XCalNamespaceContext.XCAL_NS;
    -004    import static biweekly.util.StringUtils.join;
    -005    
    -006    import java.util.ArrayList;
    -007    import java.util.Arrays;
    -008    import java.util.Collection;
    -009    import java.util.Date;
    -010    import java.util.Iterator;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    import java.util.TimeZone;
    -014    import java.util.regex.Pattern;
    -015    
    -016    import javax.xml.namespace.QName;
    -017    
    -018    import org.w3c.dom.Element;
    -019    
    -020    import biweekly.ICalDataType;
    -021    import biweekly.ICalendar;
    -022    import biweekly.io.CannotParseException;
    -023    import biweekly.io.SkipMeException;
    -024    import biweekly.io.json.JCalValue;
    -025    import biweekly.io.text.ICalRawWriter;
    -026    import biweekly.io.xml.XCalElement;
    -027    import biweekly.parameter.ICalParameters;
    -028    import biweekly.property.ICalProperty;
    -029    import biweekly.util.ICalDateFormatter;
    -030    import biweekly.util.ISOFormat;
    -031    import biweekly.util.ListMultimap;
    -032    import biweekly.util.StringUtils;
    -033    import biweekly.util.StringUtils.JoinCallback;
    -034    import biweekly.util.StringUtils.JoinMapCallback;
    -035    import biweekly.util.XmlUtils;
    -036    
    -037    /*
    -038     Copyright (c) 2013, Michael Angstadt
    -039     All rights reserved.
    -040    
    -041     Redistribution and use in source and binary forms, with or without
    -042     modification, are permitted provided that the following conditions are met: 
    -043    
    -044     1. Redistributions of source code must retain the above copyright notice, this
    -045     list of conditions and the following disclaimer. 
    -046     2. Redistributions in binary form must reproduce the above copyright notice,
    -047     this list of conditions and the following disclaimer in the documentation
    -048     and/or other materials provided with the distribution. 
    -049    
    -050     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -051     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -052     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -053     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -054     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -055     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -056     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -057     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -058     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -059     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -060     */
    -061    
    -062    /**
    -063     * Base class for iCalendar property marshallers.
    -064     * @param <T> the property class
    -065     * @author Michael Angstadt
    -066     */
    -067    public abstract class ICalPropertyMarshaller<T extends ICalProperty> {
    -068            protected final Class<T> clazz;
    -069            protected final String propertyName;
    -070            protected final ICalDataType defaultDataType;
    -071            protected final QName qname;
    -072    
    -073            /**
    -074             * Creates a new marshaller.
    -075             * @param clazz the property class
    -076             * @param propertyName the property name (e.g. "VERSION")
    -077             * @param defaultDataType the property's default data type (e.g. "text") or
    -078             * null if unknown
    -079             */
    -080            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType) {
    -081                    this(clazz, propertyName, defaultDataType, new QName(XCAL_NS, propertyName.toLowerCase()));
    -082            }
    -083    
    -084            /**
    -085             * Creates a new marshaller.
    -086             * @param clazz the property class
    -087             * @param propertyName the property name (e.g. "VERSION")
    -088             * @param defaultDataType the property's default data type (e.g. "text") or
    -089             * null if unknown
    -090             * @param qname the XML element name and namespace to use for xCal documents
    -091             * (by default, the XML element name is set to the lower-cased property
    -092             * name, and the element namespace is set to the xCal namespace)
    -093             */
    -094            public ICalPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType defaultDataType, QName qname) {
    -095                    this.clazz = clazz;
    -096                    this.propertyName = propertyName;
    -097                    this.defaultDataType = defaultDataType;
    -098                    this.qname = qname;
    -099            }
    -100    
    -101            /**
    -102             * Gets the property class.
    -103             * @return the property class
    -104             */
    -105            public Class<T> getPropertyClass() {
    -106                    return clazz;
    -107            }
    -108    
    -109            /**
    -110             * Gets the property name.
    -111             * @return the property name (e.g. "VERSION")
    -112             */
    -113            public String getPropertyName() {
    -114                    return propertyName;
    -115            }
    -116    
    -117            /**
    -118             * Gets the property's default data type.
    -119             * @return the default data type (e.g. "text") or null if unknown
    -120             */
    -121            public ICalDataType getDefaultDataType() {
    -122                    return defaultDataType;
    -123            }
    -124    
    -125            /**
    -126             * Gets this property's local name and namespace for xCal documents.
    -127             * @return the XML local name and namespace
    -128             */
    -129            public QName getQName() {
    -130                    return qname;
    -131            }
    -132    
    -133            /**
    -134             * Sanitizes a property's parameters (called before the property is
    -135             * written). Note that a copy of the parameters is returned so that the
    -136             * property object does not get modified.
    -137             * @param property the property
    -138             * @return the sanitized parameters
    -139             */
    -140            public final ICalParameters prepareParameters(T property) {
    -141                    //make a copy because the property should not get modified when it is marshalled
    -142                    ICalParameters copy = new ICalParameters(property.getParameters());
    -143                    _prepareParameters(property, copy);
    -144                    return copy;
    -145            }
    -146    
    -147            /**
    -148             * Determines the data type of a property instance.
    -149             * @param property the property
    -150             * @return the data type or null if unknown
    -151             */
    -152            public final ICalDataType dataType(T property) {
    -153                    return _dataType(property);
    -154            }
    -155    
    -156            /**
    -157             * Marshals a property's value to a string.
    -158             * @param property the property
    -159             * @return the marshalled value
    -160             * @throws SkipMeException if the property should not be written to the data
    -161             * stream
    -162             */
    -163            public final String writeText(T property) {
    -164                    return _writeText(property);
    -165            }
    -166    
    -167            /**
    -168             * Marshals a property's value to an XML element (xCal).
    -169             * @param property the property
    -170             * @param element the property's XML element
    -171             * @throws SkipMeException if the property should not be written to the data
    -172             * stream
    -173             */
    -174            public final void writeXml(T property, Element element) {
    -175                    XCalElement xcalElement = new XCalElement(element);
    -176                    _writeXml(property, xcalElement);
    -177            }
    -178    
    -179            /**
    -180             * Marshals a property's value to a JSON data stream (jCal).
    -181             * @param property the property
    -182             * @return the marshalled value
    -183             * @throws SkipMeException if the property should not be written to the data
    -184             * stream
    -185             */
    -186            public final JCalValue writeJson(T property) {
    -187                    return _writeJson(property);
    -188            }
    -189    
    -190            /**
    -191             * Unmarshals a property from a plain-text iCalendar data stream.
    -192             * @param value the value as read off the wire
    -193             * @param dataType the data type of the property value. The property's VALUE
    -194             * parameter is used to determine the data type. If the property has no
    -195             * VALUE parameter, then this parameter will be set to the property's
    -196             * default datatype. Note that the VALUE parameter is removed from the
    -197             * property's parameter list after it has been read.
    -198             * @param parameters the parsed parameters
    -199             * @return the unmarshalled property and its warnings
    -200             * @throws CannotParseException if the marshaller could not parse the
    -201             * property's value
    -202             * @throws SkipMeException if the property should not be added to the final
    -203             * {@link ICalendar} object
    -204             */
    -205            public final Result<T> parseText(String value, ICalDataType dataType, ICalParameters parameters) {
    -206                    List<String> warnings = new ArrayList<String>(0);
    -207                    T property = _parseText(value, dataType, parameters, warnings);
    -208                    property.setParameters(parameters);
    -209                    return new Result<T>(property, warnings);
    -210            }
    -211    
    -212            /**
    -213             * Unmarshals a property's value from an XML document (xCal).
    -214             * @param element the property's XML element
    -215             * @param parameters the property's parameters
    -216             * @return the unmarshalled property and its warnings
    -217             * @throws CannotParseException if the marshaller could not parse the
    -218             * property's value
    -219             * @throws SkipMeException if the property should not be added to the final
    -220             * {@link ICalendar} object
    -221             */
    -222            public final Result<T> parseXml(Element element, ICalParameters parameters) {
    -223                    List<String> warnings = new ArrayList<String>(0);
    -224                    T property = _parseXml(new XCalElement(element), parameters, warnings);
    -225                    property.setParameters(parameters);
    -226                    return new Result<T>(property, warnings);
    -227            }
    -228    
    -229            /**
    -230             * Unmarshals a property's value from a JSON data stream (jCal).
    -231             * @param value the property's JSON value
    -232             * @param dataType the data type
    -233             * @param parameters the parsed parameters
    -234             * @return the unmarshalled property and its warnings
    -235             * @throws CannotParseException if the marshaller could not parse the
    -236             * property's value
    -237             * @throws SkipMeException if the property should not be added to the final
    -238             * {@link ICalendar} object
    -239             */
    -240            public final Result<T> parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters) {
    -241                    List<String> warnings = new ArrayList<String>(0);
    -242                    T property = _parseJson(value, dataType, parameters, warnings);
    -243                    property.setParameters(parameters);
    -244                    return new Result<T>(property, warnings);
    -245            }
    -246    
    -247            /**
    -248             * <p>
    -249             * Sanitizes a property's parameters before the property is written.
    -250             * </p>
    -251             * <p>
    -252             * This method should be overridden by child classes that wish to tweak the
    -253             * property's parameters before the property is written. The default
    -254             * implementation of this method does nothing.
    -255             * </p>
    -256             * @param property the property
    -257             * @param copy the list of parameters to make modifications to (it is a copy
    -258             * of the property's parameters)
    -259             */
    -260            protected void _prepareParameters(T property, ICalParameters copy) {
    -261                    //do nothing
    -262            }
    -263    
    -264            /**
    -265             * <p>
    -266             * Determines the data type of a property instance.
    -267             * </p>
    -268             * <p>
    -269             * This method should be overridden by child classes if a property's data
    -270             * type changes depending on its value. The default implementation of this
    -271             * method returns the property's default data type.
    -272             * </p>
    -273             * @param property the property
    -274             * @return the data type or null if unknown
    -275             */
    -276            protected ICalDataType _dataType(T property) {
    -277                    return defaultDataType;
    -278            }
    -279    
    -280            /**
    -281             * Marshals a property's value to a string.
    -282             * @param property the property
    -283             * @return the marshalled value
    -284             * @throws SkipMeException if the property should not be written to the data
    -285             * stream
    -286             */
    -287            protected abstract String _writeText(T property);
    -288    
    -289            /**
    -290             * <p>
    -291             * Marshals a property's value to an XML element (xCal).
    -292             * <p>
    -293             * <p>
    -294             * This method should be overridden by child classes that wish to support
    -295             * xCal. The default implementation of this method will append one child
    -296             * element to the property's XML element. The child element's name will be
    -297             * that of the property's data type (retrieved using the {@link #dataType}
    -298             * method), and the child element's text content will be set to the
    -299             * property's marshalled plain-text value (retrieved using the
    -300             * {@link #writeText} method).
    -301             * </p>
    -302             * @param property the property
    -303             * @param element the property's XML element
    -304             * @throws SkipMeException if the property should not be written to the data
    -305             * stream
    -306             */
    -307            protected void _writeXml(T property, XCalElement element) {
    -308                    String value = writeText(property);
    -309                    ICalDataType dataType = dataType(property);
    -310                    element.append(dataType, value);
    -311            }
    -312    
    -313            /**
    -314             * <p>
    -315             * Marshals a property's value to a JSON data stream (jCal).
    -316             * </p>
    -317             * <p>
    -318             * This method should be overridden by child classes that wish to support
    -319             * jCal. The default implementation of this method will create a jCard
    -320             * property that has a single JSON string value (generated by the
    -321             * {@link #writeText} method).
    -322             * </p>
    -323             * @param property the property
    -324             * @return the marshalled value
    -325             * @throws SkipMeException if the property should not be written to the data
    -326             * stream
    -327             */
    -328            protected JCalValue _writeJson(T property) {
    -329                    String value = writeText(property);
    -330                    return JCalValue.single(value);
    -331            }
    -332    
    -333            /**
    -334             * Unmarshals a property from a plain-text iCalendar data stream.
    -335             * @param value the value as read off the wire
    -336             * @param dataType the data type of the property value. The property's VALUE
    -337             * parameter is used to determine the data type. If the property has no
    -338             * VALUE parameter, then this parameter will be set to the property's
    -339             * default datatype. Note that the VALUE parameter is removed from the
    -340             * property's parameter list after it has been read.
    -341             * @param parameters the parsed parameters. These parameters will be
    -342             * assigned to the property object once this method returns. Therefore, do
    -343             * not assign any parameters to the property object itself whilst inside of
    -344             * this method, or else they will be overwritten.
    -345             * @param warnings allows the programmer to alert the user to any
    -346             * note-worthy (but non-critical) issues that occurred during the
    -347             * unmarshalling process
    -348             * @return the unmarshalled property object
    -349             * @throws CannotParseException if the marshaller could not parse the
    -350             * property's value
    -351             * @throws SkipMeException if the property should not be added to the final
    -352             * {@link ICalendar} object
    -353             */
    -354            protected abstract T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -355    
    -356            /**
    -357             * <p>
    -358             * Unmarshals a property from an XML document (xCal).
    -359             * </p>
    -360             * <p>
    -361             * This method should be overridden by child classes that wish to support
    -362             * xCal. The default implementation of this method will find the first child
    -363             * element with the xCal namespace. The element's name will be used as the
    -364             * property's data type and its text content will be passed into the
    -365             * {@link #_parseText} method. If no such child element is found, then the
    -366             * parent element's text content will be passed into {@link #_parseText} and
    -367             * the data type will be null.
    -368             * </p>
    -369             * @param element the property's XML element
    -370             * @param parameters the parsed parameters. These parameters will be
    -371             * assigned to the property object once this method returns. Therefore, do
    -372             * not assign any parameters to the property object itself whilst inside of
    -373             * this method, or else they will be overwritten.
    -374             * @param warnings allows the programmer to alert the user to any
    -375             * note-worthy (but non-critical) issues that occurred during the
    -376             * unmarshalling process
    -377             * @return the unmarshalled property object
    -378             * @throws CannotParseException if the marshaller could not parse the
    -379             * property's value
    -380             * @throws SkipMeException if the property should not be added to the final
    -381             * {@link ICalendar} object
    -382             */
    -383            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -384                    String value = null;
    -385                    ICalDataType dataType = null;
    -386                    Element rawElement = element.getElement();
    -387    
    -388                    //get the text content of the first child element with the xCard namespace
    -389                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -390                    for (Element child : children) {
    -391                            if (!XCAL_NS.equals(child.getNamespaceURI())) {
    -392                                    continue;
    -393                            }
    -394    
    -395                            dataType = ICalDataType.get(child.getLocalName());
    -396                            value = child.getTextContent();
    -397                            break;
    -398                    }
    -399    
    -400                    if (dataType == null) {
    -401                            //get the text content of the property element
    -402                            value = rawElement.getTextContent();
    -403                    }
    -404    
    -405                    value = escape(value);
    -406                    return _parseText(value, dataType, parameters, warnings);
    -407            }
    -408    
    -409            /**
    -410             * /**
    -411             * <p>
    -412             * Unmarshals a property from a JSON data stream (jCal).
    -413             * </p>
    -414             * <p>
    -415             * This method should be overridden by child classes that wish to support
    -416             * jCal. The default implementation of this method will convert the jCal
    -417             * property value to a string and pass it into the {@link #_parseText}
    -418             * method.
    -419             * </p>
    -420             * 
    -421             * <hr>
    -422             * 
    -423             * <p>
    -424             * The following paragraphs describe the way in which this method's default
    -425             * implementation converts a jCal value to a string:
    -426             * </p>
    -427             * <p>
    -428             * If the jCal value consists of a single, non-array, non-object value, then
    -429             * the value is converted to a string. Special characters (backslashes,
    -430             * commas, and semicolons) are escaped in order to simulate what the value
    -431             * might look like in a plain-text iCalendar object.<br>
    -432             * <code>["x-foo", {}, "text", "the;value"] --&gt; "the\;value"</code><br>
    -433             * <code>["x-foo", {}, "text", 2] --&gt; "2"</code>
    -434             * </p>
    -435             * <p>
    -436             * If the jCal value consists of multiple, non-array, non-object values,
    -437             * then all the values are appended together in a single string, separated
    -438             * by commas. Special characters (backslashes, commas, and semicolons) are
    -439             * escaped for each value in order to prevent commas from being treated as
    -440             * delimiters, and to simulate what the value might look like in a
    -441             * plain-text iCalendar object.<br>
    -442             * <code>["x-foo", {}, "text", "one", "two,three"] --&gt;
    -443             * "one,two\,three"</code>
    -444             * </p>
    -445             * <p>
    -446             * If the jCal value is a single array, then this array is treated as a
    -447             * "structured value", and converted its plain-text representation. Special
    -448             * characters (backslashes, commas, and semicolons) are escaped for each
    -449             * value in order to prevent commas and semicolons from being treated as
    -450             * delimiters.<br>
    -451             * <code>["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
    -452             * --&gt; "one;two,three;four\;five"</code>
    -453             * </p>
    -454             * <p>
    -455             * If the jCal value starts with a JSON object, then the object is converted
    -456             * to a format identical to the one used in the RRULE and EXRULE properties.
    -457             * Special characters (backslashes, commas, semicolons, and equal signs) are
    -458             * escaped for each value in order to preserve the syntax of the string
    -459             * value.<br>
    -460             * <code>["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --&gt; "ONE=1;TWO=2,2.5"</code>
    -461             * </p>
    -462             * <p>
    -463             * For all other cases, behavior is undefined.
    -464             * </p>
    -465             * @param value the property's JSON value
    -466             * @param dataType the data type
    -467             * @param parameters the parsed parameters. These parameters will be
    -468             * assigned to the property object once this method returns. Therefore, do
    -469             * not assign any parameters to the property object itself whilst inside of
    -470             * this method, or else they will be overwritten.
    -471             * @param warnings allows the programmer to alert the user to any
    -472             * note-worthy (but non-critical) issues that occurred during the
    -473             * unmarshalling process
    -474             * @return the unmarshalled property object
    -475             * @throws CannotParseException if the marshaller could not parse the
    -476             * property's value
    -477             * @throws SkipMeException if the property should not be added to the final
    -478             * {@link ICalendar} object
    -479             */
    -480            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -481                    return _parseText(jcalValueToString(value), dataType, parameters, warnings);
    -482            }
    -483    
    -484            private String jcalValueToString(JCalValue value) {
    -485                    if (value.getValues().size() > 1) {
    -486                            List<String> multi = value.asMulti();
    -487                            if (!multi.isEmpty()) {
    -488                                    return list(multi);
    -489                            }
    -490                    }
    -491    
    -492                    if (!value.getValues().isEmpty() && value.getValues().get(0).getArray() != null) {
    -493                            List<List<String>> structured = value.asStructured();
    -494                            if (!structured.isEmpty()) {
    -495                                    return structured(structured.toArray());
    -496                            }
    -497                    }
    -498    
    -499                    if (value.getValues().get(0).getObject() != null) {
    -500                            ListMultimap<String, String> object = value.asObject();
    -501                            if (!object.isEmpty()) {
    -502                                    return object(object.getMap());
    -503                            }
    -504                    }
    -505    
    -506                    return escape(value.asSingle());
    -507            }
    -508    
    -509            /**
    -510             * Unescapes all special characters that are escaped with a backslash, as
    -511             * well as escaped newlines.
    -512             * @param text the text to unescape
    -513             * @return the unescaped text
    -514             */
    -515            protected static String unescape(String text) {
    -516                    if (text == null) {
    -517                            return text;
    -518                    }
    -519    
    -520                    StringBuilder sb = null;
    -521                    boolean escaped = false;
    -522                    for (int i = 0; i < text.length(); i++) {
    -523                            char ch = text.charAt(i);
    -524    
    -525                            if (escaped) {
    -526                                    if (sb == null) {
    -527                                            sb = new StringBuilder(text.length());
    -528                                            sb.append(text.substring(0, i - 1));
    -529                                    }
    -530    
    -531                                    escaped = false;
    -532    
    -533                                    if (ch == 'n' || ch == 'N') {
    -534                                            //newlines appear as "\n" or "\N" (see RFC 5545 p.46)
    -535                                            sb.append(StringUtils.NEWLINE);
    -536                                            continue;
    -537                                    }
    -538    
    -539                                    sb.append(ch);
    -540                                    continue;
    -541                            }
    -542    
    -543                            if (ch == '\\') {
    -544                                    escaped = true;
    -545                                    continue;
    -546                            }
    -547    
    -548                            if (sb != null) {
    -549                                    sb.append(ch);
    -550                            }
    -551                    }
    -552                    return (sb == null) ? text : sb.toString();
    -553            }
    -554    
    -555            /**
    -556             * <p>
    -557             * Escapes all special characters within a iCalendar value. These characters
    -558             * are:
    -559             * </p>
    -560             * <ul>
    -561             * <li>backslashes ({@code \})</li>
    -562             * <li>commas ({@code ,})</li>
    -563             * <li>semi-colons ({@code ;})</li>
    -564             * </ul>
    -565             * <p>
    -566             * Newlines are not escaped by this method. They are escaped when the
    -567             * iCalendar object is serialized (in the {@link ICalRawWriter} class).
    -568             * </p>
    -569             * @param text the text to escape
    -570             * @return the escaped text
    -571             */
    -572            protected static String escape(String text) {
    -573                    if (text == null) {
    -574                            return text;
    -575                    }
    -576    
    -577                    String chars = "\\,;";
    -578                    StringBuilder sb = null;
    -579                    for (int i = 0; i < text.length(); i++) {
    -580                            char ch = text.charAt(i);
    -581                            if (chars.indexOf(ch) >= 0) {
    -582                                    if (sb == null) {
    -583                                            sb = new StringBuilder(text.length());
    -584                                            sb.append(text.substring(0, i));
    -585                                    }
    -586                                    sb.append('\\');
    -587                            }
    -588    
    -589                            if (sb != null) {
    -590                                    sb.append(ch);
    -591                            }
    -592                    }
    -593                    return (sb == null) ? text : sb.toString();
    -594            }
    -595    
    -596            /**
    -597             * Splits a string by a delimiter, taking escaped characters into account.
    -598             * @param string the string to split (e.g. "one,two,three")
    -599             * @param delimiter the delimiter (e.g. ",")
    -600             * @return the factory object
    -601             */
    -602            protected static Splitter split(String string, String delimiter) {
    -603                    return new Splitter(string, delimiter);
    -604            }
    -605    
    -606            /**
    -607             * Factory class for splitting strings.
    -608             */
    -609            protected static class Splitter {
    -610                    private String string;
    -611                    private String delimiter;
    -612                    private boolean removeEmpties = false;
    -613                    private boolean unescape = false;
    -614                    private int limit = -1;
    -615    
    -616                    /**
    -617                     * Creates a new splitter object.
    -618                     * @param string the string to split (e.g. "one,two,three")
    -619                     * @param delimiter the delimiter (e.g. ",")
    -620                     */
    -621                    public Splitter(String string, String delimiter) {
    -622                            this.string = string;
    -623                            this.delimiter = delimiter;
    -624                    }
    -625    
    -626                    /**
    -627                     * Sets whether to remove empty elements.
    -628                     * @param removeEmpties true to remove empty elements, false not to
    -629                     * (default is false)
    -630                     * @return this
    -631                     */
    -632                    public Splitter removeEmpties(boolean removeEmpties) {
    -633                            this.removeEmpties = removeEmpties;
    -634                            return this;
    -635                    }
    -636    
    -637                    /**
    -638                     * Sets whether to unescape each split string.
    -639                     * @param unescape true to unescape, false not to (default is false)
    -640                     * @return this
    -641                     */
    -642                    public Splitter unescape(boolean unescape) {
    -643                            this.unescape = unescape;
    -644                            return this;
    -645                    }
    -646    
    -647                    /**
    -648                     * Sets the max number of split strings it should parse.
    -649                     * @param limit the max number of split strings
    -650                     * @return this
    -651                     */
    -652                    public Splitter limit(int limit) {
    -653                            this.limit = limit;
    -654                            return this;
    -655                    }
    -656    
    -657                    /**
    -658                     * Performs the split operation.
    -659                     * @return the split string
    -660                     */
    -661                    public List<String> split() {
    -662                            //from: http://stackoverflow.com/q/820172">http://stackoverflow.com/q/820172
    -663                            String split[] = string.split("\\s*(?<!\\\\)" + Pattern.quote(delimiter) + "\\s*", limit);
    -664    
    -665                            List<String> list = new ArrayList<String>(split.length);
    -666                            for (String s : split) {
    -667                                    if (s.length() == 0 && removeEmpties) {
    -668                                            continue;
    -669                                    }
    -670    
    -671                                    if (unescape) {
    -672                                            s = ICalPropertyMarshaller.unescape(s);
    -673                                    }
    -674    
    -675                                    list.add(s);
    -676                            }
    -677                            return list;
    -678                    }
    -679            }
    -680    
    -681            /**
    -682             * Parses a comma-separated list of values.
    -683             * @param value the string to parse (e.g. "one,two,th\,ree")
    -684             * @return the parsed values
    -685             */
    -686            protected static List<String> list(String value) {
    -687                    if (value.length() == 0) {
    -688                            return new ArrayList<String>(0);
    -689                    }
    -690                    return split(value, ",").unescape(true).split();
    -691            }
    -692    
    -693            /**
    -694             * Writes a comma-separated list of values.
    -695             * @param values the values to write
    -696             * @return the list
    -697             */
    -698            protected static String list(Object... values) {
    -699                    return list(Arrays.asList(values));
    -700            }
    -701    
    -702            /**
    -703             * Writes a comma-separated list of values.
    -704             * @param values the values to write
    -705             * @return the list
    -706             */
    -707            protected static <T> String list(Collection<T> values) {
    -708                    return list(values, new ListCallback<T>() {
    -709                            public String asString(T value) {
    -710                                    return value.toString();
    -711                            }
    -712                    });
    -713            }
    -714    
    -715            /**
    -716             * Writes a comma-separated list of values.
    -717             * @param values the values to write
    -718             * @param callback callback function used for converting each value to a
    -719             * string
    -720             * @return the list
    -721             */
    -722            protected static <T> String list(Collection<T> values, final ListCallback<T> callback) {
    -723                    return join(values, ",", new JoinCallback<T>() {
    -724                            public void handle(StringBuilder sb, T value) {
    -725                                    if (value == null) {
    -726                                            return;
    -727                                    }
    -728    
    -729                                    String valueStr = callback.asString(value);
    -730                                    sb.append(escape(valueStr));
    -731                            }
    -732                    });
    -733            }
    -734    
    -735            /**
    -736             * Callback function used in conjunction with the
    -737             * {@link ICalPropertyMarshaller#list(Collection, ListCallback) list} method
    -738             * @param <T> the value class
    -739             */
    -740            protected static interface ListCallback<T> {
    -741                    /**
    -742                     * Converts a value to a string.
    -743                     * @param value the value (null values are not passed to this method, so
    -744                     * this parameter will never be null)
    -745                     * @return the string
    -746                     */
    -747                    String asString(T value);
    -748            }
    -749    
    -750            /**
    -751             * Parses a list of values that are delimited by semicolons. Unlike
    -752             * structured value components, semi-structured components cannot be
    -753             * multi-valued.
    -754             * @param value the string to parse (e.g. "one;two;three")
    -755             * @return the parsed values
    -756             */
    -757            protected static SemiStructuredIterator semistructured(String value) {
    -758                    return semistructured(value, -1);
    -759            }
    -760    
    -761            /**
    -762             * Parses a list of values that are delimited by semicolons. Unlike
    -763             * structured value components, semi-structured components cannot be
    -764             * multi-valued.
    -765             * @param value the string to parse (e.g. "one;two;three")
    -766             * @param limit the max number of components to parse
    -767             * @return the parsed values
    -768             */
    -769            protected static SemiStructuredIterator semistructured(String value, int limit) {
    -770                    List<String> split = split(value, ";").unescape(true).limit(limit).split();
    -771                    return new SemiStructuredIterator(split.iterator());
    -772            }
    -773    
    -774            /**
    -775             * Parses a structured value.
    -776             * @param value the string to parse (e.g. "one;two,three;four")
    -777             * @return the parsed values
    -778             */
    -779            protected static StructuredIterator structured(String value) {
    -780                    List<String> split = split(value, ";").split();
    -781                    List<List<String>> components = new ArrayList<List<String>>(split.size());
    -782                    for (String s : split) {
    -783                            components.add(list(s));
    -784                    }
    -785                    return new StructuredIterator(components.iterator());
    -786            }
    -787    
    -788            /**
    -789             * Provides an iterator for a jCard structured value.
    -790             * @param value the jCard value
    -791             * @return the parsed values
    -792             */
    -793            protected static StructuredIterator structured(JCalValue value) {
    -794                    return new StructuredIterator(value.asStructured().iterator());
    -795            }
    -796    
    -797            /**
    -798             * <p>
    -799             * Writes a structured value.
    -800             * </p>
    -801             * <p>
    -802             * This method accepts a list of {@link Object} instances.
    -803             * {@link Collection} objects will be treated as multi-valued components.
    -804             * Null objects will be treated as empty components. All other objects will
    -805             * have their {@code toString()} method invoked to generate the string
    -806             * value.
    -807             * </p>
    -808             * @param values the values to write
    -809             * @return the structured value string
    -810             */
    -811            protected static String structured(Object... values) {
    -812                    return join(Arrays.asList(values), ";", new JoinCallback<Object>() {
    -813                            public void handle(StringBuilder sb, Object value) {
    -814                                    if (value == null) {
    -815                                            return;
    -816                                    }
    -817    
    -818                                    if (value instanceof Collection) {
    -819                                            Collection<?> list = (Collection<?>) value;
    -820                                            sb.append(list(list));
    -821                                            return;
    -822                                    }
    -823    
    -824                                    sb.append(escape(value.toString()));
    -825                            }
    -826                    });
    -827            }
    -828    
    -829            /**
    -830             * Iterates over the fields in a structured value.
    -831             */
    -832            protected static class StructuredIterator {
    -833                    private final Iterator<List<String>> it;
    -834    
    -835                    /**
    -836                     * Constructs a new structured iterator.
    -837                     * @param it the iterator to wrap
    -838                     */
    -839                    public StructuredIterator(Iterator<List<String>> it) {
    -840                            this.it = it;
    -841                    }
    -842    
    -843                    /**
    -844                     * Gets the first value of the next component.
    -845                     * @return the first value, null if the value is an empty string, or
    -846                     * null if there are no more components
    -847                     */
    -848                    public String nextString() {
    -849                            if (!hasNext()) {
    -850                                    return null;
    -851                            }
    -852    
    -853                            List<String> list = it.next();
    -854                            if (list.isEmpty()) {
    -855                                    return null;
    -856                            }
    -857    
    -858                            String value = list.get(0);
    -859                            return (value.length() == 0) ? null : value;
    -860                    }
    -861    
    -862                    /**
    -863                     * Gets the next component.
    -864                     * @return the next component, an empty list if the component is empty,
    -865                     * or an empty list of there are no more components
    -866                     */
    -867                    public List<String> nextComponent() {
    -868                            if (!hasNext()) {
    -869                                    return new ArrayList<String>(0); //the lists should be mutable so they can be directly assigned to the property object's fields
    -870                            }
    -871    
    -872                            List<String> list = it.next();
    -873                            if (list.size() == 1 && list.get(0).length() == 0) {
    -874                                    return new ArrayList<String>(0);
    -875                            }
    -876    
    -877                            return list;
    -878                    }
    -879    
    -880                    /**
    -881                     * Determines if there are any elements left in the value.
    -882                     * @return true if there are elements left, false if not
    -883                     */
    -884                    public boolean hasNext() {
    -885                            return it.hasNext();
    -886                    }
    -887            }
    -888    
    -889            /**
    -890             * Iterates over the fields in a semi-structured value (a structured value
    -891             * whose components cannot be multi-valued).
    -892             */
    -893            protected static class SemiStructuredIterator {
    -894                    private final Iterator<String> it;
    -895    
    -896                    /**
    -897                     * Constructs a new structured iterator.
    -898                     * @param it the iterator to wrap
    -899                     */
    -900                    public SemiStructuredIterator(Iterator<String> it) {
    -901                            this.it = it;
    -902                    }
    -903    
    -904                    /**
    -905                     * Gets the next value.
    -906                     * @return the next value, null if the value is an empty string, or null
    -907                     * if there are no more values
    -908                     */
    -909                    public String next() {
    -910                            if (!hasNext()) {
    -911                                    return null;
    -912                            }
    -913    
    -914                            String value = it.next();
    -915                            return (value.length() == 0) ? null : value;
    -916                    }
    -917    
    -918                    /**
    -919                     * Determines if there are any elements left in the value.
    -920                     * @return true if there are elements left, false if not
    -921                     */
    -922                    public boolean hasNext() {
    -923                            return it.hasNext();
    -924                    }
    -925            }
    -926    
    -927            /**
    -928             * Writes an object property value to a string.
    -929             * @param value the value
    -930             * @return the string
    -931             */
    -932            protected static <T> String object(Map<String, List<T>> value) {
    -933                    return join(value, ";", new JoinMapCallback<String, List<T>>() {
    -934                            public void handle(StringBuilder sb, String key, List<T> value) {
    -935                                    sb.append(key.toUpperCase()).append('=').append(list(value));
    -936                            }
    -937                    });
    -938            }
    -939    
    -940            /**
    -941             * Parses an object property value.
    -942             * @param value the value to parse
    -943             * @return the parsed value
    -944             */
    -945            protected static ListMultimap<String, String> object(String value) {
    -946                    ListMultimap<String, String> map = new ListMultimap<String, String>();
    -947    
    -948                    for (String component : split(value, ";").unescape(false).removeEmpties(true).split()) {
    -949                            String[] split = component.split("=", 2);
    -950    
    -951                            String name = unescape(split[0].toUpperCase());
    -952                            List<String> values = (split.length > 1) ? list(split[1]) : Arrays.asList("");
    -953    
    -954                            map.putAll(name, values);
    -955                    }
    -956    
    -957                    return map;
    -958            }
    -959    
    -960            /**
    -961             * Parses a date string.
    -962             * @param value the date string
    -963             * @return the factory object
    -964             */
    -965            protected static DateParser date(String value) {
    -966                    return new DateParser(value);
    -967            }
    -968    
    -969            /**
    -970             * Formats a {@link Date} object as a string.
    -971             * @param date the date
    -972             * @return the factory object
    -973             */
    -974            protected static DateWriter date(Date date) {
    -975                    return new DateWriter(date);
    -976            }
    -977    
    -978            /**
    -979             * Factory class for parsing dates.
    -980             */
    -981            protected static class DateParser {
    -982                    private String value;
    -983                    private TimeZone timezone;
    -984    
    -985                    /**
    -986                     * Creates a new date writer object.
    -987                     * @param value the date string to parse
    -988                     */
    -989                    public DateParser(String value) {
    -990                            this.value = value;
    -991                    }
    -992    
    -993                    /**
    -994                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -995                     * value). If the ID does not contain a "/" character, it will be
    -996                     * ignored.
    -997                     * @param timezoneId the timezone ID
    -998                     * @return this
    -999                     */
    -1000                    public DateParser tzid(String timezoneId) {
    -1001                            return tzid(timezoneId, null);
    -1002                    }
    -1003    
    -1004                    /**
    -1005                     * Sets the ID of the timezone to parse the date as (TZID parameter
    -1006                     * value).
    -1007                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1008                     * "/" character), it will attempt to look up the timezone in Java's
    -1009                     * timezone registry and parse the date according to that timezone. If
    -1010                     * the timezone is not found, the date will be parsed according to the
    -1011                     * JVM's default timezone and a warning message will be added to the
    -1012                     * provided warnings list. If the ID is not global, it will be parsed
    -1013                     * according to the JVM's default timezone. Whichever timezone is chosen
    -1014                     * here, it will be ignored if the date string is in UTC time or
    -1015                     * contains an offset.
    -1016                     * @param warnings if the ID is global and is not recognized, a warning
    -1017                     * message will be added to this list
    -1018                     * @return this
    -1019                     */
    -1020                    public DateParser tzid(String timezoneId, List<String> warnings) {
    -1021                            if (timezoneId == null) {
    -1022                                    return tz(null);
    -1023                            }
    -1024    
    -1025                            if (timezoneId.contains("/")) {
    -1026                                    TimeZone timezone = ICalDateFormatter.parseTimeZoneId(timezoneId);
    -1027                                    if (timezone == null) {
    -1028                                            timezone = TimeZone.getDefault();
    -1029                                            if (warnings != null) {
    -1030                                                    warnings.add("Timezone ID not recognized, parsing with default timezone instead: " + timezoneId);
    -1031                                            }
    -1032                                    }
    -1033                                    return tz(timezone);
    -1034                            }
    -1035    
    -1036                            //TODO parse according to the associated VTIMEZONE component
    -1037                            return tz(TimeZone.getDefault());
    -1038                    }
    -1039    
    -1040                    /**
    -1041                     * Sets the timezone to parse the date as.
    -1042                     * @param timezone the timezone
    -1043                     * @return this
    -1044                     */
    -1045                    public DateParser tz(TimeZone timezone) {
    -1046                            this.timezone = timezone;
    -1047                            return this;
    -1048                    }
    -1049    
    -1050                    /**
    -1051                     * Parses the date string.
    -1052                     * @return the parsed date
    -1053                     * @throws IllegalArgumentException if the date string is invalid
    -1054                     */
    -1055                    public Date parse() {
    -1056                            return ICalDateFormatter.parse(value, timezone);
    -1057                    }
    -1058            }
    -1059    
    -1060            /**
    -1061             * Factory class for writing dates.
    -1062             */
    -1063            protected static class DateWriter {
    -1064                    private Date date;
    -1065                    private boolean hasTime = true;
    -1066                    private TimeZone timezone;
    -1067                    private boolean extended = false;
    -1068    
    -1069                    /**
    -1070                     * Creates a new date writer object.
    -1071                     * @param date the date to format
    -1072                     */
    -1073                    public DateWriter(Date date) {
    -1074                            this.date = date;
    -1075                    }
    -1076    
    -1077                    /**
    -1078                     * Sets whether to output the date's time component.
    -1079                     * @param hasTime true include the time, false if it's strictly a date
    -1080                     * (defaults to "true")
    -1081                     * @return this
    -1082                     */
    -1083                    public DateWriter time(boolean hasTime) {
    -1084                            this.hasTime = hasTime;
    -1085                            return this;
    -1086                    }
    -1087    
    -1088                    /**
    -1089                     * Sets the ID of the timezone to format the date as (TZID parameter
    -1090                     * value).
    -1091                     * @param timezoneId the timezone ID. If the ID is global (contains a
    -1092                     * "/" character), it will attempt to look up the timezone in Java's
    -1093                     * timezone registry and format the date according to that timezone. If
    -1094                     * the timezone is not found, the date will be formatted in UTC. If the
    -1095                     * ID is not global, it will be formatted according to the JVM's default
    -1096                     * timezone. If no timezone preference is specified, the date will be
    -1097                     * formatted as UTC.
    -1098                     * @return this
    -1099                     */
    -1100                    public DateWriter tzid(String timezoneId) {
    -1101                            if (timezoneId == null) {
    -1102                                    return tz(null);
    -1103                            }
    -1104    
    -1105                            if (timezoneId.contains("/")) {
    -1106                                    return tz(ICalDateFormatter.parseTimeZoneId(timezoneId));
    -1107                            }
    -1108    
    -1109                            //TODO format according to the associated VTIMEZONE component
    -1110                            return tz(TimeZone.getDefault());
    -1111                    }
    -1112    
    -1113                    /**
    -1114                     * Outputs the date in local time (without a timezone). If no timezone
    -1115                     * preference is specified, the date will be formatted as UTC.
    -1116                     * @param localTz true to use local time, false not to
    -1117                     * @return this
    -1118                     */
    -1119                    public DateWriter localTz(boolean localTz) {
    -1120                            return localTz ? tz(TimeZone.getDefault()) : this;
    -1121                    }
    -1122    
    -1123                    /**
    -1124                     * Convenience method that combines {@link #localTz(boolean)} and
    -1125                     * {@link #tzid(String)} into one method.
    -1126                     * @param localTz true to use local time, false not to
    -1127                     * @param timezoneId the timezone ID
    -1128                     * @return this
    -1129                     */
    -1130                    public DateWriter tz(boolean localTz, String timezoneId) {
    -1131                            return localTz ? localTz(true) : tzid(timezoneId);
    -1132                    }
    -1133    
    -1134                    /**
    -1135                     * Sets the timezone to format the date as. If no timezone preference is
    -1136                     * specified, the date will be formatted as UTC.
    -1137                     * @param timezone the timezone
    -1138                     * @return this
    -1139                     */
    -1140                    public DateWriter tz(TimeZone timezone) {
    -1141                            this.timezone = timezone;
    -1142                            return this;
    -1143                    }
    -1144    
    -1145                    /**
    -1146                     * Sets whether to use extended format or basic.
    -1147                     * @param extended true to use extended format, false to use basic
    -1148                     * (defaults to "false")
    -1149                     * @return this
    -1150                     */
    -1151                    public DateWriter extended(boolean extended) {
    -1152                            this.extended = extended;
    -1153                            return this;
    -1154                    }
    -1155    
    -1156                    /**
    -1157                     * Creates the date string.
    -1158                     * @return the date string
    -1159                     */
    -1160                    public String write() {
    -1161                            ISOFormat format;
    -1162                            TimeZone timezone = this.timezone;
    -1163                            if (hasTime) {
    -1164                                    if (timezone == null) {
    -1165                                            format = extended ? ISOFormat.UTC_TIME_EXTENDED : ISOFormat.UTC_TIME_BASIC;
    -1166                                    } else {
    -1167                                            format = extended ? ISOFormat.TIME_EXTENDED_WITHOUT_TZ : ISOFormat.TIME_BASIC_WITHOUT_TZ;
    -1168                                    }
    -1169                            } else {
    -1170                                    format = extended ? ISOFormat.DATE_EXTENDED : ISOFormat.DATE_BASIC;
    -1171                                    timezone = null;
    -1172                            }
    -1173    
    -1174                            return ICalDateFormatter.format(date, format, timezone);
    -1175                    }
    -1176            }
    -1177    
    -1178            /**
    -1179             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1180             * that the parser expected to find are missing from the property's XML
    -1181             * element.
    -1182             * @param dataTypes the expected data types (null for "unknown")
    -1183             */
    -1184            protected static CannotParseException missingXmlElements(ICalDataType... dataTypes) {
    -1185                    String[] elements = new String[dataTypes.length];
    -1186                    for (int i = 0; i < dataTypes.length; i++) {
    -1187                            ICalDataType dataType = dataTypes[i];
    -1188                            elements[i] = (dataType == null) ? "unknown" : dataType.getName().toLowerCase();
    -1189                    }
    -1190                    return missingXmlElements(elements);
    -1191            }
    -1192    
    -1193            /**
    -1194             * Creates a {@link CannotParseException}, indicating that the XML elements
    -1195             * that the parser expected to find are missing from property's XML element.
    -1196             * @param elements the names of the expected XML elements.
    -1197             */
    -1198            protected static CannotParseException missingXmlElements(String... elements) {
    -1199                    String message;
    -1200    
    -1201                    switch (elements.length) {
    -1202                    case 0:
    -1203                            message = "Property value empty.";
    -1204                            break;
    -1205                    case 1:
    -1206                            message = "Property value empty (no <" + elements[0] + "> element found).";
    -1207                            break;
    -1208                    case 2:
    -1209                            message = "Property value empty (no <" + elements[0] + "> or <" + elements[1] + "> elements found).";
    -1210                            break;
    -1211                    default:
    -1212                            StringBuilder sb = new StringBuilder();
    -1213    
    -1214                            sb.append("Property value empty (no ");
    -1215                            join(Arrays.asList(elements).subList(0, elements.length - 1), ", ", sb, new JoinCallback<String>() {
    -1216                                    public void handle(StringBuilder sb, String value) {
    -1217                                            sb.append('<').append(value).append('>');
    -1218                                    }
    -1219                            });
    -1220                            sb.append(", or <").append(elements[elements.length - 1]).append("> elements found).");
    -1221    
    -1222                            message = sb.toString();
    -1223                            break;
    -1224                    }
    -1225    
    -1226                    return new CannotParseException(message);
    -1227            }
    -1228    
    -1229            /**
    -1230             * Represents the result of an unmarshal operation.
    -1231             * @author Michael Angstadt
    -1232             * @param <T> the unmarshalled property class
    -1233             */
    -1234            public static class Result<T extends ICalProperty> {
    -1235                    private final T property;
    -1236                    private final List<String> warnings;
    -1237    
    -1238                    /**
    -1239                     * Creates a new result.
    -1240                     * @param property the property object
    -1241                     * @param warnings the warnings
    -1242                     */
    -1243                    public Result(T property, List<String> warnings) {
    -1244                            this.property = property;
    -1245                            this.warnings = warnings;
    -1246                    }
    -1247    
    -1248                    /**
    -1249                     * Gets the warnings.
    -1250                     * @return the warnings
    -1251                     */
    -1252                    public List<String> getWarnings() {
    -1253                            return warnings;
    -1254                    }
    -1255    
    -1256                    /**
    -1257                     * Gets the property object.
    -1258                     * @return the property object
    -1259                     */
    -1260                    public T getProperty() {
    -1261                            return property;
    -1262                    }
    -1263            }
    -1264    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/IntegerPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/IntegerPropertyMarshaller.html deleted file mode 100644 index 7da23969..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/IntegerPropertyMarshaller.html +++ /dev/null @@ -1,175 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.CannotParseException;
    -007    import biweekly.io.json.JCalValue;
    -008    import biweekly.io.xml.XCalElement;
    -009    import biweekly.parameter.ICalParameters;
    -010    import biweekly.property.IntegerProperty;
    -011    
    -012    /*
    -013     Copyright (c) 2013, Michael Angstadt
    -014     All rights reserved.
    -015    
    -016     Redistribution and use in source and binary forms, with or without
    -017     modification, are permitted provided that the following conditions are met: 
    -018    
    -019     1. Redistributions of source code must retain the above copyright notice, this
    -020     list of conditions and the following disclaimer. 
    -021     2. Redistributions in binary form must reproduce the above copyright notice,
    -022     this list of conditions and the following disclaimer in the documentation
    -023     and/or other materials provided with the distribution. 
    -024    
    -025     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -026     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -027     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -028     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -029     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -030     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -031     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -032     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -033     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -034     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -035     */
    -036    
    -037    /**
    -038     * Marshals properties that have integer values.
    -039     * @param <T> the property class
    -040     * @author Michael Angstadt
    -041     */
    -042    public abstract class IntegerPropertyMarshaller<T extends IntegerProperty> extends ICalPropertyMarshaller<T> {
    -043            public IntegerPropertyMarshaller(Class<T> clazz, String propertyName) {
    -044                    super(clazz, propertyName, ICalDataType.INTEGER);
    -045            }
    -046    
    -047            @Override
    -048            protected String _writeText(T property) {
    -049                    Integer value = property.getValue();
    -050                    if (value != null) {
    -051                            return value.toString();
    -052                    }
    -053    
    -054                    return "";
    -055            }
    -056    
    -057            @Override
    -058            protected T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -059                    value = unescape(value);
    -060                    return parse(value);
    -061            }
    -062    
    -063            @Override
    -064            protected void _writeXml(T property, XCalElement element) {
    -065                    String valueStr = null;
    -066    
    -067                    Integer value = property.getValue();
    -068                    if (value != null) {
    -069                            valueStr = value.toString();
    -070                    }
    -071    
    -072                    element.append(dataType(property), valueStr);
    -073            }
    -074    
    -075            @Override
    -076            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -077                    String value = element.first(defaultDataType);
    -078                    if (value != null) {
    -079                            return parse(value);
    -080                    }
    -081    
    -082                    throw missingXmlElements(defaultDataType);
    -083            }
    -084    
    -085            @Override
    -086            protected JCalValue _writeJson(T property) {
    -087                    return JCalValue.single(property.getValue());
    -088            }
    -089    
    -090            @Override
    -091            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -092                    return parse(value.asSingle());
    -093            }
    -094    
    -095            private T parse(String value) {
    -096                    if (value == null || value.length() == 0) {
    -097                            return newInstance(null);
    -098                    }
    -099    
    -100                    try {
    -101                            Integer intValue = Integer.valueOf(value);
    -102                            return newInstance(intValue);
    -103                    } catch (NumberFormatException e) {
    -104                            throw new CannotParseException("Could not parse integer value.");
    -105                    }
    -106            }
    -107    
    -108            protected abstract T newInstance(Integer value);
    -109    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/LastModifiedMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/LastModifiedMarshaller.html deleted file mode 100644 index c06846ec..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/LastModifiedMarshaller.html +++ /dev/null @@ -1,112 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.property.LastModified;
    -006    
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Marshals {@link LastModified} properties.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class LastModifiedMarshaller extends DateTimePropertyMarshaller<LastModified> {
    -038            public LastModifiedMarshaller() {
    -039                    super(LastModified.class, "LAST-MODIFIED");
    -040            }
    -041    
    -042            @Override
    -043            protected LastModified newInstance(Date date) {
    -044                    return new LastModified(date);
    -045            }
    -046    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ListPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ListPropertyMarshaller.html deleted file mode 100644 index c1bbf138..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ListPropertyMarshaller.html +++ /dev/null @@ -1,180 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.json.JCalValue;
    -007    import biweekly.io.xml.XCalElement;
    -008    import biweekly.parameter.ICalParameters;
    -009    import biweekly.property.ListProperty;
    -010    
    -011    /*
    -012     Copyright (c) 2013, Michael Angstadt
    -013     All rights reserved.
    -014    
    -015     Redistribution and use in source and binary forms, with or without
    -016     modification, are permitted provided that the following conditions are met: 
    -017    
    -018     1. Redistributions of source code must retain the above copyright notice, this
    -019     list of conditions and the following disclaimer. 
    -020     2. Redistributions in binary form must reproduce the above copyright notice,
    -021     this list of conditions and the following disclaimer in the documentation
    -022     and/or other materials provided with the distribution. 
    -023    
    -024     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -025     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -026     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -027     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -028     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -029     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -030     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -031     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -032     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -033     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -034     */
    -035    
    -036    /**
    -037     * Marshals properties that contain a list of values.
    -038     * @param <T> the property class
    -039     * @param <V> the value class
    -040     * @author Michael Angstadt
    -041     */
    -042    public abstract class ListPropertyMarshaller<T extends ListProperty<V>, V> extends ICalPropertyMarshaller<T> {
    -043            public ListPropertyMarshaller(Class<T> clazz, String propertyName) {
    -044                    this(clazz, propertyName, ICalDataType.TEXT);
    -045            }
    -046    
    -047            public ListPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType dataType) {
    -048                    super(clazz, propertyName, dataType);
    -049            }
    -050    
    -051            @Override
    -052            protected String _writeText(final T property) {
    -053                    return list(property.getValues(), new ListCallback<V>() {
    -054                            public String asString(V value) {
    -055                                    return writeValue(property, value);
    -056                            }
    -057                    });
    -058            }
    -059    
    -060            @Override
    -061            protected T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -062                    return parse(list(value), dataType, parameters, warnings);
    -063            }
    -064    
    -065            @Override
    -066            protected void _writeXml(T property, XCalElement element) {
    -067                    for (V value : property.getValues()) {
    -068                            String valueStr = writeValue(property, value);
    -069                            element.append(dataType(property), valueStr);
    -070                    }
    -071            }
    -072    
    -073            @Override
    -074            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -075                    List<String> values = element.all(defaultDataType);
    -076                    if (!values.isEmpty()) {
    -077                            return parse(values, defaultDataType, parameters, warnings);
    -078                    }
    -079    
    -080                    throw missingXmlElements(defaultDataType);
    -081            }
    -082    
    -083            @Override
    -084            protected JCalValue _writeJson(T property) {
    -085                    List<V> values = property.getValues();
    -086                    if (!values.isEmpty()) {
    -087                            return JCalValue.multi(property.getValues());
    -088                    }
    -089    
    -090                    return JCalValue.single("");
    -091            }
    -092    
    -093            @Override
    -094            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -095                    return parse(value.asMulti(), dataType, parameters, warnings);
    -096            }
    -097    
    -098            private T parse(List<String> valueStrs, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -099                    T property = newInstance(dataType, parameters);
    -100    
    -101                    for (String valueStr : valueStrs) {
    -102                            V value = readValue(valueStr, dataType, parameters, warnings);
    -103                            property.addValue(value);
    -104                    }
    -105    
    -106                    return property;
    -107            }
    -108    
    -109            protected abstract T newInstance(ICalDataType dataType, ICalParameters parameters);
    -110    
    -111            protected abstract String writeValue(T property, V value);
    -112    
    -113            protected abstract V readValue(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings);
    -114    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/LocationMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/LocationMarshaller.html deleted file mode 100644 index e8dda966..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/LocationMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Location;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Location} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class LocationMarshaller extends TextPropertyMarshaller<Location> {
    -035            public LocationMarshaller() {
    -036                    super(Location.class, "LOCATION");
    -037            }
    -038    
    -039            @Override
    -040            protected Location newInstance(String value) {
    -041                    return new Location(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/MethodMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/MethodMarshaller.html deleted file mode 100644 index 30954c5d..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/MethodMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Method;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Method} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class MethodMarshaller extends TextPropertyMarshaller<Method> {
    -035            public MethodMarshaller() {
    -036                    super(Method.class, "METHOD");
    -037            }
    -038    
    -039            @Override
    -040            protected Method newInstance(String value) {
    -041                    return new Method(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/OrganizerMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/OrganizerMarshaller.html deleted file mode 100644 index 6e1cc0a3..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/OrganizerMarshaller.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.ICalDataType;
    -004    import biweekly.property.Organizer;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Marshals {@link Organizer} properties.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class OrganizerMarshaller extends TextPropertyMarshaller<Organizer> {
    -036            public OrganizerMarshaller() {
    -037                    super(Organizer.class, "ORGANIZER", ICalDataType.CAL_ADDRESS);
    -038            }
    -039    
    -040            @Override
    -041            protected Organizer newInstance(String value) {
    -042                    return new Organizer(value);
    -043            }
    -044    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/PercentCompleteMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/PercentCompleteMarshaller.html deleted file mode 100644 index b0c33ea1..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/PercentCompleteMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.PercentComplete;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link PercentComplete} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class PercentCompleteMarshaller extends IntegerPropertyMarshaller<PercentComplete> {
    -035            public PercentCompleteMarshaller() {
    -036                    super(PercentComplete.class, "PERCENT-COMPLETE");
    -037            }
    -038    
    -039            @Override
    -040            protected PercentComplete newInstance(Integer value) {
    -041                    return new PercentComplete(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/PriorityMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/PriorityMarshaller.html deleted file mode 100644 index 2345b244..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/PriorityMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Priority;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Priority} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class PriorityMarshaller extends IntegerPropertyMarshaller<Priority> {
    -035            public PriorityMarshaller() {
    -036                    super(Priority.class, "PRIORITY");
    -037            }
    -038    
    -039            @Override
    -040            protected Priority newInstance(Integer value) {
    -041                    return new Priority(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ProductIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ProductIdMarshaller.html deleted file mode 100644 index 96abc8c7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ProductIdMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.ProductId;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link ProductId} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class ProductIdMarshaller extends TextPropertyMarshaller<ProductId> {
    -035            public ProductIdMarshaller() {
    -036                    super(ProductId.class, "PRODID");
    -037            }
    -038    
    -039            @Override
    -040            protected ProductId newInstance(String value) {
    -041                    return new ProductId(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RawPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RawPropertyMarshaller.html deleted file mode 100644 index 2480ff74..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RawPropertyMarshaller.html +++ /dev/null @@ -1,155 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import org.w3c.dom.Element;
    -006    
    -007    import biweekly.ICalDataType;
    -008    import biweekly.io.xml.XCalElement;
    -009    import biweekly.io.xml.XCalNamespaceContext;
    -010    import biweekly.parameter.ICalParameters;
    -011    import biweekly.property.RawProperty;
    -012    import biweekly.util.XmlUtils;
    -013    
    -014    /*
    -015     Copyright (c) 2013, Michael Angstadt
    -016     All rights reserved.
    -017    
    -018     Redistribution and use in source and binary forms, with or without
    -019     modification, are permitted provided that the following conditions are met: 
    -020    
    -021     1. Redistributions of source code must retain the above copyright notice, this
    -022     list of conditions and the following disclaimer. 
    -023     2. Redistributions in binary form must reproduce the above copyright notice,
    -024     this list of conditions and the following disclaimer in the documentation
    -025     and/or other materials provided with the distribution. 
    -026    
    -027     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -028     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -029     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -030     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -031     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -032     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -033     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -034     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -035     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -036     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -037     */
    -038    
    -039    /**
    -040     * Marshals properties that do not have a marshaller associated with them.
    -041     * @author Michael Angstadt
    -042     */
    -043    public class RawPropertyMarshaller extends ICalPropertyMarshaller<RawProperty> {
    -044            public RawPropertyMarshaller(String propertyName) {
    -045                    super(RawProperty.class, propertyName, null);
    -046            }
    -047    
    -048            @Override
    -049            protected ICalDataType _dataType(RawProperty property) {
    -050                    return property.getDataType();
    -051            }
    -052    
    -053            @Override
    -054            protected String _writeText(RawProperty property) {
    -055                    String value = property.getValue();
    -056                    if (value != null) {
    -057                            return value;
    -058                    }
    -059    
    -060                    return "";
    -061            }
    -062    
    -063            @Override
    -064            protected RawProperty _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -065                    return new RawProperty(propertyName, dataType, value);
    -066            }
    -067    
    -068            @Override
    -069            protected RawProperty _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -070                    Element rawElement = element.getElement();
    -071                    String name = rawElement.getLocalName();
    -072    
    -073                    //get the text content of the first child element with the xCard namespace
    -074                    List<Element> children = XmlUtils.toElementList(rawElement.getChildNodes());
    -075                    for (Element child : children) {
    -076                            if (!XCalNamespaceContext.XCAL_NS.equals(child.getNamespaceURI())) {
    -077                                    continue;
    -078                            }
    -079    
    -080                            String value = child.getTextContent();
    -081                            ICalDataType dataType = ICalDataType.get(child.getLocalName());
    -082                            return new RawProperty(name, dataType, value);
    -083                    }
    -084    
    -085                    //get the text content of the property element
    -086                    String value = rawElement.getTextContent();
    -087                    return new RawProperty(name, null, value);
    -088            }
    -089    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceDatesMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceDatesMarshaller.html deleted file mode 100644 index 0d11d12a..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceDatesMarshaller.html +++ /dev/null @@ -1,379 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Date;
    -005    import java.util.List;
    -006    
    -007    import biweekly.ICalDataType;
    -008    import biweekly.io.json.JCalValue;
    -009    import biweekly.io.xml.XCalElement;
    -010    import biweekly.parameter.ICalParameters;
    -011    import biweekly.property.RecurrenceDates;
    -012    import biweekly.util.Duration;
    -013    import biweekly.util.Period;
    -014    
    -015    /*
    -016     Copyright (c) 2013, Michael Angstadt
    -017     All rights reserved.
    -018    
    -019     Redistribution and use in source and binary forms, with or without
    -020     modification, are permitted provided that the following conditions are met: 
    -021    
    -022     1. Redistributions of source code must retain the above copyright notice, this
    -023     list of conditions and the following disclaimer. 
    -024     2. Redistributions in binary form must reproduce the above copyright notice,
    -025     this list of conditions and the following disclaimer in the documentation
    -026     and/or other materials provided with the distribution. 
    -027    
    -028     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -029     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -030     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -031     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -032     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -033     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -034     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -035     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -036     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -037     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -038     */
    -039    
    -040    /**
    -041     * Marshals {@link RecurrenceDates} properties.
    -042     * @author Michael Angstadt
    -043     */
    -044    public class RecurrenceDatesMarshaller extends ICalPropertyMarshaller<RecurrenceDates> {
    -045            public RecurrenceDatesMarshaller() {
    -046                    super(RecurrenceDates.class, "RDATE", ICalDataType.DATE_TIME);
    -047            }
    -048    
    -049            @Override
    -050            protected ICalDataType _dataType(RecurrenceDates property) {
    -051                    if (property.getDates() != null) {
    -052                            return property.hasTime() ? ICalDataType.DATE_TIME : ICalDataType.DATE;
    -053                    }
    -054                    if (property.getPeriods() != null) {
    -055                            return ICalDataType.PERIOD;
    -056                    }
    -057                    return getDefaultDataType();
    -058            }
    -059    
    -060            @Override
    -061            protected String _writeText(final RecurrenceDates property) {
    -062                    List<Date> dates = property.getDates();
    -063                    if (dates != null) {
    -064                            return list(dates, new ListCallback<Date>() {
    -065                                    public String asString(Date date) {
    -066                                            return date(date).time(property.hasTime()).tzid(property.getTimezoneId()).write();
    -067                                    }
    -068                            });
    -069                    }
    -070    
    -071                    List<Period> periods = property.getPeriods();
    -072                    if (periods != null) {
    -073                            return list(periods, new ListCallback<Period>() {
    -074                                    public String asString(Period period) {
    -075                                            StringBuilder sb = new StringBuilder();
    -076    
    -077                                            if (period.getStartDate() != null) {
    -078                                                    String date = date(period.getStartDate()).tzid(property.getTimezoneId()).write();
    -079                                                    sb.append(date);
    -080                                            }
    -081    
    -082                                            sb.append('/');
    -083    
    -084                                            if (period.getEndDate() != null) {
    -085                                                    String date = date(period.getEndDate()).tzid(property.getTimezoneId()).write();
    -086                                                    sb.append(date);
    -087                                            } else if (period.getDuration() != null) {
    -088                                                    sb.append(period.getDuration());
    -089                                            }
    -090    
    -091                                            return sb.toString();
    -092                                    }
    -093                            });
    -094                    }
    -095    
    -096                    return "";
    -097            }
    -098    
    -099            @Override
    -100            protected RecurrenceDates _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -101                    return parse(list(value), dataType, parameters, warnings);
    -102            }
    -103    
    -104            @Override
    -105            protected void _writeXml(RecurrenceDates property, XCalElement element) {
    -106                    List<Date> dates = property.getDates();
    -107                    if (dates != null) {
    -108                            ICalDataType dataType = property.hasTime() ? ICalDataType.DATE_TIME : ICalDataType.DATE;
    -109                            if (dates.isEmpty()) {
    -110                                    element.append(dataType, "");
    -111                            } else {
    -112                                    for (Date date : dates) {
    -113                                            String dateStr = date(date).time(property.hasTime()).tzid(property.getTimezoneId()).extended(true).write();
    -114                                            element.append(dataType, dateStr);
    -115                                    }
    -116                            }
    -117                            return;
    -118                    }
    -119    
    -120                    List<Period> periods = property.getPeriods();
    -121                    if (periods != null) {
    -122                            if (periods.isEmpty()) {
    -123                                    element.append(ICalDataType.PERIOD, "");
    -124                            } else {
    -125                                    for (Period period : periods) {
    -126                                            XCalElement periodElement = element.append(ICalDataType.PERIOD);
    -127    
    -128                                            Date start = period.getStartDate();
    -129                                            if (start != null) {
    -130                                                    periodElement.append("start", date(start).tzid(property.getTimezoneId()).extended(true).write());
    -131                                            }
    -132    
    -133                                            Date end = period.getEndDate();
    -134                                            if (end != null) {
    -135                                                    periodElement.append("end", date(end).tzid(property.getTimezoneId()).extended(true).write());
    -136                                            }
    -137    
    -138                                            Duration duration = period.getDuration();
    -139                                            if (duration != null) {
    -140                                                    periodElement.append("duration", duration.toString());
    -141                                            }
    -142                                    }
    -143                            }
    -144                            return;
    -145                    }
    -146    
    -147                    element.append(defaultDataType, "");
    -148            }
    -149    
    -150            @Override
    -151            protected RecurrenceDates _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -152                    //parse as periods
    -153                    List<XCalElement> periodElements = element.children(ICalDataType.PERIOD);
    -154                    if (!periodElements.isEmpty()) {
    -155                            List<Period> periods = new ArrayList<Period>(periodElements.size());
    -156                            for (XCalElement periodElement : periodElements) {
    -157                                    String startStr = periodElement.first("start");
    -158                                    if (startStr == null) {
    -159                                            warnings.add("No start date found in time period, skipping.");
    -160                                            continue;
    -161                                    }
    -162    
    -163                                    Date start = null;
    -164                                    try {
    -165                                            start = date(startStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -166                                    } catch (IllegalArgumentException e) {
    -167                                            warnings.add("Could not parse start date, skipping time period: " + startStr);
    -168                                            continue;
    -169                                    }
    -170    
    -171                                    String endStr = periodElement.first("end");
    -172                                    if (endStr != null) {
    -173                                            try {
    -174                                                    Date end = date(endStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -175                                                    periods.add(new Period(start, end));
    -176                                            } catch (IllegalArgumentException e) {
    -177                                                    warnings.add("Could not parse end date, skipping time period: " + endStr);
    -178                                            }
    -179                                            continue;
    -180                                    }
    -181    
    -182                                    String durationStr = periodElement.first("duration");
    -183                                    if (durationStr != null) {
    -184                                            try {
    -185                                                    Duration duration = Duration.parse(durationStr);
    -186                                                    periods.add(new Period(start, duration));
    -187                                            } catch (IllegalArgumentException e) {
    -188                                                    warnings.add("Could not parse duration, skipping time period: " + durationStr);
    -189                                            }
    -190                                            continue;
    -191                                    }
    -192    
    -193                                    warnings.add("Start date has no accompanying end date or duration, skipping.");
    -194                            }
    -195                            return new RecurrenceDates(periods);
    -196                    }
    -197    
    -198                    //parse as dates
    -199                    List<String> dateStrs = element.all(ICalDataType.DATE_TIME);
    -200                    boolean hasTime = !dateStrs.isEmpty();
    -201                    dateStrs.addAll(element.all(ICalDataType.DATE));
    -202                    if (!dateStrs.isEmpty()) {
    -203                            List<Date> dates = new ArrayList<Date>(dateStrs.size());
    -204                            for (String dateStr : dateStrs) {
    -205                                    try {
    -206                                            Date date = date(dateStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -207                                            dates.add(date);
    -208                                    } catch (IllegalArgumentException e) {
    -209                                            warnings.add("Skipping unparsable date: " + dateStr);
    -210                                    }
    -211                            }
    -212                            return new RecurrenceDates(dates, hasTime);
    -213                    }
    -214    
    -215                    throw missingXmlElements(ICalDataType.PERIOD, ICalDataType.DATE_TIME, ICalDataType.DATE);
    -216            }
    -217    
    -218            @Override
    -219            protected JCalValue _writeJson(RecurrenceDates property) {
    -220                    List<String> values = new ArrayList<String>();
    -221    
    -222                    List<Date> dates = property.getDates();
    -223                    List<Period> periods = property.getPeriods();
    -224                    if (dates != null) {
    -225                            for (Date date : dates) {
    -226                                    String dateStr = date(date).time(property.hasTime()).tzid(property.getTimezoneId()).extended(true).write();
    -227                                    values.add(dateStr);
    -228                            }
    -229                    } else if (periods != null) {
    -230                            for (Period period : property.getPeriods()) {
    -231                                    StringBuilder sb = new StringBuilder();
    -232                                    if (period.getStartDate() != null) {
    -233                                            String value = date(period.getStartDate()).tzid(property.getTimezoneId()).extended(true).write();
    -234                                            sb.append(value);
    -235                                    }
    -236    
    -237                                    sb.append('/');
    -238    
    -239                                    if (period.getEndDate() != null) {
    -240                                            String value = date(period.getEndDate()).tzid(property.getTimezoneId()).extended(true).write();
    -241                                            sb.append(value);
    -242                                    } else if (period.getDuration() != null) {
    -243                                            sb.append(period.getDuration());
    -244                                    }
    -245    
    -246                                    values.add(sb.toString());
    -247                            }
    -248                    }
    -249    
    -250                    if (values.isEmpty()) {
    -251                            values.add("");
    -252                    }
    -253                    return JCalValue.multi(values);
    -254            }
    -255    
    -256            @Override
    -257            protected RecurrenceDates _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -258                    return parse(value.asMulti(), dataType, parameters, warnings);
    -259            }
    -260    
    -261            private RecurrenceDates parse(List<String> valueStrs, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -262                    if (dataType == ICalDataType.PERIOD) {
    -263                            //parse as periods
    -264                            List<Period> periods = new ArrayList<Period>(valueStrs.size());
    -265                            for (String timePeriodStr : valueStrs) {
    -266                                    String timePeriodStrSplit[] = timePeriodStr.split("/");
    -267    
    -268                                    if (timePeriodStrSplit.length < 2) {
    -269                                            warnings.add("No end date or duration found, skipping time period: " + timePeriodStr);
    -270                                            continue;
    -271                                    }
    -272    
    -273                                    String startStr = timePeriodStrSplit[0];
    -274                                    Date start;
    -275                                    try {
    -276                                            start = date(startStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -277                                    } catch (IllegalArgumentException e) {
    -278                                            warnings.add("Could not parse start date, skipping time period: " + timePeriodStr);
    -279                                            continue;
    -280                                    }
    -281    
    -282                                    String endStr = timePeriodStrSplit[1];
    -283                                    try {
    -284                                            Date end = date(endStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -285                                            periods.add(new Period(start, end));
    -286                                    } catch (IllegalArgumentException e) {
    -287                                            //must be a duration
    -288                                            try {
    -289                                                    Duration duration = Duration.parse(endStr);
    -290                                                    periods.add(new Period(start, duration));
    -291                                            } catch (IllegalArgumentException e2) {
    -292                                                    warnings.add("Could not parse end date or duration value, skipping time period: " + timePeriodStr);
    -293                                                    continue;
    -294                                            }
    -295                                    }
    -296                            }
    -297                            return new RecurrenceDates(periods);
    -298                    }
    -299    
    -300                    //parse as dates
    -301                    boolean hasTime = (dataType == ICalDataType.DATE_TIME);
    -302                    List<Date> dates = new ArrayList<Date>(valueStrs.size());
    -303                    for (String s : valueStrs) {
    -304                            try {
    -305                                    Date date = date(s).tzid(parameters.getTimezoneId(), warnings).parse();
    -306                                    dates.add(date);
    -307                            } catch (IllegalArgumentException e) {
    -308                                    warnings.add("Skipping unparsable date: " + s);
    -309                            }
    -310                    }
    -311                    return new RecurrenceDates(dates, hasTime);
    -312            }
    -313    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceIdMarshaller.html deleted file mode 100644 index 93f2aca6..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceIdMarshaller.html +++ /dev/null @@ -1,112 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    
    -005    import biweekly.property.RecurrenceId;
    -006    
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Marshals {@link RecurrenceId} properties.
    -035     * @author Michael Angstadt
    -036     */
    -037    public class RecurrenceIdMarshaller extends DateOrDateTimePropertyMarshaller<RecurrenceId> {
    -038            public RecurrenceIdMarshaller() {
    -039                    super(RecurrenceId.class, "RECURRENCE-ID");
    -040            }
    -041    
    -042            @Override
    -043            protected RecurrenceId newInstance(Date date, boolean hasTime) {
    -044                    return new RecurrenceId(date, hasTime);
    -045            }
    -046    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrencePropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrencePropertyMarshaller.html deleted file mode 100644 index 8cc2fb47..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrencePropertyMarshaller.html +++ /dev/null @@ -1,524 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    import java.util.Iterator;
    -005    import java.util.List;
    -006    import java.util.Map;
    -007    import java.util.regex.Matcher;
    -008    import java.util.regex.Pattern;
    -009    
    -010    import org.w3c.dom.Element;
    -011    
    -012    import biweekly.ICalDataType;
    -013    import biweekly.io.json.JCalValue;
    -014    import biweekly.io.xml.XCalElement;
    -015    import biweekly.io.xml.XCalNamespaceContext;
    -016    import biweekly.parameter.ICalParameters;
    -017    import biweekly.property.RecurrenceProperty;
    -018    import biweekly.util.ICalDateFormatter;
    -019    import biweekly.util.ListMultimap;
    -020    import biweekly.util.Recurrence;
    -021    import biweekly.util.Recurrence.DayOfWeek;
    -022    import biweekly.util.Recurrence.Frequency;
    -023    import biweekly.util.XmlUtils;
    -024    
    -025    /*
    -026     Copyright (c) 2013, Michael Angstadt
    -027     All rights reserved.
    -028    
    -029     Redistribution and use in source and binary forms, with or without
    -030     modification, are permitted provided that the following conditions are met: 
    -031    
    -032     1. Redistributions of source code must retain the above copyright notice, this
    -033     list of conditions and the following disclaimer. 
    -034     2. Redistributions in binary form must reproduce the above copyright notice,
    -035     this list of conditions and the following disclaimer in the documentation
    -036     and/or other materials provided with the distribution. 
    -037    
    -038     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -039     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -040     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -041     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -042     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -043     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -044     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -045     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -046     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -047     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -048     */
    -049    
    -050    /**
    -051     * Marshals properties whose values are {@link Recurrence}.
    -052     * @param <T> the property class
    -053     * @author Michael Angstadt
    -054     */
    -055    public abstract class RecurrencePropertyMarshaller<T extends RecurrenceProperty> extends ICalPropertyMarshaller<T> {
    -056            public RecurrencePropertyMarshaller(Class<T> clazz, String propertyName) {
    -057                    super(clazz, propertyName, ICalDataType.RECUR);
    -058            }
    -059    
    -060            @Override
    -061            protected String _writeText(T property) {
    -062                    Recurrence recur = property.getValue();
    -063                    if (recur == null) {
    -064                            return "";
    -065                    }
    -066    
    -067                    ListMultimap<String, Object> components = buildComponents(recur, false);
    -068                    return object(components.getMap());
    -069            }
    -070    
    -071            @Override
    -072            protected T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -073                    Recurrence.Builder builder = new Recurrence.Builder((Frequency) null);
    -074                    ListMultimap<String, String> rules = object(value);
    -075    
    -076                    parseFreq(rules, builder, warnings);
    -077                    parseUntil(rules, builder, warnings);
    -078                    parseCount(rules, builder, warnings);
    -079                    parseInterval(rules, builder, warnings);
    -080                    parseBySecond(rules, builder, warnings);
    -081                    parseByMinute(rules, builder, warnings);
    -082                    parseByHour(rules, builder, warnings);
    -083                    parseByDay(rules, builder, warnings);
    -084                    parseByMonthDay(rules, builder, warnings);
    -085                    parseByYearDay(rules, builder, warnings);
    -086                    parseByWeekNo(rules, builder, warnings);
    -087                    parseByMonth(rules, builder, warnings);
    -088                    parseBySetPos(rules, builder, warnings);
    -089                    parseWkst(rules, builder, warnings);
    -090                    parseXRules(rules, builder, warnings); //must be called last
    -091    
    -092                    return newInstance(builder.build());
    -093            }
    -094    
    -095            @Override
    -096            protected void _writeXml(T property, XCalElement element) {
    -097                    XCalElement recurElement = element.append(dataType(property));
    -098    
    -099                    Recurrence recur = property.getValue();
    -100                    if (recur == null) {
    -101                            return;
    -102                    }
    -103    
    -104                    ListMultimap<String, Object> components = buildComponents(recur, true);
    -105                    for (Map.Entry<String, List<Object>> component : components) {
    -106                            String name = component.getKey().toLowerCase();
    -107                            for (Object value : component.getValue()) {
    -108                                    recurElement.append(name, value.toString());
    -109                            }
    -110                    }
    -111            }
    -112    
    -113            @Override
    -114            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -115                    XCalElement value = element.child(defaultDataType);
    -116                    if (value == null) {
    -117                            throw missingXmlElements(defaultDataType);
    -118                    }
    -119    
    -120                    ListMultimap<String, String> rules = new ListMultimap<String, String>();
    -121                    for (Element child : XmlUtils.toElementList(value.getElement().getChildNodes())) {
    -122                            if (!XCalNamespaceContext.XCAL_NS.equals(child.getNamespaceURI())) {
    -123                                    continue;
    -124                            }
    -125    
    -126                            String name = child.getLocalName().toUpperCase();
    -127                            String text = child.getTextContent();
    -128                            rules.put(name, text);
    -129                    }
    -130    
    -131                    Recurrence.Builder builder = new Recurrence.Builder((Frequency) null);
    -132    
    -133                    parseFreq(rules, builder, warnings);
    -134                    parseUntil(rules, builder, warnings);
    -135                    parseCount(rules, builder, warnings);
    -136                    parseInterval(rules, builder, warnings);
    -137                    parseBySecond(rules, builder, warnings);
    -138                    parseByMinute(rules, builder, warnings);
    -139                    parseByHour(rules, builder, warnings);
    -140                    parseByDay(rules, builder, warnings);
    -141                    parseByMonthDay(rules, builder, warnings);
    -142                    parseByYearDay(rules, builder, warnings);
    -143                    parseByWeekNo(rules, builder, warnings);
    -144                    parseByMonth(rules, builder, warnings);
    -145                    parseBySetPos(rules, builder, warnings);
    -146                    parseWkst(rules, builder, warnings);
    -147                    parseXRules(rules, builder, warnings); //must be called last
    -148    
    -149                    return newInstance(builder.build());
    -150            }
    -151    
    -152            @Override
    -153            protected JCalValue _writeJson(T property) {
    -154                    Recurrence recur = property.getValue();
    -155                    if (recur == null) {
    -156                            return JCalValue.object(new ListMultimap<String, Object>(0));
    -157                    }
    -158    
    -159                    ListMultimap<String, Object> components = buildComponents(recur, true);
    -160    
    -161                    //lower-case all the keys
    -162                    ListMultimap<String, Object> object = new ListMultimap<String, Object>(components.keySet().size());
    -163                    for (Map.Entry<String, List<Object>> entry : components) {
    -164                            String key = entry.getKey().toLowerCase();
    -165                            object.putAll(key, entry.getValue());
    -166                    }
    -167    
    -168                    return JCalValue.object(object);
    -169            }
    -170    
    -171            @Override
    -172            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -173                    Recurrence.Builder builder = new Recurrence.Builder((Frequency) null);
    -174    
    -175                    //upper-case the keys
    -176                    ListMultimap<String, String> object = value.asObject();
    -177                    ListMultimap<String, String> rules = new ListMultimap<String, String>(object.keySet().size());
    -178                    for (Map.Entry<String, List<String>> entry : object) {
    -179                            String key = entry.getKey().toUpperCase();
    -180                            rules.putAll(key, entry.getValue());
    -181                    }
    -182    
    -183                    parseFreq(rules, builder, warnings);
    -184                    parseUntil(rules, builder, warnings);
    -185                    parseCount(rules, builder, warnings);
    -186                    parseInterval(rules, builder, warnings);
    -187                    parseBySecond(rules, builder, warnings);
    -188                    parseByMinute(rules, builder, warnings);
    -189                    parseByHour(rules, builder, warnings);
    -190                    parseByDay(rules, builder, warnings);
    -191                    parseByMonthDay(rules, builder, warnings);
    -192                    parseByYearDay(rules, builder, warnings);
    -193                    parseByWeekNo(rules, builder, warnings);
    -194                    parseByMonth(rules, builder, warnings);
    -195                    parseBySetPos(rules, builder, warnings);
    -196                    parseWkst(rules, builder, warnings);
    -197                    parseXRules(rules, builder, warnings); //must be called last
    -198    
    -199                    return newInstance(builder.build());
    -200            }
    -201    
    -202            /**
    -203             * Creates a new instance of the recurrence property.
    -204             * @param recur the recurrence value
    -205             * @return the new instance
    -206             */
    -207            protected abstract T newInstance(Recurrence recur);
    -208    
    -209            private void parseFreq(ListMultimap<String, String> rules, Recurrence.Builder builder, List<String> warnings) {
    -210                    List<String> values = rules.removeAll("FREQ");
    -211                    if (values.isEmpty()) {
    -212                            return;
    -213                    }
    -214    
    -215                    String value = values.get(0);
    -216                    try {
    -217                            builder.frequency(Frequency.valueOf(value.toUpperCase()));
    -218                    } catch (IllegalArgumentException e) {
    -219                            warnings.add("Unable to parse FREQ value: " + value);
    -220                    }
    -221            }
    -222    
    -223            private void parseUntil(ListMultimap<String, String> rules, Recurrence.Builder builder, List<String> warnings) {
    -224                    List<String> values = rules.removeAll("UNTIL");
    -225                    if (values.isEmpty()) {
    -226                            return;
    -227                    }
    -228    
    -229                    String value = values.get(0);
    -230                    try {
    -231                            Date date = date(value).parse();
    -232                            boolean hasTime = ICalDateFormatter.dateHasTime(value);
    -233                            builder.until(date, hasTime);
    -234                    } catch (IllegalArgumentException e) {
    -235                            warnings.add("Unable to parse UNTIL value: " + value);
    -236                    }
    -237            }
    -238    
    -239            private void parseCount(ListMultimap<String, String> rules, Recurrence.Builder builder, List<String> warnings) {
    -240                    List<String> values = rules.removeAll("COUNT");
    -241                    if (values.isEmpty()) {
    -242                            return;
    -243                    }
    -244    
    -245                    String value = values.get(0);
    -246                    try {
    -247                            builder.count(Integer.valueOf(value));
    -248                    } catch (NumberFormatException e) {
    -249                            warnings.add("Unable to parse COUNT value: " + value);
    -250                    }
    -251            }
    -252    
    -253            private void parseInterval(ListMultimap<String, String> rules, Recurrence.Builder builder, List<String> warnings) {
    -254                    List<String> values = rules.removeAll("INTERVAL");
    -255                    if (values.isEmpty()) {
    -256                            return;
    -257                    }
    -258    
    -259                    String value = values.get(0);
    -260                    try {
    -261                            builder.interval(Integer.valueOf(value));
    -262                    } catch (NumberFormatException e) {
    -263                            warnings.add("Unable to parse INTERVAL value: " + value);
    -264                    }
    -265            }
    -266    
    -267            private void parseBySecond(ListMultimap<String, String> rules, final Recurrence.Builder builder, List<String> warnings) {
    -268                    parseIntegerList("BYSECOND", rules.removeAll("BYSECOND"), warnings, new ListHandler() {
    -269                            public void handle(Integer value) {
    -270                                    builder.bySecond(value);
    -271                            }
    -272                    });
    -273            }
    -274    
    -275            private void parseByMinute(ListMultimap<String, String> rules, final Recurrence.Builder builder, List<String> warnings) {
    -276                    parseIntegerList("BYMINUTE", rules.removeAll("BYMINUTE"), warnings, new ListHandler() {
    -277                            public void handle(Integer value) {
    -278                                    builder.byMinute(value);
    -279                            }
    -280                    });
    -281            }
    -282    
    -283            private void parseByHour(ListMultimap<String, String> rules, final Recurrence.Builder builder, List<String> warnings) {
    -284                    parseIntegerList("BYHOUR", rules.removeAll("BYHOUR"), warnings, new ListHandler() {
    -285                            public void handle(Integer value) {
    -286                                    builder.byHour(value);
    -287                            }
    -288                    });
    -289            }
    -290    
    -291            private void parseByDay(ListMultimap<String, String> rules, Recurrence.Builder builder, List<String> warnings) {
    -292                    Pattern p = Pattern.compile("^([-+]?\\d+)?(.*)$");
    -293                    for (String value : rules.removeAll("BYDAY")) {
    -294                            Matcher m = p.matcher(value);
    -295                            if (!m.find()) {
    -296                                    //this should never happen
    -297                                    //the regex contains a "match-all" pattern and should never not find anything
    -298                                    warnings.add("Unable to parse BYDAY value (invalid format): " + value);
    -299                                    continue;
    -300                            }
    -301    
    -302                            String dayStr = m.group(2);
    -303                            DayOfWeek day = DayOfWeek.valueOfAbbr(dayStr);
    -304                            if (day == null) {
    -305                                    warnings.add("Unable to parse BYDAY value (invalid day of the week): " + value);
    -306                                    continue;
    -307                            }
    -308    
    -309                            String prefixStr = m.group(1);
    -310                            Integer prefix = (prefixStr == null) ? null : Integer.valueOf(prefixStr); //no need to catch NumberFormatException because the regex guarantees that it will be a number
    -311    
    -312                            builder.byDay(prefix, day);
    -313                    }
    -314            }
    -315    
    -316            private void parseByMonthDay(ListMultimap<String, String> rules, final Recurrence.Builder builder, List<String> warnings) {
    -317                    parseIntegerList("BYMONTHDAY", rules.removeAll("BYMONTHDAY"), warnings, new ListHandler() {
    -318                            public void handle(Integer value) {
    -319                                    builder.byMonthDay(value);
    -320                            }
    -321                    });
    -322            }
    -323    
    -324            private void parseByYearDay(ListMultimap<String, String> rules, final Recurrence.Builder builder, List<String> warnings) {
    -325                    parseIntegerList("BYYEARDAY", rules.removeAll("BYYEARDAY"), warnings, new ListHandler() {
    -326                            public void handle(Integer value) {
    -327                                    builder.byYearDay(value);
    -328                            }
    -329                    });
    -330            }
    -331    
    -332            private void parseByWeekNo(ListMultimap<String, String> rules, final Recurrence.Builder builder, List<String> warnings) {
    -333                    parseIntegerList("BYWEEKNO", rules.removeAll("BYWEEKNO"), warnings, new ListHandler() {
    -334                            public void handle(Integer value) {
    -335                                    builder.byWeekNo(value);
    -336                            }
    -337                    });
    -338            }
    -339    
    -340            private void parseByMonth(ListMultimap<String, String> rules, final Recurrence.Builder builder, List<String> warnings) {
    -341                    parseIntegerList("BYMONTH", rules.removeAll("BYMONTH"), warnings, new ListHandler() {
    -342                            public void handle(Integer value) {
    -343                                    builder.byMonth(value);
    -344                            }
    -345                    });
    -346            }
    -347    
    -348            private void parseBySetPos(ListMultimap<String, String> rules, final Recurrence.Builder builder, List<String> warnings) {
    -349                    parseIntegerList("BYSETPOS", rules.removeAll("BYSETPOS"), warnings, new ListHandler() {
    -350                            public void handle(Integer value) {
    -351                                    builder.bySetPos(value);
    -352                            }
    -353                    });
    -354            }
    -355    
    -356            private void parseWkst(ListMultimap<String, String> rules, Recurrence.Builder builder, List<String> warnings) {
    -357                    List<String> values = rules.removeAll("WKST");
    -358                    if (values.isEmpty()) {
    -359                            return;
    -360                    }
    -361    
    -362                    String value = values.get(0);
    -363                    DayOfWeek day = DayOfWeek.valueOfAbbr(value);
    -364                    if (day == null) {
    -365                            warnings.add("Unable to parse WKST (invalid day of the week): " + value);
    -366                            return;
    -367                    }
    -368    
    -369                    builder.workweekStarts(day);
    -370            }
    -371    
    -372            private void parseXRules(ListMultimap<String, String> rules, Recurrence.Builder builder, List<String> warnings) {
    -373                    for (Map.Entry<String, List<String>> rule : rules) {
    -374                            String name = rule.getKey();
    -375                            for (String value : rule.getValue()) {
    -376                                    builder.xrule(name, value);
    -377                            }
    -378                    }
    -379            }
    -380    
    -381            private ListMultimap<String, Object> buildComponents(Recurrence recur, boolean extended) {
    -382                    ListMultimap<String, Object> components = new ListMultimap<String, Object>();
    -383    
    -384                    //FREQ must come first
    -385                    if (recur.getFrequency() != null) {
    -386                            components.put("FREQ", recur.getFrequency().name());
    -387                    }
    -388    
    -389                    if (recur.getUntil() != null) {
    -390                            String s = date(recur.getUntil()).time(recur.hasTimeUntilDate()).extended(extended).write();
    -391                            components.put("UNTIL", s);
    -392                    }
    -393    
    -394                    if (recur.getCount() != null) {
    -395                            components.put("COUNT", recur.getCount());
    -396                    }
    -397    
    -398                    if (recur.getInterval() != null) {
    -399                            components.put("INTERVAL", recur.getInterval());
    -400                    }
    -401    
    -402                    addIntegerListComponent(components, "BYSECOND", recur.getBySecond());
    -403                    addIntegerListComponent(components, "BYMINUTE", recur.getByMinute());
    -404                    addIntegerListComponent(components, "BYHOUR", recur.getByHour());
    -405    
    -406                    Iterator<Integer> prefixIt = recur.getByDayPrefixes().iterator();
    -407                    Iterator<DayOfWeek> dayIt = recur.getByDay().iterator();
    -408                    while (prefixIt.hasNext() && dayIt.hasNext()) {
    -409                            Integer prefix = prefixIt.next();
    -410                            DayOfWeek day = dayIt.next();
    -411    
    -412                            String value = day.getAbbr();
    -413                            if (prefix != null) {
    -414                                    value = prefix + value;
    -415                            }
    -416                            components.put("BYDAY", value);
    -417                    }
    -418    
    -419                    addIntegerListComponent(components, "BYMONTHDAY", recur.getByMonthDay());
    -420                    addIntegerListComponent(components, "BYYEARDAY", recur.getByYearDay());
    -421                    addIntegerListComponent(components, "BYWEEKNO", recur.getByWeekNo());
    -422                    addIntegerListComponent(components, "BYMONTH", recur.getByMonth());
    -423                    addIntegerListComponent(components, "BYSETPOS", recur.getBySetPos());
    -424    
    -425                    if (recur.getWorkweekStarts() != null) {
    -426                            components.put("WKST", recur.getWorkweekStarts().getAbbr());
    -427                    }
    -428    
    -429                    for (Map.Entry<String, List<String>> entry : recur.getXRules().entrySet()) {
    -430                            String name = entry.getKey();
    -431                            for (String value : entry.getValue()) {
    -432                                    components.put(name, value);
    -433                            }
    -434                    }
    -435    
    -436                    return components;
    -437            }
    -438    
    -439            private void addIntegerListComponent(ListMultimap<String, Object> components, String name, List<Integer> values) {
    -440                    for (Integer value : values) {
    -441                            components.put(name, value);
    -442                    }
    -443            }
    -444    
    -445            private void parseIntegerList(String name, List<String> values, List<String> warnings, ListHandler handler) {
    -446                    for (String value : values) {
    -447                            try {
    -448                                    handler.handle(Integer.valueOf(value));
    -449                            } catch (NumberFormatException e) {
    -450                                    warnings.add("Ignoring non-numeric value found in " + name + ": " + value);
    -451                            }
    -452                    }
    -453            }
    -454    
    -455            private static interface ListHandler {
    -456                    void handle(Integer value);
    -457            }
    -458    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceRuleMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceRuleMarshaller.html deleted file mode 100644 index bc987328..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RecurrenceRuleMarshaller.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.RecurrenceRule;
    -004    import biweekly.util.Recurrence;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Marshals {@link RecurrenceRule} properties.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class RecurrenceRuleMarshaller extends RecurrencePropertyMarshaller<RecurrenceRule> {
    -036            public RecurrenceRuleMarshaller() {
    -037                    super(RecurrenceRule.class, "RRULE");
    -038            }
    -039    
    -040            @Override
    -041            protected RecurrenceRule newInstance(Recurrence recur) {
    -042                    return new RecurrenceRule(recur);
    -043            }
    -044    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RelatedToMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RelatedToMarshaller.html deleted file mode 100644 index 22f2f9f1..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RelatedToMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.RelatedTo;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link RelatedTo} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class RelatedToMarshaller extends TextPropertyMarshaller<RelatedTo> {
    -035            public RelatedToMarshaller() {
    -036                    super(RelatedTo.class, "RELATED-TO");
    -037            }
    -038    
    -039            @Override
    -040            protected RelatedTo newInstance(String value) {
    -041                    return new RelatedTo(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RepeatMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RepeatMarshaller.html deleted file mode 100644 index af9aadf3..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RepeatMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Repeat;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Repeat} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class RepeatMarshaller extends IntegerPropertyMarshaller<Repeat> {
    -035            public RepeatMarshaller() {
    -036                    super(Repeat.class, "REPEAT");
    -037            }
    -038    
    -039            @Override
    -040            protected Repeat newInstance(Integer value) {
    -041                    return new Repeat(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RequestStatusMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RequestStatusMarshaller.html deleted file mode 100644 index 8fc7e6f6..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/RequestStatusMarshaller.html +++ /dev/null @@ -1,171 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.json.JCalValue;
    -007    import biweekly.io.xml.XCalElement;
    -008    import biweekly.parameter.ICalParameters;
    -009    import biweekly.property.RequestStatus;
    -010    
    -011    /*
    -012     Copyright (c) 2013, Michael Angstadt
    -013     All rights reserved.
    -014    
    -015     Redistribution and use in source and binary forms, with or without
    -016     modification, are permitted provided that the following conditions are met: 
    -017    
    -018     1. Redistributions of source code must retain the above copyright notice, this
    -019     list of conditions and the following disclaimer. 
    -020     2. Redistributions in binary form must reproduce the above copyright notice,
    -021     this list of conditions and the following disclaimer in the documentation
    -022     and/or other materials provided with the distribution. 
    -023    
    -024     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -025     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -026     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -027     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -028     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -029     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -030     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -031     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -032     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -033     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -034     */
    -035    
    -036    /**
    -037     * Marshals {@link RequestStatus} properties.
    -038     * @author Michael Angstadt
    -039     */
    -040    public class RequestStatusMarshaller extends ICalPropertyMarshaller<RequestStatus> {
    -041            public RequestStatusMarshaller() {
    -042                    super(RequestStatus.class, "REQUEST-STATUS", ICalDataType.TEXT);
    -043            }
    -044    
    -045            @Override
    -046            protected String _writeText(RequestStatus property) {
    -047                    return structured(property.getStatusCode(), property.getDescription(), property.getExceptionText());
    -048            }
    -049    
    -050            @Override
    -051            protected RequestStatus _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -052                    SemiStructuredIterator it = semistructured(value);
    -053    
    -054                    RequestStatus requestStatus = new RequestStatus(it.next());
    -055                    requestStatus.setDescription(it.next());
    -056                    requestStatus.setExceptionText(it.next());
    -057                    return requestStatus;
    -058            }
    -059    
    -060            @Override
    -061            protected void _writeXml(RequestStatus property, XCalElement element) {
    -062                    String code = property.getStatusCode();
    -063                    element.append("code", code);
    -064    
    -065                    String description = property.getDescription();
    -066                    element.append("description", description);
    -067    
    -068                    String data = property.getExceptionText();
    -069                    if (data != null) {
    -070                            element.append("data", data);
    -071                    }
    -072            }
    -073    
    -074            @Override
    -075            protected RequestStatus _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -076                    String code = element.first("code");
    -077                    if (code == null) {
    -078                            throw missingXmlElements("code");
    -079                    }
    -080    
    -081                    RequestStatus requestStatus = new RequestStatus(s(code));
    -082                    requestStatus.setDescription(s(element.first("description"))); //optional field
    -083                    requestStatus.setExceptionText(s(element.first("data"))); //optional field
    -084                    return requestStatus;
    -085            }
    -086    
    -087            @Override
    -088            protected JCalValue _writeJson(RequestStatus property) {
    -089                    return JCalValue.structured(property.getStatusCode(), property.getDescription(), property.getExceptionText());
    -090            }
    -091    
    -092            @Override
    -093            protected RequestStatus _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -094                    StructuredIterator it = structured(value);
    -095    
    -096                    RequestStatus requestStatus = new RequestStatus(it.nextString());
    -097                    requestStatus.setDescription(it.nextString());
    -098                    requestStatus.setExceptionText(it.nextString());
    -099                    return requestStatus;
    -100            }
    -101    
    -102            private String s(String str) {
    -103                    return (str == null || str.length() == 0) ? null : str;
    -104            }
    -105    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ResourcesMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ResourcesMarshaller.html deleted file mode 100644 index 8ab9ddc5..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/ResourcesMarshaller.html +++ /dev/null @@ -1,111 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.ICalDataType;
    -004    import biweekly.parameter.ICalParameters;
    -005    import biweekly.property.Resources;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Marshals {@link Resources} properties.
    -034     * @author Michael Angstadt
    -035     */
    -036    public class ResourcesMarshaller extends TextListPropertyMarshaller<Resources> {
    -037            public ResourcesMarshaller() {
    -038                    super(Resources.class, "RESOURCES");
    -039            }
    -040    
    -041            @Override
    -042            public Resources newInstance(ICalDataType dataType, ICalParameters parameters) {
    -043                    return new Resources();
    -044            }
    -045    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/SequenceMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/SequenceMarshaller.html deleted file mode 100644 index f8d54dd8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/SequenceMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Sequence;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Sequence} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class SequenceMarshaller extends IntegerPropertyMarshaller<Sequence> {
    -035            public SequenceMarshaller() {
    -036                    super(Sequence.class, "SEQUENCE");
    -037            }
    -038    
    -039            @Override
    -040            protected Sequence newInstance(Integer value) {
    -041                    return new Sequence(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/StatusMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/StatusMarshaller.html deleted file mode 100644 index 8c817437..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/StatusMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Status;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Status} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class StatusMarshaller extends TextPropertyMarshaller<Status> {
    -035            public StatusMarshaller() {
    -036                    super(Status.class, "STATUS");
    -037            }
    -038    
    -039            @Override
    -040            protected Status newInstance(String value) {
    -041                    return new Status(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/SummaryMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/SummaryMarshaller.html deleted file mode 100644 index ee56cb31..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/SummaryMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Summary;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Summary} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class SummaryMarshaller extends TextPropertyMarshaller<Summary> {
    -035            public SummaryMarshaller() {
    -036                    super(Summary.class, "SUMMARY");
    -037            }
    -038    
    -039            @Override
    -040            protected Summary newInstance(String value) {
    -041                    return new Summary(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TextListPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TextListPropertyMarshaller.html deleted file mode 100644 index 8f0df700..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TextListPropertyMarshaller.html +++ /dev/null @@ -1,119 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.parameter.ICalParameters;
    -007    import biweekly.property.ListProperty;
    -008    
    -009    /*
    -010     Copyright (c) 2013, Michael Angstadt
    -011     All rights reserved.
    -012    
    -013     Redistribution and use in source and binary forms, with or without
    -014     modification, are permitted provided that the following conditions are met: 
    -015    
    -016     1. Redistributions of source code must retain the above copyright notice, this
    -017     list of conditions and the following disclaimer. 
    -018     2. Redistributions in binary form must reproduce the above copyright notice,
    -019     this list of conditions and the following disclaimer in the documentation
    -020     and/or other materials provided with the distribution. 
    -021    
    -022     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -023     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -024     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -025     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -026     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -027     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -028     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -029     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -030     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -031     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -032     */
    -033    
    -034    /**
    -035     * Marshals properties that have a list of text values.
    -036     * @param <T> the property class
    -037     * @author Michael Angstadt
    -038     */
    -039    public abstract class TextListPropertyMarshaller<T extends ListProperty<String>> extends ListPropertyMarshaller<T, String> {
    -040            public TextListPropertyMarshaller(Class<T> clazz, String propertyName) {
    -041                    super(clazz, propertyName, ICalDataType.TEXT);
    -042            }
    -043    
    -044            @Override
    -045            protected String writeValue(T property, String value) {
    -046                    return value;
    -047            }
    -048    
    -049            @Override
    -050            protected String readValue(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -051                    return value;
    -052            }
    -053    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TextPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TextPropertyMarshaller.html deleted file mode 100644 index 5be16ea5..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TextPropertyMarshaller.html +++ /dev/null @@ -1,158 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.json.JCalValue;
    -007    import biweekly.io.xml.XCalElement;
    -008    import biweekly.parameter.ICalParameters;
    -009    import biweekly.property.TextProperty;
    -010    
    -011    /*
    -012     Copyright (c) 2013, Michael Angstadt
    -013     All rights reserved.
    -014    
    -015     Redistribution and use in source and binary forms, with or without
    -016     modification, are permitted provided that the following conditions are met: 
    -017    
    -018     1. Redistributions of source code must retain the above copyright notice, this
    -019     list of conditions and the following disclaimer. 
    -020     2. Redistributions in binary form must reproduce the above copyright notice,
    -021     this list of conditions and the following disclaimer in the documentation
    -022     and/or other materials provided with the distribution. 
    -023    
    -024     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -025     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -026     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -027     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -028     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -029     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -030     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -031     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -032     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -033     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -034     */
    -035    
    -036    /**
    -037     * Marshals properties that have text values.
    -038     * @param <T> the property class
    -039     * @author Michael Angstadt
    -040     */
    -041    public abstract class TextPropertyMarshaller<T extends TextProperty> extends ICalPropertyMarshaller<T> {
    -042            public TextPropertyMarshaller(Class<T> clazz, String propertyName) {
    -043                    this(clazz, propertyName, ICalDataType.TEXT);
    -044            }
    -045    
    -046            public TextPropertyMarshaller(Class<T> clazz, String propertyName, ICalDataType dataType) {
    -047                    super(clazz, propertyName, dataType);
    -048            }
    -049    
    -050            @Override
    -051            protected String _writeText(T property) {
    -052                    String value = property.getValue();
    -053                    if (value != null) {
    -054                            return escape(value);
    -055                    }
    -056    
    -057                    return "";
    -058            }
    -059    
    -060            @Override
    -061            protected T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -062                    value = unescape(value);
    -063                    return newInstance(value);
    -064            }
    -065    
    -066            @Override
    -067            protected void _writeXml(T property, XCalElement element) {
    -068                    element.append(dataType(property), property.getValue());
    -069            }
    -070    
    -071            @Override
    -072            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -073                    String value = element.first(defaultDataType);
    -074                    if (value != null) {
    -075                            return newInstance(value);
    -076                    }
    -077    
    -078                    throw missingXmlElements(defaultDataType);
    -079            }
    -080    
    -081            @Override
    -082            protected JCalValue _writeJson(T property) {
    -083                    return JCalValue.single(property.getValue());
    -084            }
    -085    
    -086            @Override
    -087            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -088                    return newInstance(value.asSingle());
    -089            }
    -090    
    -091            protected abstract T newInstance(String value);
    -092    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneIdMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneIdMarshaller.html deleted file mode 100644 index 255b42af..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneIdMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.TimezoneId;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link TimezoneId} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class TimezoneIdMarshaller extends TextPropertyMarshaller<TimezoneId> {
    -035            public TimezoneIdMarshaller() {
    -036                    super(TimezoneId.class, "TZID");
    -037            }
    -038    
    -039            @Override
    -040            protected TimezoneId newInstance(String value) {
    -041                    return new TimezoneId(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneNameMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneNameMarshaller.html deleted file mode 100644 index bdb5c3e8..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneNameMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.TimezoneName;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link TimezoneName} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class TimezoneNameMarshaller extends TextPropertyMarshaller<TimezoneName> {
    -035            public TimezoneNameMarshaller() {
    -036                    super(TimezoneName.class, "TZNAME");
    -037            }
    -038    
    -039            @Override
    -040            protected TimezoneName newInstance(String value) {
    -041                    return new TimezoneName(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneOffsetFromMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneOffsetFromMarshaller.html deleted file mode 100644 index 51e71160..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneOffsetFromMarshaller.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.TimezoneOffsetFrom;
    -004    import biweekly.util.UtcOffset;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Marshals {@link TimezoneOffsetFrom} properties.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class TimezoneOffsetFromMarshaller extends UtcOffsetPropertyMarshaller<TimezoneOffsetFrom> {
    -036            public TimezoneOffsetFromMarshaller() {
    -037                    super(TimezoneOffsetFrom.class, "TZOFFSETFROM");
    -038            }
    -039    
    -040            @Override
    -041            protected TimezoneOffsetFrom newInstance(UtcOffset offset) {
    -042                    return new TimezoneOffsetFrom(offset);
    -043            }
    -044    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneOffsetToMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneOffsetToMarshaller.html deleted file mode 100644 index 93374b75..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneOffsetToMarshaller.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.TimezoneOffsetTo;
    -004    import biweekly.util.UtcOffset;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Marshals {@link TimezoneOffsetTo} properties.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class TimezoneOffsetToMarshaller extends UtcOffsetPropertyMarshaller<TimezoneOffsetTo> {
    -036            public TimezoneOffsetToMarshaller() {
    -037                    super(TimezoneOffsetTo.class, "TZOFFSETTO");
    -038            }
    -039    
    -040            @Override
    -041            protected TimezoneOffsetTo newInstance(UtcOffset offset) {
    -042                    return new TimezoneOffsetTo(offset);
    -043            }
    -044    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneUrlMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneUrlMarshaller.html deleted file mode 100644 index 4b7c5e13..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TimezoneUrlMarshaller.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.ICalDataType;
    -004    import biweekly.property.TimezoneUrl;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Marshals {@link TimezoneUrl} properties.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class TimezoneUrlMarshaller extends TextPropertyMarshaller<TimezoneUrl> {
    -036            public TimezoneUrlMarshaller() {
    -037                    super(TimezoneUrl.class, "TZURL", ICalDataType.URI);
    -038            }
    -039    
    -040            @Override
    -041            protected TimezoneUrl newInstance(String value) {
    -042                    return new TimezoneUrl(value);
    -043            }
    -044    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TransparencyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TransparencyMarshaller.html deleted file mode 100644 index 035b3f70..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TransparencyMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Transparency;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Transparency} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class TransparencyMarshaller extends TextPropertyMarshaller<Transparency> {
    -035            public TransparencyMarshaller() {
    -036                    super(Transparency.class, "TRANSP");
    -037            }
    -038    
    -039            @Override
    -040            protected Transparency newInstance(String value) {
    -041                    return new Transparency(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TriggerMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TriggerMarshaller.html deleted file mode 100644 index 6863ba53..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/TriggerMarshaller.html +++ /dev/null @@ -1,227 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.Date;
    -004    import java.util.List;
    -005    
    -006    import biweekly.ICalDataType;
    -007    import biweekly.io.CannotParseException;
    -008    import biweekly.io.json.JCalValue;
    -009    import biweekly.io.xml.XCalElement;
    -010    import biweekly.parameter.ICalParameters;
    -011    import biweekly.property.Trigger;
    -012    import biweekly.util.Duration;
    -013    
    -014    /*
    -015     Copyright (c) 2013, Michael Angstadt
    -016     All rights reserved.
    -017    
    -018     Redistribution and use in source and binary forms, with or without
    -019     modification, are permitted provided that the following conditions are met: 
    -020    
    -021     1. Redistributions of source code must retain the above copyright notice, this
    -022     list of conditions and the following disclaimer. 
    -023     2. Redistributions in binary form must reproduce the above copyright notice,
    -024     this list of conditions and the following disclaimer in the documentation
    -025     and/or other materials provided with the distribution. 
    -026    
    -027     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -028     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -029     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -030     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -031     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -032     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -033     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -034     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -035     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -036     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -037     */
    -038    
    -039    /**
    -040     * Marshals {@link Trigger} properties.
    -041     * @author Michael Angstadt
    -042     */
    -043    public class TriggerMarshaller extends ICalPropertyMarshaller<Trigger> {
    -044            public TriggerMarshaller() {
    -045                    super(Trigger.class, "TRIGGER", ICalDataType.DURATION);
    -046            }
    -047    
    -048            @Override
    -049            protected ICalDataType _dataType(Trigger property) {
    -050                    return (property.getDate() == null) ? ICalDataType.DURATION : ICalDataType.DATE_TIME;
    -051            }
    -052    
    -053            @Override
    -054            protected String _writeText(Trigger property) {
    -055                    Duration duration = property.getDuration();
    -056                    if (duration != null) {
    -057                            return duration.toString();
    -058                    }
    -059    
    -060                    Date date = property.getDate();
    -061                    if (date != null) {
    -062                            return date(date).write();
    -063                    }
    -064    
    -065                    return "";
    -066            }
    -067    
    -068            @Override
    -069            protected Trigger _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -070                    value = unescape(value);
    -071    
    -072                    try {
    -073                            Date date = date(value).tzid(parameters.getTimezoneId(), warnings).parse();
    -074                            return new Trigger(date);
    -075                    } catch (IllegalArgumentException e) {
    -076                            //unable to parse value as date, must be a duration
    -077                    }
    -078    
    -079                    try {
    -080                            return new Trigger(Duration.parse(value), parameters.getRelated());
    -081                    } catch (IllegalArgumentException e) {
    -082                            //unable to parse duration
    -083                    }
    -084    
    -085                    throw new CannotParseException("Could not parse value as a date or duration.");
    -086            }
    -087    
    -088            @Override
    -089            protected void _writeXml(Trigger property, XCalElement element) {
    -090                    Duration duration = property.getDuration();
    -091                    if (duration != null) {
    -092                            element.append(ICalDataType.DURATION, duration.toString());
    -093                            return;
    -094                    }
    -095    
    -096                    Date date = property.getDate();
    -097                    if (date != null) {
    -098                            element.append(ICalDataType.DATE_TIME, date(date).extended(true).write());
    -099                            return;
    -100                    }
    -101    
    -102                    element.append(defaultDataType, "");
    -103            }
    -104    
    -105            @Override
    -106            protected Trigger _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -107                    String value = element.first(ICalDataType.DURATION);
    -108                    if (value != null) {
    -109                            try {
    -110                                    return new Trigger(Duration.parse(value), parameters.getRelated());
    -111                            } catch (IllegalArgumentException e) {
    -112                                    throw new CannotParseException("Could not parse duration: " + value);
    -113                            }
    -114                    }
    -115    
    -116                    value = element.first(ICalDataType.DATE_TIME);
    -117                    if (value != null) {
    -118                            try {
    -119                                    Date date = date(value).tzid(parameters.getTimezoneId(), warnings).parse();
    -120                                    return new Trigger(date);
    -121                            } catch (IllegalArgumentException e) {
    -122                                    throw new CannotParseException("Could not parse date: " + value);
    -123                            }
    -124                    }
    -125    
    -126                    throw missingXmlElements(ICalDataType.DURATION, ICalDataType.DATE_TIME);
    -127            }
    -128    
    -129            @Override
    -130            protected JCalValue _writeJson(Trigger property) {
    -131                    Duration duration = property.getDuration();
    -132                    if (duration != null) {
    -133                            return JCalValue.single(duration.toString());
    -134                    }
    -135    
    -136                    Date date = property.getDate();
    -137                    if (date != null) {
    -138                            return JCalValue.single(date(date).extended(true).write());
    -139                    }
    -140    
    -141                    return JCalValue.single("");
    -142            }
    -143    
    -144            @Override
    -145            protected Trigger _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -146                    String valueStr = value.asSingle();
    -147    
    -148                    try {
    -149                            Date date = date(valueStr).tzid(parameters.getTimezoneId(), warnings).parse();
    -150                            return new Trigger(date);
    -151                    } catch (IllegalArgumentException e) {
    -152                            //must be a duration
    -153                    }
    -154    
    -155                    try {
    -156                            return new Trigger(Duration.parse(valueStr), parameters.getRelated());
    -157                    } catch (IllegalArgumentException e) {
    -158                            throw new CannotParseException("Could not parse value as a date or duration.");
    -159                    }
    -160            }
    -161    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UidMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UidMarshaller.html deleted file mode 100644 index 1950bfee..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UidMarshaller.html +++ /dev/null @@ -1,109 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.property.Uid;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * Marshals {@link Uid} properties.
    -032     * @author Michael Angstadt
    -033     */
    -034    public class UidMarshaller extends TextPropertyMarshaller<Uid> {
    -035            public UidMarshaller() {
    -036                    super(Uid.class, "UID");
    -037            }
    -038    
    -039            @Override
    -040            protected Uid newInstance(String value) {
    -041                    return new Uid(value);
    -042            }
    -043    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UrlMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UrlMarshaller.html deleted file mode 100644 index d93e4a1f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UrlMarshaller.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import biweekly.ICalDataType;
    -004    import biweekly.property.Url;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Marshals {@link Url} properties.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class UrlMarshaller extends TextPropertyMarshaller<Url> {
    -036            public UrlMarshaller() {
    -037                    super(Url.class, "URL", ICalDataType.URI);
    -038            }
    -039    
    -040            @Override
    -041            protected Url newInstance(String value) {
    -042                    return new Url(value);
    -043            }
    -044    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UtcOffsetPropertyMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UtcOffsetPropertyMarshaller.html deleted file mode 100644 index 869a01ef..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/UtcOffsetPropertyMarshaller.html +++ /dev/null @@ -1,180 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.CannotParseException;
    -007    import biweekly.io.json.JCalValue;
    -008    import biweekly.io.xml.XCalElement;
    -009    import biweekly.parameter.ICalParameters;
    -010    import biweekly.property.UtcOffsetProperty;
    -011    import biweekly.util.UtcOffset;
    -012    
    -013    /*
    -014     Copyright (c) 2013, Michael Angstadt
    -015     All rights reserved.
    -016    
    -017     Redistribution and use in source and binary forms, with or without
    -018     modification, are permitted provided that the following conditions are met: 
    -019    
    -020     1. Redistributions of source code must retain the above copyright notice, this
    -021     list of conditions and the following disclaimer. 
    -022     2. Redistributions in binary form must reproduce the above copyright notice,
    -023     this list of conditions and the following disclaimer in the documentation
    -024     and/or other materials provided with the distribution. 
    -025    
    -026     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -027     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -028     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -029     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -030     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -031     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -032     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -033     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -034     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -035     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -036     */
    -037    
    -038    /**
    -039     * Marshals properties that have UTC offset values.
    -040     * @param <T> the property class
    -041     * @author Michael Angstadt
    -042     */
    -043    public abstract class UtcOffsetPropertyMarshaller<T extends UtcOffsetProperty> extends ICalPropertyMarshaller<T> {
    -044            public UtcOffsetPropertyMarshaller(Class<T> clazz, String propertyName) {
    -045                    super(clazz, propertyName, ICalDataType.UTC_OFFSET);
    -046            }
    -047    
    -048            @Override
    -049            protected String _writeText(T property) {
    -050                    UtcOffset offset = property.getOffset();
    -051                    if (offset != null) {
    -052                            return offset.toString(false);
    -053                    }
    -054    
    -055                    return "";
    -056            }
    -057    
    -058            @Override
    -059            protected T _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -060                    value = unescape(value);
    -061                    return parse(value);
    -062            }
    -063    
    -064            @Override
    -065            protected void _writeXml(T property, XCalElement element) {
    -066                    String offsetStr = null;
    -067    
    -068                    UtcOffset offset = property.getOffset();
    -069                    if (offset != null) {
    -070                            offsetStr = offset.toString(true);
    -071                    }
    -072    
    -073                    element.append(dataType(property), offsetStr);
    -074            }
    -075    
    -076            @Override
    -077            protected T _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -078                    String value = element.first(defaultDataType);
    -079                    if (value != null) {
    -080                            return parse(value);
    -081                    }
    -082    
    -083                    throw missingXmlElements(defaultDataType);
    -084            }
    -085    
    -086            @Override
    -087            protected JCalValue _writeJson(T property) {
    -088                    UtcOffset offset = property.getOffset();
    -089                    if (offset != null) {
    -090                            return JCalValue.single(offset.toString(true));
    -091                    }
    -092    
    -093                    return JCalValue.single("");
    -094            }
    -095    
    -096            @Override
    -097            protected T _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -098                    return parse(value.asSingle());
    -099            }
    -100    
    -101            protected abstract T newInstance(UtcOffset offset);
    -102    
    -103            private T parse(String value) {
    -104                    if (value == null) {
    -105                            return newInstance(null);
    -106                    }
    -107    
    -108                    try {
    -109                            return newInstance(UtcOffset.parse(value));
    -110                    } catch (IllegalArgumentException e) {
    -111                            throw new CannotParseException("Could not parse offset string.");
    -112                    }
    -113            }
    -114    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/VersionMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/VersionMarshaller.html deleted file mode 100644 index bbbfcc9a..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/VersionMarshaller.html +++ /dev/null @@ -1,163 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.List;
    -004    
    -005    import biweekly.ICalDataType;
    -006    import biweekly.io.json.JCalValue;
    -007    import biweekly.io.xml.XCalElement;
    -008    import biweekly.parameter.ICalParameters;
    -009    import biweekly.property.Version;
    -010    
    -011    /*
    -012     Copyright (c) 2013, Michael Angstadt
    -013     All rights reserved.
    -014    
    -015     Redistribution and use in source and binary forms, with or without
    -016     modification, are permitted provided that the following conditions are met: 
    -017    
    -018     1. Redistributions of source code must retain the above copyright notice, this
    -019     list of conditions and the following disclaimer. 
    -020     2. Redistributions in binary form must reproduce the above copyright notice,
    -021     this list of conditions and the following disclaimer in the documentation
    -022     and/or other materials provided with the distribution. 
    -023    
    -024     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -025     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -026     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -027     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -028     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -029     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -030     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -031     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -032     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -033     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -034     */
    -035    
    -036    /**
    -037     * Marshals {@link Version} properties.
    -038     * @author Michael Angstadt
    -039     */
    -040    public class VersionMarshaller extends ICalPropertyMarshaller<Version> {
    -041            public VersionMarshaller() {
    -042                    super(Version.class, "VERSION", ICalDataType.TEXT);
    -043            }
    -044    
    -045            @Override
    -046            protected String _writeText(Version property) {
    -047                    StringBuilder sb = new StringBuilder();
    -048    
    -049                    if (property.getMinVersion() != null) {
    -050                            sb.append(property.getMinVersion()).append(';');
    -051                    }
    -052                    if (property.getMaxVersion() != null) {
    -053                            sb.append(property.getMaxVersion());
    -054                    }
    -055    
    -056                    return sb.toString();
    -057            }
    -058    
    -059            @Override
    -060            protected Version _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -061                    List<String> split = split(value, ";").unescape(true).split();
    -062    
    -063                    String min = null, max = null;
    -064                    if (split.size() == 1) {
    -065                            max = split.get(0);
    -066                    } else {
    -067                            min = split.get(0);
    -068                            max = split.get(1);
    -069                    }
    -070                    return new Version(min, max);
    -071            }
    -072    
    -073            @Override
    -074            protected void _writeXml(Version property, XCalElement element) {
    -075                    element.append(dataType(property), property.getMaxVersion());
    -076            }
    -077    
    -078            @Override
    -079            protected Version _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -080                    String value = element.first(defaultDataType);
    -081                    if (value != null) {
    -082                            return new Version(value);
    -083                    }
    -084    
    -085                    throw missingXmlElements(defaultDataType);
    -086            }
    -087    
    -088            @Override
    -089            protected JCalValue _writeJson(Version property) {
    -090                    return JCalValue.single(property.getMaxVersion());
    -091            }
    -092    
    -093            @Override
    -094            protected Version _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -095                    return new Version(value.asSingle());
    -096            }
    -097    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/XmlMarshaller.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/XmlMarshaller.html deleted file mode 100644 index c9eac08e..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/property/marshaller/XmlMarshaller.html +++ /dev/null @@ -1,191 +0,0 @@ - - -
    -001    package biweekly.property.marshaller;
    -002    
    -003    import java.util.HashMap;
    -004    import java.util.List;
    -005    import java.util.Map;
    -006    
    -007    import javax.xml.transform.OutputKeys;
    -008    
    -009    import org.w3c.dom.Document;
    -010    import org.w3c.dom.Element;
    -011    import org.xml.sax.SAXException;
    -012    
    -013    import biweekly.ICalDataType;
    -014    import biweekly.io.CannotParseException;
    -015    import biweekly.io.json.JCalValue;
    -016    import biweekly.io.xml.XCalElement;
    -017    import biweekly.io.xml.XCalNamespaceContext;
    -018    import biweekly.parameter.ICalParameters;
    -019    import biweekly.property.Xml;
    -020    import biweekly.util.XmlUtils;
    -021    
    -022    /*
    -023     Copyright (c) 2013, Michael Angstadt
    -024     All rights reserved.
    -025    
    -026     Redistribution and use in source and binary forms, with or without
    -027     modification, are permitted provided that the following conditions are met: 
    -028    
    -029     1. Redistributions of source code must retain the above copyright notice, this
    -030     list of conditions and the following disclaimer. 
    -031     2. Redistributions in binary form must reproduce the above copyright notice,
    -032     this list of conditions and the following disclaimer in the documentation
    -033     and/or other materials provided with the distribution. 
    -034    
    -035     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -036     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -037     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -038     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -039     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -040     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -041     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -042     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -043     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -044     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -045     */
    -046    
    -047    /**
    -048     * Marshals {@link Xml} properties.
    -049     * @author Michael Angstadt
    -050     */
    -051    public class XmlMarshaller extends ICalPropertyMarshaller<Xml> {
    -052            //TODO on writing to plain text: convert to base64 if the string contains values that are illegal within a plain text value (p.17)
    -053            public XmlMarshaller() {
    -054                    super(Xml.class, "XML", ICalDataType.TEXT);
    -055            }
    -056    
    -057            @Override
    -058            protected String _writeText(Xml property) {
    -059                    Document value = property.getValue();
    -060                    if (value != null) {
    -061                            String xml = valueToString(value);
    -062                            return escape(xml);
    -063                    }
    -064    
    -065                    return "";
    -066            }
    -067    
    -068            @Override
    -069            protected Xml _parseText(String value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -070                    value = unescape(value);
    -071                    try {
    -072                            return new Xml(value);
    -073                    } catch (SAXException e) {
    -074                            throw new CannotParseException("Cannot parse value as XML: " + value);
    -075                    }
    -076            }
    -077    
    -078            @Override
    -079            protected void _writeXml(Xml property, XCalElement element) {
    -080                    super._writeXml(property, element);
    -081                    //Xml properties are handled as a special case when writing xCal documents, so this method should never get called (see: "XCalDocument" class)
    -082            }
    -083    
    -084            @Override
    -085            protected Xml _parseXml(XCalElement element, ICalParameters parameters, List<String> warnings) {
    -086                    Xml xml = new Xml(element.getElement());
    -087    
    -088                    //remove the <parameters> element
    -089                    Element root = XmlUtils.getRootElement(xml.getValue());
    -090                    for (Element child : XmlUtils.toElementList(root.getChildNodes())) {
    -091                            if ("parameters".equals(child.getLocalName()) && XCalNamespaceContext.XCAL_NS.equals(child.getNamespaceURI())) {
    -092                                    root.removeChild(child);
    -093                            }
    -094                    }
    -095    
    -096                    return xml;
    -097            }
    -098    
    -099            @Override
    -100            protected JCalValue _writeJson(Xml property) {
    -101                    Document value = property.getValue();
    -102                    if (value != null) {
    -103                            String xml = valueToString(value);
    -104                            return JCalValue.single(xml);
    -105                    }
    -106    
    -107                    return JCalValue.single("");
    -108            }
    -109    
    -110            @Override
    -111            protected Xml _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, List<String> warnings) {
    -112                    try {
    -113                            String xml = value.asSingle();
    -114                            return (xml == null) ? new Xml((Document) null) : new Xml(xml);
    -115                    } catch (SAXException e) {
    -116                            throw new CannotParseException("Cannot parse value as XML: " + value);
    -117                    }
    -118            }
    -119    
    -120            private String valueToString(Document document) {
    -121                    Map<String, String> props = new HashMap<String, String>();
    -122                    props.put(OutputKeys.OMIT_XML_DECLARATION, "yes");
    -123                    return XmlUtils.toString(document, props);
    -124            }
    -125    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Base64.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Base64.html deleted file mode 100644 index 556394fb..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Base64.html +++ /dev/null @@ -1,145 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    /**
    -004     * Encodes and decodes data into base64.
    -005     * @author <a href="http://stackoverflow.com/users/518568/georgek">GeorgeK</a>
    -006     * @see <a
    -007     * href="http://stackoverflow.com/a/4265472/13379">http://stackoverflow.com/a/4265472/13379</a>
    -008     */
    -009    public class Base64 {
    -010            private static final char[] ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".toCharArray();
    -011            private static final int[] toInt = new int[128];
    -012            static {
    -013                    for (int i = 0; i < ALPHABET.length; i++) {
    -014                            toInt[ALPHABET[i]] = i;
    -015                    }
    -016            }
    -017    
    -018            /**
    -019             * Translates the specified byte array into Base64 string.
    -020             * @param buf the byte array
    -021             * @return the translated Base64 string
    -022             */
    -023            public static String encode(byte[] buf) {
    -024                    int size = buf.length;
    -025                    char[] ar = new char[((size + 2) / 3) * 4];
    -026                    int a = 0;
    -027                    int i = 0;
    -028                    while (i < size) {
    -029                            byte b0 = buf[i++];
    -030                            byte b1 = (i < size) ? buf[i++] : 0;
    -031                            byte b2 = (i < size) ? buf[i++] : 0;
    -032    
    -033                            int mask = 0x3F;
    -034                            ar[a++] = ALPHABET[(b0 >> 2) & mask];
    -035                            ar[a++] = ALPHABET[((b0 << 4) | ((b1 & 0xFF) >> 4)) & mask];
    -036                            ar[a++] = ALPHABET[((b1 << 2) | ((b2 & 0xFF) >> 6)) & mask];
    -037                            ar[a++] = ALPHABET[b2 & mask];
    -038                    }
    -039                    switch (size % 3) {
    -040                    case 1:
    -041                            ar[--a] = '=';
    -042                    case 2:
    -043                            ar[--a] = '=';
    -044                    }
    -045                    return new String(ar);
    -046            }
    -047    
    -048            /**
    -049             * Translates the specified Base64 string into a byte array.
    -050             * @param s the Base64 string
    -051             * @return the byte array
    -052             */
    -053            public static byte[] decode(String s) {
    -054                    int delta = s.endsWith("==") ? 2 : s.endsWith("=") ? 1 : 0;
    -055                    byte[] buffer = new byte[s.length() * 3 / 4 - delta];
    -056                    int mask = 0xFF;
    -057                    int index = 0;
    -058                    for (int i = 0; i < s.length(); i += 4) {
    -059                            int c0 = toInt[s.charAt(i)];
    -060                            int c1 = toInt[s.charAt(i + 1)];
    -061                            buffer[index++] = (byte) (((c0 << 2) | (c1 >> 4)) & mask);
    -062                            if (index >= buffer.length) {
    -063                                    return buffer;
    -064                            }
    -065                            int c2 = toInt[s.charAt(i + 2)];
    -066                            buffer[index++] = (byte) (((c1 << 4) | (c2 >> 2)) & mask);
    -067                            if (index >= buffer.length) {
    -068                                    return buffer;
    -069                            }
    -070                            int c3 = toInt[s.charAt(i + 3)];
    -071                            buffer[index++] = (byte) (((c2 << 6) | c3) & mask);
    -072                    }
    -073                    return buffer;
    -074            }
    -075    
    -076            private Base64() {
    -077                    //hide
    -078            }
    -079    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/CaseClasses.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/CaseClasses.html deleted file mode 100644 index 9580e8a7..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/CaseClasses.html +++ /dev/null @@ -1,228 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.lang.reflect.Field;
    -004    import java.lang.reflect.Modifier;
    -005    import java.util.ArrayList;
    -006    import java.util.Collection;
    -007    import java.util.Collections;
    -008    
    -009    /*
    -010     Copyright (c) 2013, Michael Angstadt
    -011     All rights reserved.
    -012    
    -013     Redistribution and use in source and binary forms, with or without
    -014     modification, are permitted provided that the following conditions are met: 
    -015    
    -016     1. Redistributions of source code must retain the above copyright notice, this
    -017     list of conditions and the following disclaimer. 
    -018     2. Redistributions in binary form must reproduce the above copyright notice,
    -019     this list of conditions and the following disclaimer in the documentation
    -020     and/or other materials provided with the distribution. 
    -021    
    -022     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -023     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -024     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -025     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -026     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -027     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -028     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -029     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -030     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -031     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -032     */
    -033    
    -034    /**
    -035     * Manages objects that are like enums in that they are constant, but unlike
    -036     * enums in that new instances can be created during runtime. This class ensures
    -037     * that all instances of a class are unique, so they can be safely compared
    -038     * using "==" (provided their constructors are private). It mimics the
    -039     * "case class" feature in Scala.
    -040     * @author Michael Angstadt
    -041     * 
    -042     * @param <T> the class
    -043     * @param <V> the value that the class holds (e.g. String)
    -044     */
    -045    public abstract class CaseClasses<T, V> {
    -046            protected final Class<T> clazz;
    -047            protected volatile Collection<T> preDefined = null;
    -048            protected Collection<T> runtimeDefined = null;
    -049    
    -050            /**
    -051             * Creates a new case class collection.
    -052             * @param clazz the case class
    -053             */
    -054            public CaseClasses(Class<T> clazz) {
    -055                    this.clazz = clazz;
    -056            }
    -057    
    -058            /**
    -059             * Creates a new instance of the case class.
    -060             * @param value the value to give the instance
    -061             * @return the new instance
    -062             */
    -063            protected abstract T create(V value);
    -064    
    -065            /**
    -066             * Determines if a value is associated with a case object.
    -067             * @param object the object
    -068             * @param value the value
    -069             * @return true if it matches, false if not
    -070             */
    -071            protected abstract boolean matches(T object, V value);
    -072    
    -073            /**
    -074             * Searches for a case object by value, only looking at the case class'
    -075             * static constants (does not include runtime-defined objects).
    -076             * @param value the value
    -077             * @return the object or null if one wasn't found
    -078             */
    -079            public T find(V value) {
    -080                    checkInit();
    -081    
    -082                    for (T obj : preDefined) {
    -083                            if (matches(obj, value)) {
    -084                                    return obj;
    -085                            }
    -086                    }
    -087                    return null;
    -088            }
    -089    
    -090            /**
    -091             * Searches for a case object by value, creating a new object if one cannot
    -092             * be found.
    -093             * @param value the value
    -094             * @return the object
    -095             */
    -096            public T get(V value) {
    -097                    T found = find(value);
    -098                    if (found != null) {
    -099                            return found;
    -100                    }
    -101    
    -102                    synchronized (runtimeDefined) {
    -103                            for (T obj : runtimeDefined) {
    -104                                    if (matches(obj, value)) {
    -105                                            return obj;
    -106                                    }
    -107                            }
    -108    
    -109                            T created = create(value);
    -110                            runtimeDefined.add(created);
    -111                            return created;
    -112                    }
    -113            }
    -114    
    -115            /**
    -116             * Gets all the static constants of the case class.
    -117             * @return all static constants
    -118             */
    -119            public Collection<T> all() {
    -120                    checkInit();
    -121                    return preDefined;
    -122            }
    -123    
    -124            private void checkInit() {
    -125                    if (preDefined == null) {
    -126                            synchronized (this) {
    -127                                    //"double check idiom" (Bloch p.283)
    -128                                    if (preDefined == null) {
    -129                                            init();
    -130                                    }
    -131                            }
    -132                    }
    -133            }
    -134    
    -135            private void init() {
    -136                    Collection<T> preDefined = new ArrayList<T>();
    -137                    for (Field field : clazz.getFields()) {
    -138                            int modifiers = field.getModifiers();
    -139                            //@formatter:off
    -140                            if (Modifier.isStatic(modifiers) &&
    -141                                    Modifier.isPublic(modifiers) &&
    -142                                    field.getDeclaringClass() == clazz &&
    -143                                    field.getType() == clazz) {
    -144                                    //@formatter:on
    -145                                    try {
    -146                                            Object obj = field.get(null);
    -147                                            if (obj != null) {
    -148                                                    T c = clazz.cast(obj);
    -149                                                    preDefined.add(c);
    -150                                            }
    -151                                    } catch (Exception ex) {
    -152                                            //reflection error
    -153                                            //should never be thrown because we check for "public static" and the correct type
    -154                                            throw new RuntimeException(ex);
    -155                                    }
    -156                            }
    -157                    }
    -158    
    -159                    runtimeDefined = new ArrayList<T>(0);
    -160                    this.preDefined = Collections.unmodifiableCollection(preDefined);
    -161            }
    -162    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/DateTimeComponents.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/DateTimeComponents.html deleted file mode 100644 index e833bc55..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/DateTimeComponents.html +++ /dev/null @@ -1,352 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.text.DecimalFormat;
    -004    import java.text.NumberFormat;
    -005    import java.util.Calendar;
    -006    import java.util.Date;
    -007    import java.util.TimeZone;
    -008    import java.util.regex.Matcher;
    -009    import java.util.regex.Pattern;
    -010    
    -011    /*
    -012     Copyright (c) 2013, Michael Angstadt
    -013     All rights reserved.
    -014    
    -015     Redistribution and use in source and binary forms, with or without
    -016     modification, are permitted provided that the following conditions are met: 
    -017    
    -018     1. Redistributions of source code must retain the above copyright notice, this
    -019     list of conditions and the following disclaimer. 
    -020     2. Redistributions in binary form must reproduce the above copyright notice,
    -021     this list of conditions and the following disclaimer in the documentation
    -022     and/or other materials provided with the distribution. 
    -023    
    -024     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -025     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -026     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -027     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -028     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -029     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -030     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -031     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -032     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -033     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -034     */
    -035    
    -036    /**
    -037     * <p>
    -038     * Contains the raw components of a date-time value.
    -039     * </p>
    -040     * <p>
    -041     * <b>Examples:</b>
    -042     * 
    -043     * <pre class="brush:java">
    -044     * //July 22, 2013 at 17:25
    -045     * DateTimeComponents components = new DateTimeComponents(2013, 07, 22, 17, 25, 0, false);
    -046     * 
    -047     * //parsing a date string (accepts basic and extended formats)
    -048     * DateTimeComponents components = DateTimeComponents.parse(&quot;20130722T172500&quot;);
    -049     * 
    -050     * //converting to date string
    -051     * DateTimeComponents components = new DateTimeComponents(2013, 07, 22, 17, 25, 0, false);
    -052     * String str = components.toString(true); //&quot;2013-07-22T17:25:00&quot;
    -053     * 
    -054     * //converting to a Date object
    -055     * DateTimeComponents components = new DateTimeComponents(2013, 07, 22, 17, 25, 0, false);
    -056     * Date date = components.toDate();
    -057     * 
    -058     * </pre>
    -059     * 
    -060     * </p>
    -061     * @author Michael Angstadt
    -062     */
    -063    public final class DateTimeComponents {
    -064            private static final Pattern regex = Pattern.compile("^(\\d{4})-?(\\d{2})-?(\\d{2})(T(\\d{2}):?(\\d{2}):?(\\d{2})(Z?))?.*");
    -065            private final int year, month, date, hour, minute, second;
    -066            private final boolean utc;
    -067    
    -068            /**
    -069             * Parses the components out of a date-time string.
    -070             * @param dateString the date-time string (basic and extended formats
    -071             * supported, e.g. "20130331T020000" or "2013-03-31T02:00:00")
    -072             * @return the parsed components
    -073             * @throws IllegalArgumentException if the date string cannot be parsed
    -074             */
    -075            public static DateTimeComponents parse(String dateString) {
    -076                    Matcher m = regex.matcher(dateString);
    -077                    if (!m.find()) {
    -078                            throw new IllegalArgumentException("Cannot parse date: " + dateString);
    -079                    }
    -080    
    -081                    int i = 1;
    -082    
    -083                    int year = Integer.parseInt(m.group(i++));
    -084    
    -085                    int month = Integer.parseInt(m.group(i++));
    -086    
    -087                    int date = Integer.parseInt(m.group(i++));
    -088    
    -089                    i++; //skip
    -090    
    -091                    String hourStr = m.group(i++);
    -092                    int hour = (hourStr == null) ? 0 : Integer.parseInt(hourStr);
    -093    
    -094                    String minuteStr = m.group(i++);
    -095                    int minute = (minuteStr == null) ? 0 : Integer.parseInt(minuteStr);
    -096    
    -097                    String secondStr = m.group(i++);
    -098                    int second = (secondStr == null) ? 0 : Integer.parseInt(secondStr);
    -099    
    -100                    boolean utc = "Z".equals(m.group(i++));
    -101    
    -102                    return new DateTimeComponents(year, month, date, hour, minute, second, utc);
    -103            }
    -104    
    -105            /**
    -106             * Copies an existing DateTimeComponents object.
    -107             * @param original the object to copy from
    -108             * @param year the new year value or null not to change
    -109             * @param month the new month value or null not to change
    -110             * @param date the new date value or null not to change
    -111             * @param hour the new hour value or null not to change
    -112             * @param minute the new minute value or null not to change
    -113             * @param second the new second value or null not to change
    -114             * @param utc true if the time is in UTC, false if not, or null not to
    -115             * change
    -116             */
    -117            public DateTimeComponents(DateTimeComponents original, Integer year, Integer month, Integer date, Integer hour, Integer minute, Integer second, Boolean utc) {
    -118                    //@formatter:off
    -119                    this(
    -120                            (year == null) ? original.year : year,
    -121                            (month == null) ? original.month : month,
    -122                            (date == null) ? original.date : date,
    -123                            (hour == null) ? original.hour : hour,
    -124                            (minute == null) ? original.minute : minute,
    -125                            (second == null) ? original.second : second,
    -126                            (utc == null) ? original.utc : utc
    -127                    );
    -128                    //@formatter:on
    -129            }
    -130    
    -131            /**
    -132             * Creates a new set of date-time components.
    -133             * @param year the year (e.g. "2013")
    -134             * @param month the month (e.g. "1" for January)
    -135             * @param date the date of the month (e.g. "15")
    -136             * @param hour the hour (e.g. "13")
    -137             * @param minute the minute
    -138             * @param second the second
    -139             * @param utc true if the time is in UTC, false if not
    -140             */
    -141            public DateTimeComponents(int year, int month, int date, int hour, int minute, int second, boolean utc) {
    -142                    this.year = year;
    -143                    this.month = month;
    -144                    this.date = date;
    -145                    this.hour = hour;
    -146                    this.minute = minute;
    -147                    this.second = second;
    -148                    this.utc = utc;
    -149            }
    -150    
    -151            /**
    -152             * Gets the year component.
    -153             * @return the year
    -154             */
    -155            public int getYear() {
    -156                    return year;
    -157            }
    -158    
    -159            /**
    -160             * Gets the month component.
    -161             * @return the month (e.g. "1" for January)
    -162             */
    -163            public int getMonth() {
    -164                    return month;
    -165            }
    -166    
    -167            /**
    -168             * Gets the date component
    -169             * @return the date
    -170             */
    -171            public int getDate() {
    -172                    return date;
    -173            }
    -174    
    -175            /**
    -176             * Gets the hour component
    -177             * @return the hour
    -178             */
    -179            public int getHour() {
    -180                    return hour;
    -181            }
    -182    
    -183            /**
    -184             * Gets the minute component.
    -185             * @return the minute
    -186             */
    -187            public int getMinute() {
    -188                    return minute;
    -189            }
    -190    
    -191            /**
    -192             * Gets the second component.
    -193             * @return the second
    -194             */
    -195            public int getSecond() {
    -196                    return second;
    -197            }
    -198    
    -199            /**
    -200             * Gets whether the time is in UTC or not
    -201             * @return true if the time is in UTC, false if not
    -202             */
    -203            public boolean isUtc() {
    -204                    return utc;
    -205            }
    -206    
    -207            /**
    -208             * Converts the date-time components to a string using "basic" format.
    -209             * @return the date string
    -210             */
    -211            @Override
    -212            public String toString() {
    -213                    return toString(false);
    -214            }
    -215    
    -216            /**
    -217             * Converts the date-time components to a string.
    -218             * @param extended true to use extended format, false to use basic
    -219             * @return the date string
    -220             */
    -221            public String toString(boolean extended) {
    -222                    NumberFormat nf = new DecimalFormat("00");
    -223                    String dash = extended ? "-" : "";
    -224                    String colon = extended ? ":" : "";
    -225                    String z = utc ? "Z" : "";
    -226    
    -227                    return year + dash + nf.format(month) + dash + nf.format(date) + "T" + nf.format(hour) + colon + nf.format(minute) + colon + nf.format(second) + z;
    -228            }
    -229    
    -230            /**
    -231             * Converts the date-time components to a {@link Date} object.
    -232             * @return the date object
    -233             */
    -234            public Date toDate() {
    -235                    TimeZone tz = utc ? TimeZone.getTimeZone("UTC") : TimeZone.getDefault();
    -236                    Calendar c = Calendar.getInstance(tz);
    -237                    c.clear();
    -238                    c.set(Calendar.YEAR, year);
    -239                    c.set(Calendar.MONTH, month - 1);
    -240                    c.set(Calendar.DATE, date);
    -241                    c.set(Calendar.HOUR_OF_DAY, hour);
    -242                    c.set(Calendar.MINUTE, minute);
    -243                    c.set(Calendar.SECOND, second);
    -244                    return c.getTime();
    -245            }
    -246    
    -247            @Override
    -248            public int hashCode() {
    -249                    final int prime = 31;
    -250                    int result = 1;
    -251                    result = prime * result + date;
    -252                    result = prime * result + hour;
    -253                    result = prime * result + minute;
    -254                    result = prime * result + month;
    -255                    result = prime * result + second;
    -256                    result = prime * result + (utc ? 1231 : 1237);
    -257                    result = prime * result + year;
    -258                    return result;
    -259            }
    -260    
    -261            @Override
    -262            public boolean equals(Object obj) {
    -263                    if (this == obj)
    -264                            return true;
    -265                    if (obj == null)
    -266                            return false;
    -267                    if (getClass() != obj.getClass())
    -268                            return false;
    -269                    DateTimeComponents other = (DateTimeComponents) obj;
    -270                    if (date != other.date)
    -271                            return false;
    -272                    if (hour != other.hour)
    -273                            return false;
    -274                    if (minute != other.minute)
    -275                            return false;
    -276                    if (month != other.month)
    -277                            return false;
    -278                    if (second != other.second)
    -279                            return false;
    -280                    if (utc != other.utc)
    -281                            return false;
    -282                    if (year != other.year)
    -283                            return false;
    -284                    return true;
    -285            }
    -286    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Duration.Builder.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Duration.Builder.html deleted file mode 100644 index 8cc63cfd..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Duration.Builder.html +++ /dev/null @@ -1,536 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.Calendar;
    -004    import java.util.Date;
    -005    import java.util.regex.Matcher;
    -006    import java.util.regex.Pattern;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * <p>
    -035     * Represents a period of time (for example, "2 hours and 30 minutes").
    -036     * </p>
    -037     * <p>
    -038     * This class is immutable. Use the {@link #builder} method to construct a new
    -039     * instance, or the {@link #parse} method to parse a duration string.
    -040     * </p>
    -041     * 
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * Duration duration = Duration.builder().hours(2).minutes(30).build();
    -047     * Duration duration = Duration.parse(&quot;PT2H30M&quot;);
    -048     * 
    -049     * //add a duration value to a Date
    -050     * Date start = ...
    -051     * Date end = duration.add(start);
    -052     * </pre>
    -053     * 
    -054     * </p>
    -055     * @author Michael Angstadt
    -056     */
    -057    public final class Duration {
    -058            private final Integer weeks, days, hours, minutes, seconds;
    -059            private final boolean prior;
    -060    
    -061            private Duration(Builder b) {
    -062                    weeks = b.weeks;
    -063                    days = b.days;
    -064                    hours = b.hours;
    -065                    minutes = b.minutes;
    -066                    seconds = b.seconds;
    -067                    prior = b.prior;
    -068            }
    -069    
    -070            /**
    -071             * Parses a duration string.
    -072             * @param value the duration string (e.g. "P30DT10H")
    -073             * @return the parsed duration
    -074             * @throws IllegalArgumentException if the duration string is invalid
    -075             */
    -076            public static Duration parse(String value) {
    -077                    if (!value.matches("-?P.*")) {
    -078                            throw new IllegalArgumentException("Invalid duration string: " + value);
    -079                    }
    -080    
    -081                    //@formatter:off
    -082                    return builder()
    -083                    .prior(value.startsWith("-"))
    -084                    .weeks(parseComponent(value, 'W'))
    -085                    .days(parseComponent(value, 'D'))
    -086                    .hours(parseComponent(value, 'H'))
    -087                    .minutes(parseComponent(value, 'M'))
    -088                    .seconds(parseComponent(value, 'S'))
    -089                    .build();
    -090                    //@formatter:on
    -091            }
    -092    
    -093            /**
    -094             * Builds a duration based on the difference between two dates.
    -095             * @param start the start date
    -096             * @param end the end date
    -097             * @return the duration
    -098             */
    -099            public static Duration diff(Date start, Date end) {
    -100                    return fromMillis(end.getTime() - start.getTime());
    -101            }
    -102    
    -103            /**
    -104             * Builds a duration from a number of milliseconds.
    -105             * @param milliseconds the number of milliseconds
    -106             * @return the duration
    -107             */
    -108            public static Duration fromMillis(long milliseconds) {
    -109                    Duration.Builder builder = builder();
    -110    
    -111                    if (milliseconds < 0) {
    -112                            builder.prior(true);
    -113                            milliseconds *= -1;
    -114                    }
    -115    
    -116                    int seconds = (int) (milliseconds / 1000);
    -117    
    -118                    Integer weeks = seconds / (60 * 60 * 24 * 7);
    -119                    if (weeks > 0) {
    -120                            builder.weeks(weeks);
    -121                    }
    -122                    seconds %= 60 * 60 * 24 * 7;
    -123    
    -124                    Integer days = seconds / (60 * 60 * 24);
    -125                    if (days > 0) {
    -126                            builder.days(days);
    -127                    }
    -128                    seconds %= 60 * 60 * 24;
    -129    
    -130                    Integer hours = seconds / (60 * 60);
    -131                    if (hours > 0) {
    -132                            builder.hours(hours);
    -133                    }
    -134                    seconds %= 60 * 60;
    -135    
    -136                    Integer minutes = seconds / (60);
    -137                    if (minutes > 0) {
    -138                            builder.minutes(minutes);
    -139                    }
    -140                    seconds %= 60;
    -141    
    -142                    if (seconds > 0) {
    -143                            builder.seconds(seconds);
    -144                    }
    -145    
    -146                    return builder.build();
    -147            }
    -148    
    -149            /**
    -150             * Creates a builder object for constructing new instances of this class.
    -151             * @return the builder object
    -152             */
    -153            public static Builder builder() {
    -154                    return new Builder();
    -155            }
    -156    
    -157            private static Integer parseComponent(String value, char ch) {
    -158                    Pattern p = Pattern.compile("(\\d+)" + ch);
    -159                    Matcher m = p.matcher(value);
    -160                    return m.find() ? Integer.valueOf(m.group(1)) : null;
    -161            }
    -162    
    -163            /**
    -164             * Gets whether the duration is negative.
    -165             * @return true if it's negative, false if not
    -166             */
    -167            public boolean isPrior() {
    -168                    return prior;
    -169            }
    -170    
    -171            /**
    -172             * Gets the number of weeks.
    -173             * @return the number of weeks or null if not set
    -174             */
    -175            public Integer getWeeks() {
    -176                    return weeks;
    -177            }
    -178    
    -179            /**
    -180             * Gets the number of days.
    -181             * @return the number of days or null if not set
    -182             */
    -183            public Integer getDays() {
    -184                    return days;
    -185            }
    -186    
    -187            /**
    -188             * Gets the number of hours.
    -189             * @return the number of hours or null if not set
    -190             */
    -191            public Integer getHours() {
    -192                    return hours;
    -193            }
    -194    
    -195            /**
    -196             * Gets the number of minutes.
    -197             * @return the number of minutes or null if not set
    -198             */
    -199            public Integer getMinutes() {
    -200                    return minutes;
    -201            }
    -202    
    -203            /**
    -204             * Gets the number of seconds.
    -205             * @return the number of seconds or null if not set
    -206             */
    -207            public Integer getSeconds() {
    -208                    return seconds;
    -209            }
    -210    
    -211            /**
    -212             * Adds this duration value to a {@link Date} object.
    -213             * @param date the date to add to
    -214             * @return the new date value
    -215             */
    -216            public Date add(Date date) {
    -217                    Calendar c = Calendar.getInstance();
    -218                    c.setTime(date);
    -219    
    -220                    if (weeks != null) {
    -221                            int weeks = this.weeks * (prior ? -1 : 1);
    -222                            c.add(Calendar.DATE, weeks * 7);
    -223                    }
    -224                    if (days != null) {
    -225                            int days = this.days * (prior ? -1 : 1);
    -226                            c.add(Calendar.DATE, days);
    -227                    }
    -228                    if (hours != null) {
    -229                            int hours = this.hours * (prior ? -1 : 1);
    -230                            c.add(Calendar.HOUR_OF_DAY, hours);
    -231                    }
    -232                    if (minutes != null) {
    -233                            int minutes = this.minutes * (prior ? -1 : 1);
    -234                            c.add(Calendar.MINUTE, minutes);
    -235                    }
    -236                    if (seconds != null) {
    -237                            int seconds = this.seconds * (prior ? -1 : 1);
    -238                            c.add(Calendar.SECOND, seconds);
    -239                    }
    -240    
    -241                    return c.getTime();
    -242            }
    -243    
    -244            /**
    -245             * Converts the duration value to milliseconds.
    -246             * @return the duration value in milliseconds (will be negative if
    -247             * {@link #isPrior} is true)
    -248             */
    -249            public long toMillis() {
    -250                    long totalSeconds = 0;
    -251    
    -252                    if (weeks != null) {
    -253                            totalSeconds += 60 * 60 * 24 * 7 * weeks;
    -254                    }
    -255                    if (days != null) {
    -256                            totalSeconds += 60 * 60 * 24 * days;
    -257                    }
    -258                    if (hours != null) {
    -259                            totalSeconds += 60 * 60 * hours;
    -260                    }
    -261                    if (minutes != null) {
    -262                            totalSeconds += 60 * minutes;
    -263                    }
    -264                    if (seconds != null) {
    -265                            totalSeconds += seconds;
    -266                    }
    -267                    if (prior) {
    -268                            totalSeconds *= -1;
    -269                    }
    -270    
    -271                    return totalSeconds * 1000;
    -272            }
    -273    
    -274            /**
    -275             * Determines if any time components are present.
    -276             * @return true if the duration has at least one time component, false if
    -277             * not
    -278             */
    -279            public boolean hasTime() {
    -280                    return hours != null || minutes != null || seconds != null;
    -281            }
    -282    
    -283            @Override
    -284            public int hashCode() {
    -285                    final int prime = 31;
    -286                    int result = 1;
    -287                    result = prime * result + ((days == null) ? 0 : days.hashCode());
    -288                    result = prime * result + ((hours == null) ? 0 : hours.hashCode());
    -289                    result = prime * result + ((minutes == null) ? 0 : minutes.hashCode());
    -290                    result = prime * result + (prior ? 1231 : 1237);
    -291                    result = prime * result + ((seconds == null) ? 0 : seconds.hashCode());
    -292                    result = prime * result + ((weeks == null) ? 0 : weeks.hashCode());
    -293                    return result;
    -294            }
    -295    
    -296            @Override
    -297            public boolean equals(Object obj) {
    -298                    if (this == obj)
    -299                            return true;
    -300                    if (obj == null)
    -301                            return false;
    -302                    if (getClass() != obj.getClass())
    -303                            return false;
    -304                    Duration other = (Duration) obj;
    -305                    if (days == null) {
    -306                            if (other.days != null)
    -307                                    return false;
    -308                    } else if (!days.equals(other.days))
    -309                            return false;
    -310                    if (hours == null) {
    -311                            if (other.hours != null)
    -312                                    return false;
    -313                    } else if (!hours.equals(other.hours))
    -314                            return false;
    -315                    if (minutes == null) {
    -316                            if (other.minutes != null)
    -317                                    return false;
    -318                    } else if (!minutes.equals(other.minutes))
    -319                            return false;
    -320                    if (prior != other.prior)
    -321                            return false;
    -322                    if (seconds == null) {
    -323                            if (other.seconds != null)
    -324                                    return false;
    -325                    } else if (!seconds.equals(other.seconds))
    -326                            return false;
    -327                    if (weeks == null) {
    -328                            if (other.weeks != null)
    -329                                    return false;
    -330                    } else if (!weeks.equals(other.weeks))
    -331                            return false;
    -332                    return true;
    -333            }
    -334    
    -335            /**
    -336             * Converts the duration to its string representation.
    -337             * @return the string representation (e.g. "P4DT1H" for "4 days and 1 hour")
    -338             */
    -339            @Override
    -340            public String toString() {
    -341                    StringBuilder sb = new StringBuilder();
    -342    
    -343                    if (prior) {
    -344                            sb.append('-');
    -345                    }
    -346                    sb.append('P');
    -347    
    -348                    if (weeks != null) {
    -349                            sb.append(weeks).append('W');
    -350                    }
    -351    
    -352                    if (days != null) {
    -353                            sb.append(days).append('D');
    -354                    }
    -355    
    -356                    if (hasTime()) {
    -357                            sb.append('T');
    -358    
    -359                            if (hours != null) {
    -360                                    sb.append(hours).append('H');
    -361                            }
    -362    
    -363                            if (minutes != null) {
    -364                                    sb.append(minutes).append('M');
    -365                            }
    -366    
    -367                            if (seconds != null) {
    -368                                    sb.append(seconds).append('S');
    -369                            }
    -370                    }
    -371    
    -372                    return sb.toString();
    -373            }
    -374    
    -375            /**
    -376             * Builds {@link Duration} objects.
    -377             */
    -378            public static class Builder {
    -379                    private Integer weeks, days, hours, minutes, seconds;
    -380                    private boolean prior = false;
    -381    
    -382                    /**
    -383                     * Creates a new {@link Duration} builder.
    -384                     */
    -385                    public Builder() {
    -386                            //empty
    -387                    }
    -388    
    -389                    /**
    -390                     * Creates a new {@link Duration} builder.
    -391                     * @param source the object to copy from
    -392                     */
    -393                    public Builder(Duration source) {
    -394                            weeks = source.weeks;
    -395                            days = source.days;
    -396                            hours = source.hours;
    -397                            minutes = source.minutes;
    -398                            seconds = source.seconds;
    -399                            prior = source.prior;
    -400                    }
    -401    
    -402                    /**
    -403                     * Sets the number of weeks.
    -404                     * @param weeks the number of weeks
    -405                     * @return this
    -406                     */
    -407                    public Builder weeks(Integer weeks) {
    -408                            this.weeks = weeks;
    -409                            return this;
    -410                    }
    -411    
    -412                    /**
    -413                     * Sets the number of days
    -414                     * @param days the number of days
    -415                     * @return this
    -416                     */
    -417                    public Builder days(Integer days) {
    -418                            this.days = days;
    -419                            return this;
    -420                    }
    -421    
    -422                    /**
    -423                     * Sets the number of hours
    -424                     * @param hours the number of hours
    -425                     * @return this
    -426                     */
    -427                    public Builder hours(Integer hours) {
    -428                            this.hours = hours;
    -429                            return this;
    -430                    }
    -431    
    -432                    /**
    -433                     * Sets the number of minutes
    -434                     * @param minutes the number of minutes
    -435                     * @return this
    -436                     */
    -437                    public Builder minutes(Integer minutes) {
    -438                            this.minutes = minutes;
    -439                            return this;
    -440                    }
    -441    
    -442                    /**
    -443                     * Sets the number of seconds.
    -444                     * @param seconds the number of seconds
    -445                     * @return this
    -446                     */
    -447                    public Builder seconds(Integer seconds) {
    -448                            this.seconds = seconds;
    -449                            return this;
    -450                    }
    -451    
    -452                    /**
    -453                     * Sets whether the duration should be negative.
    -454                     * @param prior true to be negative, false not to be
    -455                     * @return this
    -456                     */
    -457                    public Builder prior(boolean prior) {
    -458                            this.prior = prior;
    -459                            return this;
    -460                    }
    -461    
    -462                    /**
    -463                     * Builds the final {@link Duration} object.
    -464                     * @return the object
    -465                     */
    -466                    public Duration build() {
    -467                            return new Duration(this);
    -468                    }
    -469            }
    -470    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Duration.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Duration.html deleted file mode 100644 index 8cc63cfd..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Duration.html +++ /dev/null @@ -1,536 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.Calendar;
    -004    import java.util.Date;
    -005    import java.util.regex.Matcher;
    -006    import java.util.regex.Pattern;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * <p>
    -035     * Represents a period of time (for example, "2 hours and 30 minutes").
    -036     * </p>
    -037     * <p>
    -038     * This class is immutable. Use the {@link #builder} method to construct a new
    -039     * instance, or the {@link #parse} method to parse a duration string.
    -040     * </p>
    -041     * 
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * Duration duration = Duration.builder().hours(2).minutes(30).build();
    -047     * Duration duration = Duration.parse(&quot;PT2H30M&quot;);
    -048     * 
    -049     * //add a duration value to a Date
    -050     * Date start = ...
    -051     * Date end = duration.add(start);
    -052     * </pre>
    -053     * 
    -054     * </p>
    -055     * @author Michael Angstadt
    -056     */
    -057    public final class Duration {
    -058            private final Integer weeks, days, hours, minutes, seconds;
    -059            private final boolean prior;
    -060    
    -061            private Duration(Builder b) {
    -062                    weeks = b.weeks;
    -063                    days = b.days;
    -064                    hours = b.hours;
    -065                    minutes = b.minutes;
    -066                    seconds = b.seconds;
    -067                    prior = b.prior;
    -068            }
    -069    
    -070            /**
    -071             * Parses a duration string.
    -072             * @param value the duration string (e.g. "P30DT10H")
    -073             * @return the parsed duration
    -074             * @throws IllegalArgumentException if the duration string is invalid
    -075             */
    -076            public static Duration parse(String value) {
    -077                    if (!value.matches("-?P.*")) {
    -078                            throw new IllegalArgumentException("Invalid duration string: " + value);
    -079                    }
    -080    
    -081                    //@formatter:off
    -082                    return builder()
    -083                    .prior(value.startsWith("-"))
    -084                    .weeks(parseComponent(value, 'W'))
    -085                    .days(parseComponent(value, 'D'))
    -086                    .hours(parseComponent(value, 'H'))
    -087                    .minutes(parseComponent(value, 'M'))
    -088                    .seconds(parseComponent(value, 'S'))
    -089                    .build();
    -090                    //@formatter:on
    -091            }
    -092    
    -093            /**
    -094             * Builds a duration based on the difference between two dates.
    -095             * @param start the start date
    -096             * @param end the end date
    -097             * @return the duration
    -098             */
    -099            public static Duration diff(Date start, Date end) {
    -100                    return fromMillis(end.getTime() - start.getTime());
    -101            }
    -102    
    -103            /**
    -104             * Builds a duration from a number of milliseconds.
    -105             * @param milliseconds the number of milliseconds
    -106             * @return the duration
    -107             */
    -108            public static Duration fromMillis(long milliseconds) {
    -109                    Duration.Builder builder = builder();
    -110    
    -111                    if (milliseconds < 0) {
    -112                            builder.prior(true);
    -113                            milliseconds *= -1;
    -114                    }
    -115    
    -116                    int seconds = (int) (milliseconds / 1000);
    -117    
    -118                    Integer weeks = seconds / (60 * 60 * 24 * 7);
    -119                    if (weeks > 0) {
    -120                            builder.weeks(weeks);
    -121                    }
    -122                    seconds %= 60 * 60 * 24 * 7;
    -123    
    -124                    Integer days = seconds / (60 * 60 * 24);
    -125                    if (days > 0) {
    -126                            builder.days(days);
    -127                    }
    -128                    seconds %= 60 * 60 * 24;
    -129    
    -130                    Integer hours = seconds / (60 * 60);
    -131                    if (hours > 0) {
    -132                            builder.hours(hours);
    -133                    }
    -134                    seconds %= 60 * 60;
    -135    
    -136                    Integer minutes = seconds / (60);
    -137                    if (minutes > 0) {
    -138                            builder.minutes(minutes);
    -139                    }
    -140                    seconds %= 60;
    -141    
    -142                    if (seconds > 0) {
    -143                            builder.seconds(seconds);
    -144                    }
    -145    
    -146                    return builder.build();
    -147            }
    -148    
    -149            /**
    -150             * Creates a builder object for constructing new instances of this class.
    -151             * @return the builder object
    -152             */
    -153            public static Builder builder() {
    -154                    return new Builder();
    -155            }
    -156    
    -157            private static Integer parseComponent(String value, char ch) {
    -158                    Pattern p = Pattern.compile("(\\d+)" + ch);
    -159                    Matcher m = p.matcher(value);
    -160                    return m.find() ? Integer.valueOf(m.group(1)) : null;
    -161            }
    -162    
    -163            /**
    -164             * Gets whether the duration is negative.
    -165             * @return true if it's negative, false if not
    -166             */
    -167            public boolean isPrior() {
    -168                    return prior;
    -169            }
    -170    
    -171            /**
    -172             * Gets the number of weeks.
    -173             * @return the number of weeks or null if not set
    -174             */
    -175            public Integer getWeeks() {
    -176                    return weeks;
    -177            }
    -178    
    -179            /**
    -180             * Gets the number of days.
    -181             * @return the number of days or null if not set
    -182             */
    -183            public Integer getDays() {
    -184                    return days;
    -185            }
    -186    
    -187            /**
    -188             * Gets the number of hours.
    -189             * @return the number of hours or null if not set
    -190             */
    -191            public Integer getHours() {
    -192                    return hours;
    -193            }
    -194    
    -195            /**
    -196             * Gets the number of minutes.
    -197             * @return the number of minutes or null if not set
    -198             */
    -199            public Integer getMinutes() {
    -200                    return minutes;
    -201            }
    -202    
    -203            /**
    -204             * Gets the number of seconds.
    -205             * @return the number of seconds or null if not set
    -206             */
    -207            public Integer getSeconds() {
    -208                    return seconds;
    -209            }
    -210    
    -211            /**
    -212             * Adds this duration value to a {@link Date} object.
    -213             * @param date the date to add to
    -214             * @return the new date value
    -215             */
    -216            public Date add(Date date) {
    -217                    Calendar c = Calendar.getInstance();
    -218                    c.setTime(date);
    -219    
    -220                    if (weeks != null) {
    -221                            int weeks = this.weeks * (prior ? -1 : 1);
    -222                            c.add(Calendar.DATE, weeks * 7);
    -223                    }
    -224                    if (days != null) {
    -225                            int days = this.days * (prior ? -1 : 1);
    -226                            c.add(Calendar.DATE, days);
    -227                    }
    -228                    if (hours != null) {
    -229                            int hours = this.hours * (prior ? -1 : 1);
    -230                            c.add(Calendar.HOUR_OF_DAY, hours);
    -231                    }
    -232                    if (minutes != null) {
    -233                            int minutes = this.minutes * (prior ? -1 : 1);
    -234                            c.add(Calendar.MINUTE, minutes);
    -235                    }
    -236                    if (seconds != null) {
    -237                            int seconds = this.seconds * (prior ? -1 : 1);
    -238                            c.add(Calendar.SECOND, seconds);
    -239                    }
    -240    
    -241                    return c.getTime();
    -242            }
    -243    
    -244            /**
    -245             * Converts the duration value to milliseconds.
    -246             * @return the duration value in milliseconds (will be negative if
    -247             * {@link #isPrior} is true)
    -248             */
    -249            public long toMillis() {
    -250                    long totalSeconds = 0;
    -251    
    -252                    if (weeks != null) {
    -253                            totalSeconds += 60 * 60 * 24 * 7 * weeks;
    -254                    }
    -255                    if (days != null) {
    -256                            totalSeconds += 60 * 60 * 24 * days;
    -257                    }
    -258                    if (hours != null) {
    -259                            totalSeconds += 60 * 60 * hours;
    -260                    }
    -261                    if (minutes != null) {
    -262                            totalSeconds += 60 * minutes;
    -263                    }
    -264                    if (seconds != null) {
    -265                            totalSeconds += seconds;
    -266                    }
    -267                    if (prior) {
    -268                            totalSeconds *= -1;
    -269                    }
    -270    
    -271                    return totalSeconds * 1000;
    -272            }
    -273    
    -274            /**
    -275             * Determines if any time components are present.
    -276             * @return true if the duration has at least one time component, false if
    -277             * not
    -278             */
    -279            public boolean hasTime() {
    -280                    return hours != null || minutes != null || seconds != null;
    -281            }
    -282    
    -283            @Override
    -284            public int hashCode() {
    -285                    final int prime = 31;
    -286                    int result = 1;
    -287                    result = prime * result + ((days == null) ? 0 : days.hashCode());
    -288                    result = prime * result + ((hours == null) ? 0 : hours.hashCode());
    -289                    result = prime * result + ((minutes == null) ? 0 : minutes.hashCode());
    -290                    result = prime * result + (prior ? 1231 : 1237);
    -291                    result = prime * result + ((seconds == null) ? 0 : seconds.hashCode());
    -292                    result = prime * result + ((weeks == null) ? 0 : weeks.hashCode());
    -293                    return result;
    -294            }
    -295    
    -296            @Override
    -297            public boolean equals(Object obj) {
    -298                    if (this == obj)
    -299                            return true;
    -300                    if (obj == null)
    -301                            return false;
    -302                    if (getClass() != obj.getClass())
    -303                            return false;
    -304                    Duration other = (Duration) obj;
    -305                    if (days == null) {
    -306                            if (other.days != null)
    -307                                    return false;
    -308                    } else if (!days.equals(other.days))
    -309                            return false;
    -310                    if (hours == null) {
    -311                            if (other.hours != null)
    -312                                    return false;
    -313                    } else if (!hours.equals(other.hours))
    -314                            return false;
    -315                    if (minutes == null) {
    -316                            if (other.minutes != null)
    -317                                    return false;
    -318                    } else if (!minutes.equals(other.minutes))
    -319                            return false;
    -320                    if (prior != other.prior)
    -321                            return false;
    -322                    if (seconds == null) {
    -323                            if (other.seconds != null)
    -324                                    return false;
    -325                    } else if (!seconds.equals(other.seconds))
    -326                            return false;
    -327                    if (weeks == null) {
    -328                            if (other.weeks != null)
    -329                                    return false;
    -330                    } else if (!weeks.equals(other.weeks))
    -331                            return false;
    -332                    return true;
    -333            }
    -334    
    -335            /**
    -336             * Converts the duration to its string representation.
    -337             * @return the string representation (e.g. "P4DT1H" for "4 days and 1 hour")
    -338             */
    -339            @Override
    -340            public String toString() {
    -341                    StringBuilder sb = new StringBuilder();
    -342    
    -343                    if (prior) {
    -344                            sb.append('-');
    -345                    }
    -346                    sb.append('P');
    -347    
    -348                    if (weeks != null) {
    -349                            sb.append(weeks).append('W');
    -350                    }
    -351    
    -352                    if (days != null) {
    -353                            sb.append(days).append('D');
    -354                    }
    -355    
    -356                    if (hasTime()) {
    -357                            sb.append('T');
    -358    
    -359                            if (hours != null) {
    -360                                    sb.append(hours).append('H');
    -361                            }
    -362    
    -363                            if (minutes != null) {
    -364                                    sb.append(minutes).append('M');
    -365                            }
    -366    
    -367                            if (seconds != null) {
    -368                                    sb.append(seconds).append('S');
    -369                            }
    -370                    }
    -371    
    -372                    return sb.toString();
    -373            }
    -374    
    -375            /**
    -376             * Builds {@link Duration} objects.
    -377             */
    -378            public static class Builder {
    -379                    private Integer weeks, days, hours, minutes, seconds;
    -380                    private boolean prior = false;
    -381    
    -382                    /**
    -383                     * Creates a new {@link Duration} builder.
    -384                     */
    -385                    public Builder() {
    -386                            //empty
    -387                    }
    -388    
    -389                    /**
    -390                     * Creates a new {@link Duration} builder.
    -391                     * @param source the object to copy from
    -392                     */
    -393                    public Builder(Duration source) {
    -394                            weeks = source.weeks;
    -395                            days = source.days;
    -396                            hours = source.hours;
    -397                            minutes = source.minutes;
    -398                            seconds = source.seconds;
    -399                            prior = source.prior;
    -400                    }
    -401    
    -402                    /**
    -403                     * Sets the number of weeks.
    -404                     * @param weeks the number of weeks
    -405                     * @return this
    -406                     */
    -407                    public Builder weeks(Integer weeks) {
    -408                            this.weeks = weeks;
    -409                            return this;
    -410                    }
    -411    
    -412                    /**
    -413                     * Sets the number of days
    -414                     * @param days the number of days
    -415                     * @return this
    -416                     */
    -417                    public Builder days(Integer days) {
    -418                            this.days = days;
    -419                            return this;
    -420                    }
    -421    
    -422                    /**
    -423                     * Sets the number of hours
    -424                     * @param hours the number of hours
    -425                     * @return this
    -426                     */
    -427                    public Builder hours(Integer hours) {
    -428                            this.hours = hours;
    -429                            return this;
    -430                    }
    -431    
    -432                    /**
    -433                     * Sets the number of minutes
    -434                     * @param minutes the number of minutes
    -435                     * @return this
    -436                     */
    -437                    public Builder minutes(Integer minutes) {
    -438                            this.minutes = minutes;
    -439                            return this;
    -440                    }
    -441    
    -442                    /**
    -443                     * Sets the number of seconds.
    -444                     * @param seconds the number of seconds
    -445                     * @return this
    -446                     */
    -447                    public Builder seconds(Integer seconds) {
    -448                            this.seconds = seconds;
    -449                            return this;
    -450                    }
    -451    
    -452                    /**
    -453                     * Sets whether the duration should be negative.
    -454                     * @param prior true to be negative, false not to be
    -455                     * @return this
    -456                     */
    -457                    public Builder prior(boolean prior) {
    -458                            this.prior = prior;
    -459                            return this;
    -460                    }
    -461    
    -462                    /**
    -463                     * Builds the final {@link Duration} object.
    -464                     * @return the object
    -465                     */
    -466                    public Duration build() {
    -467                            return new Duration(this);
    -468                    }
    -469            }
    -470    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ICalDateFormatter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ICalDateFormatter.html deleted file mode 100644 index eb019297..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ICalDateFormatter.html +++ /dev/null @@ -1,242 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.text.DateFormat;
    -004    import java.text.ParseException;
    -005    import java.util.Date;
    -006    import java.util.TimeZone;
    -007    
    -008    /*
    -009     Copyright (c) 2013, Michael Angstadt
    -010     All rights reserved.
    -011    
    -012     Redistribution and use in source and binary forms, with or without
    -013     modification, are permitted provided that the following conditions are met: 
    -014    
    -015     1. Redistributions of source code must retain the above copyright notice, this
    -016     list of conditions and the following disclaimer. 
    -017     2. Redistributions in binary form must reproduce the above copyright notice,
    -018     this list of conditions and the following disclaimer in the documentation
    -019     and/or other materials provided with the distribution. 
    -020    
    -021     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -022     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -023     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -024     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -025     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -026     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -027     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -028     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -029     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -030     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -031     */
    -032    
    -033    /**
    -034     * Helper class that formats and parses iCalendar dates. iCalendar dates adhere
    -035     * to the ISO8601 date format standard.
    -036     * @author Michael Angstadt
    -037     */
    -038    public class ICalDateFormatter {
    -039            /**
    -040             * Formats a date for inclusion in an iCalendar object.
    -041             * @param date the date to format
    -042             * @param format the format to use
    -043             * @return the formatted date
    -044             */
    -045            public static String format(Date date, ISOFormat format) {
    -046                    return format(date, format, null);
    -047            }
    -048    
    -049            /**
    -050             * Formats a date for inclusion in an iCalendar object.
    -051             * @param date the date to format
    -052             * @param format the format to use
    -053             * @param timeZone the timezone to format the date in or null to use the
    -054             * JVM's default timezone (ignored with "UTC" formats)
    -055             * @return the formatted date
    -056             */
    -057            public static String format(Date date, ISOFormat format, TimeZone timeZone) {
    -058                    switch (format) {
    -059                    case UTC_TIME_BASIC:
    -060                    case UTC_TIME_EXTENDED:
    -061                            timeZone = TimeZone.getTimeZone("UTC");
    -062                            break;
    -063                    }
    -064    
    -065                    DateFormat df = format.getFormatDateFormat();
    -066                    if (timeZone != null) {
    -067                            df.setTimeZone(timeZone);
    -068                    }
    -069                    String str = df.format(date);
    -070    
    -071                    switch (format) {
    -072                    case TIME_EXTENDED:
    -073                            //add a colon to the timezone
    -074                            //example: converts "2012-07-05T22:31:41-0400" to "2012-07-05T22:31:41-04:00"
    -075                            str = str.replaceAll("([-\\+]\\d{2})(\\d{2})$", "$1:$2");
    -076                            break;
    -077                    }
    -078    
    -079                    return str;
    -080            }
    -081    
    -082            /**
    -083             * Parses an iCalendar date.
    -084             * @param dateStr the date string to parse (e.g. "20130609T181023Z")
    -085             * @return the parsed date
    -086             * @throws IllegalArgumentException if the date string isn't in one of the
    -087             * accepted ISO8601 formats
    -088             */
    -089            public static Date parse(String dateStr) {
    -090                    return parse(dateStr, null);
    -091            }
    -092    
    -093            /**
    -094             * Parses an iCalendar date.
    -095             * @param dateStr the date string to parse (e.g. "20130609T181023Z")
    -096             * @param timezone the timezone to parse the date as or null to use the
    -097             * JVM's default timezone (if the date string contains its own timezone,
    -098             * then that timezone will be used instead)
    -099             * @return the parsed date
    -100             * @throws IllegalArgumentException if the date string isn't in one of the
    -101             * accepted ISO8601 formats
    -102             */
    -103            public static Date parse(String dateStr, TimeZone timezone) {
    -104                    //find out what ISOFormat the date is in
    -105                    ISOFormat format = null;
    -106                    for (ISOFormat f : ISOFormat.values()) {
    -107                            if (f.matches(dateStr)) {
    -108                                    format = f;
    -109                                    break;
    -110                            }
    -111                    }
    -112                    if (format == null) {
    -113                            throw new IllegalArgumentException("Date string is not in a valid ISO-8601 format.");
    -114                    }
    -115    
    -116                    //tweak the date string to make it work with SimpleDateFormat
    -117                    switch (format) {
    -118                    case TIME_EXTENDED:
    -119                    case HCARD_TIME_TAG:
    -120                            //SimpleDateFormat doesn't recognize timezone offsets that have colons
    -121                            //so remove the colon from the timezone offset
    -122                            dateStr = dateStr.replaceAll("([-\\+]\\d{2}):(\\d{2})$", "$1$2");
    -123                            break;
    -124                    case UTC_TIME_BASIC:
    -125                    case UTC_TIME_EXTENDED:
    -126                            //SimpleDateFormat doesn't recognize "Z"
    -127                            dateStr = dateStr.replace("Z", "+0000");
    -128                            break;
    -129                    }
    -130    
    -131                    //parse the date
    -132                    DateFormat df = format.getParseDateFormat();
    -133                    if (timezone != null) {
    -134                            df.setTimeZone(timezone);
    -135                    }
    -136                    try {
    -137                            return df.parse(dateStr);
    -138                    } catch (ParseException e) {
    -139                            //should never be thrown because the string is checked against a regex
    -140                            throw new IllegalArgumentException("Date string is not in a valid ISO-8601 format.");
    -141                    }
    -142            }
    -143    
    -144            /**
    -145             * Determines whether a date string has a time component.
    -146             * @param dateStr the date string (e.g. "20130601T120000")
    -147             * @return true if it has a time component, false if not
    -148             */
    -149            public static boolean dateHasTime(String dateStr) {
    -150                    return dateStr.contains("T");
    -151            }
    -152    
    -153            /**
    -154             * Determines whether a date string is in UTC time or has a timezone offset.
    -155             * @param dateStr the date string (e.g. "20130601T120000Z",
    -156             * "20130601T120000-0400")
    -157             * @return true if it has a timezone, false if not
    -158             */
    -159            public static boolean dateHasTimezone(String dateStr) {
    -160                    return dateStr.endsWith("Z") || dateStr.matches(".*?[-+]\\d\\d:?\\d\\d");
    -161            }
    -162    
    -163            /**
    -164             * Gets the {@link TimeZone} object that corresponds to the given ID.
    -165             * @param timezoneId the timezone ID (e.g. "America/New_York")
    -166             * @return the timezone object or null if not found
    -167             */
    -168            public static TimeZone parseTimeZoneId(String timezoneId) {
    -169                    TimeZone timezone = TimeZone.getTimeZone(timezoneId);
    -170                    return "GMT".equals(timezone.getID()) ? null : timezone;
    -171            }
    -172    
    -173            private ICalDateFormatter() {
    -174                    //hide constructor
    -175            }
    -176    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ICalFloatFormatter.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ICalFloatFormatter.html deleted file mode 100644 index f287b8d3..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ICalFloatFormatter.html +++ /dev/null @@ -1,127 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.text.DecimalFormat;
    -004    import java.text.DecimalFormatSymbols;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Formats floating-point values for iCalendar objects. Notably, this ensures
    -033     * that a "." is used as decimal separater, no matter the locale.
    -034     * @author Michael Angstadt
    -035     */
    -036    @SuppressWarnings("serial")
    -037    public class ICalFloatFormatter extends DecimalFormat {
    -038            /**
    -039             * Creates a new formatter with a max of 6 decimals.
    -040             */
    -041            public ICalFloatFormatter() {
    -042                    this(6);
    -043            }
    -044    
    -045            /**
    -046             * Creates a new formatter.
    -047             * @param decimals the max number of decimal places
    -048             */
    -049            public ICalFloatFormatter(int decimals) {
    -050                    setMaximumFractionDigits(decimals);
    -051                    if (decimals > 0) {
    -052                            setMinimumFractionDigits(1);
    -053                    }
    -054    
    -055                    //decimal separator differs by locale (e.g. Germany uses ",")
    -056                    DecimalFormatSymbols symbols = new DecimalFormatSymbols();
    -057                    symbols.setDecimalSeparator('.');
    -058                    symbols.setMinusSign('-');
    -059                    setDecimalFormatSymbols(symbols);
    -060            }
    -061    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/IOUtils.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/IOUtils.html deleted file mode 100644 index 70ec463b..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/IOUtils.html +++ /dev/null @@ -1,238 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.io.ByteArrayOutputStream;
    -004    import java.io.Closeable;
    -005    import java.io.File;
    -006    import java.io.FileInputStream;
    -007    import java.io.FileNotFoundException;
    -008    import java.io.FileOutputStream;
    -009    import java.io.IOException;
    -010    import java.io.InputStream;
    -011    import java.io.InputStreamReader;
    -012    import java.io.OutputStream;
    -013    import java.io.OutputStreamWriter;
    -014    import java.io.Reader;
    -015    import java.io.Writer;
    -016    import java.nio.charset.Charset;
    -017    
    -018    /*
    -019     Copyright (c) 2013, Michael Angstadt
    -020     All rights reserved.
    -021    
    -022     Redistribution and use in source and binary forms, with or without
    -023     modification, are permitted provided that the following conditions are met: 
    -024    
    -025     1. Redistributions of source code must retain the above copyright notice, this
    -026     list of conditions and the following disclaimer. 
    -027     2. Redistributions in binary form must reproduce the above copyright notice,
    -028     this list of conditions and the following disclaimer in the documentation
    -029     and/or other materials provided with the distribution. 
    -030    
    -031     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -032     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -033     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -034     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -035     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -036     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -037     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -038     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -039     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -040     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -041     */
    -042    
    -043    /**
    -044     * I/O helper classes.
    -045     * @author Michael Angstadt
    -046     */
    -047    public class IOUtils {
    -048            private static final Charset UTF8 = Charset.forName("UTF-8");
    -049    
    -050            /**
    -051             * Reads all the bytes from an input stream.
    -052             * @param in the input stream
    -053             * @return the bytes
    -054             * @throws IOException if there's a problem reading from the input stream
    -055             */
    -056            public static byte[] toByteArray(InputStream in) throws IOException {
    -057                    return toByteArray(in, false);
    -058            }
    -059    
    -060            /**
    -061             * Reads all the bytes from an input stream.
    -062             * @param in the input stream
    -063             * @param close true to close the input stream when done, false not to
    -064             * @return the bytes
    -065             * @throws IOException if there's a problem reading from the input stream
    -066             */
    -067            public static byte[] toByteArray(InputStream in, boolean close) throws IOException {
    -068                    try {
    -069                            ByteArrayOutputStream out = new ByteArrayOutputStream();
    -070                            byte[] buffer = new byte[4096];
    -071                            int read;
    -072                            while ((read = in.read(buffer)) != -1) {
    -073                                    out.write(buffer, 0, read);
    -074                            }
    -075                            return out.toByteArray();
    -076                    } finally {
    -077                            if (close) {
    -078                                    closeQuietly(in);
    -079                            }
    -080                    }
    -081            }
    -082    
    -083            /**
    -084             * Reads the contents of a text file.
    -085             * @param file the file to read
    -086             * @return the file contents
    -087             * @throws IOException if there's a problem reading the file
    -088             */
    -089            public static String getFileContents(File file) throws IOException {
    -090                    return getFileContents(file, Charset.defaultCharset().name());
    -091            }
    -092    
    -093            /**
    -094             * Reads the contents of a text file.
    -095             * @param file the file to read
    -096             * @param charset the character encoding of the file
    -097             * @return the file contents
    -098             * @throws IOException if there's a problem reading the file
    -099             */
    -100            public static String getFileContents(File file, String charset) throws IOException {
    -101                    byte[] bytes = toByteArray(new FileInputStream(file), true);
    -102                    return new String(bytes, charset);
    -103            }
    -104    
    -105            /**
    -106             * Closes a closeable resource, catching its {@link IOException}.
    -107             * @param closeable the resource to close (can be null)
    -108             */
    -109            public static void closeQuietly(Closeable closeable) {
    -110                    try {
    -111                            if (closeable != null) {
    -112                                    closeable.close();
    -113                            }
    -114                    } catch (IOException e) {
    -115                            //ignore
    -116                    }
    -117            }
    -118    
    -119            /**
    -120             * Creates a writer whose character encoding is set to "UTF-8".
    -121             * @param out the output stream to write to
    -122             * @return the writer
    -123             */
    -124            public static Writer utf8Writer(OutputStream out) {
    -125                    return new OutputStreamWriter(out, UTF8);
    -126            }
    -127    
    -128            /**
    -129             * Creates a writer whose character encoding is set to "UTF-8".
    -130             * @param file the file to write to
    -131             * @return the writer
    -132             * @throws FileNotFoundException if the file cannot be written to
    -133             */
    -134            public static Writer utf8Writer(File file) throws FileNotFoundException {
    -135                    return utf8Writer(file, false);
    -136            }
    -137    
    -138            /**
    -139             * Creates a writer whose character encoding is set to "UTF-8".
    -140             * @param file the file to write to
    -141             * @param append true to append to the end of the file, false to overwrite
    -142             * it
    -143             * @return the writer
    -144             * @throws FileNotFoundException if the file cannot be written to
    -145             */
    -146            public static Writer utf8Writer(File file, boolean append) throws FileNotFoundException {
    -147                    return utf8Writer(new FileOutputStream(file, append));
    -148            }
    -149    
    -150            /**
    -151             * Creates a reader whose character encoding is set to "UTF-8".
    -152             * @param in the input stream to read from
    -153             * @return the reader
    -154             */
    -155            public static Reader utf8Reader(InputStream in) {
    -156                    return new InputStreamReader(in, UTF8);
    -157            }
    -158    
    -159            /**
    -160             * Creates a reader whose character encoding is set to "UTF-8".
    -161             * @param file the file to read from
    -162             * @return the reader
    -163             * @throws FileNotFoundException if the file can't be read
    -164             */
    -165            public static Reader utf8Reader(File file) throws FileNotFoundException {
    -166                    return utf8Reader(new FileInputStream(file));
    -167            }
    -168    
    -169            private IOUtils() {
    -170                    //hide
    -171            }
    -172    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ISOFormat.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ISOFormat.html deleted file mode 100644 index df5f1182..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ISOFormat.html +++ /dev/null @@ -1,213 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.text.DateFormat;
    -004    import java.text.SimpleDateFormat;
    -005    import java.util.regex.Pattern;
    -006    
    -007    /*
    -008     Copyright (c) 2013, Michael Angstadt
    -009     All rights reserved.
    -010    
    -011     Redistribution and use in source and binary forms, with or without
    -012     modification, are permitted provided that the following conditions are met: 
    -013    
    -014     1. Redistributions of source code must retain the above copyright notice, this
    -015     list of conditions and the following disclaimer. 
    -016     2. Redistributions in binary form must reproduce the above copyright notice,
    -017     this list of conditions and the following disclaimer in the documentation
    -018     and/or other materials provided with the distribution. 
    -019    
    -020     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -021     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -022     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -023     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -024     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -025     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -026     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -027     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -028     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -029     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -030     */
    -031    
    -032    /**
    -033     * Represents the various ISO8601 date-time formats that iCalendar dates can be
    -034     * represented as.
    -035     * @author Michael Angstadt
    -036     */
    -037    public enum ISOFormat {
    -038            //@formatter:off
    -039            /**
    -040             * Example: 20120701
    -041             */
    -042            DATE_BASIC("\\d{8}","yyyyMMdd"),
    -043            
    -044            /**
    -045             * Example: 2012-07-01
    -046             */
    -047            DATE_EXTENDED("\\d{4}-\\d{2}-\\d{2}", "yyyy-MM-dd"),
    -048            
    -049            /**
    -050             * Example: 20120701T142110-0500
    -051             */
    -052            TIME_BASIC("\\d{8}T\\d{6}[-\\+]\\d{4}", "yyyyMMdd'T'HHmmssZ"),
    -053            
    -054            /**
    -055             * Example: 20120701T142110
    -056             */
    -057            TIME_BASIC_WITHOUT_TZ("\\d{8}T\\d{6}", "yyyyMMdd'T'HHmmss"),
    -058            
    -059            /**
    -060             * Example: 2012-07-01T14:21:10-05:00
    -061             */
    -062            TIME_EXTENDED("\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[-\\+]\\d{2}:\\d{2}", "yyyy-MM-dd'T'HH:mm:ssZ"),
    -063            
    -064            /**
    -065             * Example: 2012-07-01T14:21:10
    -066             */
    -067            TIME_EXTENDED_WITHOUT_TZ("\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}", "yyyy-MM-dd'T'HH:mm:ss"),
    -068            
    -069            /**
    -070             * Example: 20120701T192110Z
    -071             */
    -072            UTC_TIME_BASIC("\\d{8}T\\d{6}Z", "yyyyMMdd'T'HHmmssZ", "yyyyMMdd'T'HHmmss'Z'"),
    -073            
    -074            /**
    -075             * Example: 2012-07-01T19:21:10Z
    -076             */
    -077            UTC_TIME_EXTENDED("\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z", "yyyy-MM-dd'T'HH:mm:ssZ", "yyyy-MM-dd'T'HH:mm:ss'Z'"),
    -078            
    -079            /**
    -080             * Example: 2012-07-01T14:21:10-0500
    -081             */
    -082            HCARD_TIME_TAG("\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[-\\+]\\d{2}:?\\d{2}", "yyyy-MM-dd'T'HH:mm:ssZ");
    -083            //@formatter:on
    -084    
    -085            /**
    -086             * The regular expression pattern for the date format.
    -087             */
    -088            private final Pattern pattern;
    -089    
    -090            /**
    -091             * The {@link SimpleDateFormat} format string used for parsing dates.
    -092             */
    -093            private final String parseFormat;
    -094    
    -095            /**
    -096             * The {@link SimpleDateFormat} format string used for formatting dates.
    -097             */
    -098            private final String formatFormat;
    -099    
    -100            /**
    -101             * @param regex the regular expression for the date format
    -102             * @param format the {@link SimpleDateFormat} format string used for parsing
    -103             * and formatting dates.
    -104             */
    -105            private ISOFormat(String regex, String format) {
    -106                    this(regex, format, format);
    -107            }
    -108    
    -109            /**
    -110             * @param regex the regular expression for the date format
    -111             * @param parseFormat the {@link SimpleDateFormat} format string used for
    -112             * parsing dates.
    -113             * @param formatFormat the {@link SimpleDateFormat} format string used for
    -114             * formatting dates.
    -115             */
    -116            private ISOFormat(String regex, String parseFormat, String formatFormat) {
    -117                    pattern = Pattern.compile(regex);
    -118                    this.parseFormat = parseFormat;
    -119                    this.formatFormat = formatFormat;
    -120            }
    -121    
    -122            /**
    -123             * Determines whether a date string is in this ISO format.
    -124             * @param dateStr the date string
    -125             * @return true if it matches the date format, false if not
    -126             */
    -127            public boolean matches(String dateStr) {
    -128                    return pattern.matcher(dateStr).matches();
    -129            }
    -130    
    -131            /**
    -132             * Builds a {@link DateFormat} object for parsing dates in this ISO format.
    -133             * @return the {@link DateFormat} object
    -134             */
    -135            public DateFormat getParseDateFormat() {
    -136                    return new SimpleDateFormat(parseFormat);
    -137            }
    -138    
    -139            /**
    -140             * Builds a {@link DateFormat} object for formatting dates in this ISO
    -141             * format.
    -142             * @return the {@link DateFormat} object
    -143             */
    -144            public DateFormat getFormatDateFormat() {
    -145                    return new SimpleDateFormat(formatFormat);
    -146            }
    -147    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ListMultimap.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ListMultimap.html deleted file mode 100644 index cf9f938c..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/ListMultimap.html +++ /dev/null @@ -1,361 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Collection;
    -005    import java.util.Collections;
    -006    import java.util.Iterator;
    -007    import java.util.LinkedHashMap;
    -008    import java.util.List;
    -009    import java.util.Map;
    -010    import java.util.Set;
    -011    
    -012    /*
    -013     Copyright (c) 2013, Michael Angstadt
    -014     All rights reserved.
    -015    
    -016     Redistribution and use in source and binary forms, with or without
    -017     modification, are permitted provided that the following conditions are met: 
    -018    
    -019     1. Redistributions of source code must retain the above copyright notice, this
    -020     list of conditions and the following disclaimer. 
    -021     2. Redistributions in binary form must reproduce the above copyright notice,
    -022     this list of conditions and the following disclaimer in the documentation
    -023     and/or other materials provided with the distribution. 
    -024    
    -025     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -026     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -027     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -028     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -029     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -030     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -031     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -032     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -033     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -034     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -035     */
    -036    
    -037    /**
    -038     * A multimap that uses {@link List} objects to store its values. The internal
    -039     * {@link Map} implementation is a {@link LinkedHashMap} that uses
    -040     * {@link ArrayList} for its values.
    -041     * @author Michael Angstadt
    -042     * @param <K> the key
    -043     * @param <V> the value
    -044     */
    -045    public class ListMultimap<K, V> implements Iterable<Map.Entry<K, List<V>>> {
    -046            private final Map<K, List<V>> map;
    -047    
    -048            /**
    -049             * Creates an empty multimap.
    -050             */
    -051            public ListMultimap() {
    -052                    map = new LinkedHashMap<K, List<V>>();
    -053            }
    -054    
    -055            /**
    -056             * Creates an empty multimap.
    -057             * @param initialCapacity the initial capacity of the underlying map.
    -058             */
    -059            public ListMultimap(int initialCapacity) {
    -060                    map = new LinkedHashMap<K, List<V>>(initialCapacity);
    -061            }
    -062    
    -063            /**
    -064             * Creates a copy of an existing multimap.
    -065             * @param orig the multimap to copy from
    -066             */
    -067            public ListMultimap(ListMultimap<K, V> orig) {
    -068                    this(orig.map);
    -069            }
    -070    
    -071            /**
    -072             * Creates a copy of an existing map.
    -073             * @param orig the map to copy from
    -074             */
    -075            public ListMultimap(Map<K, List<V>> orig) {
    -076                    this();
    -077                    for (Map.Entry<K, List<V>> entry : orig.entrySet()) {
    -078                            List<V> values = new ArrayList<V>(entry.getValue());
    -079                            map.put(entry.getKey(), values);
    -080                    }
    -081            }
    -082    
    -083            /**
    -084             * Adds a value to the multimap.
    -085             * @param key the key
    -086             * @param value the value to add
    -087             */
    -088            public void put(K key, V value) {
    -089                    List<V> values = get(key, true);
    -090                    values.add(value);
    -091            }
    -092    
    -093            /**
    -094             * Adds multiple values to the multimap.
    -095             * @param key the key
    -096             * @param values the values to add
    -097             */
    -098            public void putAll(K key, Collection<V> values) {
    -099                    List<V> existingValues = get(key, true);
    -100                    existingValues.addAll(values);
    -101            }
    -102    
    -103            /**
    -104             * Gets the values associated with the key.
    -105             * @param key the key
    -106             * @return the list of values or empty list if the key doesn't exist
    -107             */
    -108            public List<V> get(K key) {
    -109                    return get(key, false);
    -110            }
    -111    
    -112            /**
    -113             * Gets the values associated with the key.
    -114             * @param key the key
    -115             * @param add true to add an empty element to the map if the key doesn't
    -116             * exist, false not to
    -117             * @return the list of values or empty list if the key doesn't exist
    -118             */
    -119            private List<V> get(K key, boolean add) {
    -120                    key = sanitizeKey(key);
    -121                    List<V> values = map.get(key);
    -122                    if (values == null) {
    -123                            values = new ArrayList<V>();
    -124                            if (add) {
    -125                                    map.put(key, values);
    -126                            }
    -127                    }
    -128                    return values;
    -129            }
    -130    
    -131            /**
    -132             * Gets the first value that's associated with a key.
    -133             * @param key the key
    -134             * @return the first value or null if the key doesn't exist
    -135             */
    -136            public V first(K key) {
    -137                    List<V> values = get(key);
    -138                    return (values == null || values.isEmpty()) ? null : values.get(0);
    -139            }
    -140    
    -141            /**
    -142             * Determines whether the given key exists.
    -143             * @param key the key
    -144             * @return true if the key exists, false if not
    -145             */
    -146            public boolean containsKey(K key) {
    -147                    return map.containsKey(key);
    -148            }
    -149    
    -150            /**
    -151             * Removes a particular value.
    -152             * @param key the key
    -153             * @param value the value to remove
    -154             * @return true if the multimap contained the value, false if not
    -155             */
    -156            public boolean remove(K key, V value) {
    -157                    List<V> values = map.get(sanitizeKey(key));
    -158                    if (values != null) {
    -159                            return values.remove(value);
    -160                    }
    -161                    return false;
    -162            }
    -163    
    -164            /**
    -165             * Removes all the values associated with a key
    -166             * @param key the key to remove
    -167             * @return the removed values or empty list if the key doesn't exist
    -168             */
    -169            public List<V> removeAll(K key) {
    -170                    List<V> removed = map.remove(sanitizeKey(key));
    -171                    return (removed == null) ? Collections.<V> emptyList() : removed;
    -172            }
    -173    
    -174            /**
    -175             * Replaces all values with the given value.
    -176             * @param key the key
    -177             * @param value the value with which to replace all existing values, or null
    -178             * to remove all values
    -179             * @return the values that were replaced
    -180             */
    -181            public List<V> replace(K key, V value) {
    -182                    List<V> replaced = removeAll(key);
    -183                    if (value != null) {
    -184                            put(key, value);
    -185                    }
    -186                    return replaced;
    -187            }
    -188    
    -189            /**
    -190             * Replaces all values with the given values.
    -191             * @param key the key
    -192             * @param values the values with which to replace all existing values
    -193             * @return the values that were replaced
    -194             */
    -195            public List<V> replace(K key, Collection<V> values) {
    -196                    List<V> replaced = removeAll(key);
    -197                    if (values != null && !values.isEmpty()) {
    -198                            putAll(key, values);
    -199                    }
    -200                    return replaced;
    -201            }
    -202    
    -203            /**
    -204             * Clears all entries from the multimap.
    -205             */
    -206            public void clear() {
    -207                    map.clear();
    -208            }
    -209    
    -210            /**
    -211             * Returns all the keys.
    -212             * @return all the keys
    -213             */
    -214            public Set<K> keySet() {
    -215                    return map.keySet();
    -216            }
    -217    
    -218            /**
    -219             * Returns all the values.
    -220             * @return all the values
    -221             */
    -222            public List<V> values() {
    -223                    List<V> list = new ArrayList<V>();
    -224                    for (List<V> value : map.values()) {
    -225                            list.addAll(value);
    -226                    }
    -227                    return list;
    -228            }
    -229    
    -230            /**
    -231             * Determines if the multimap is empty or not.
    -232             * @return true if it's empty, false if not
    -233             */
    -234            public boolean isEmpty() {
    -235                    return size() == 0;
    -236            }
    -237    
    -238            /**
    -239             * Returns the number of values in the map.
    -240             * @return the number of values
    -241             */
    -242            public int size() {
    -243                    int size = 0;
    -244                    for (List<V> value : map.values()) {
    -245                            size += value.size();
    -246                    }
    -247                    return size;
    -248            }
    -249    
    -250            /**
    -251             * Gets the underlying {@link Map} object.
    -252             * @return the underlying {@link Map} object
    -253             */
    -254            public Map<K, List<V>> getMap() {
    -255                    return map;
    -256            }
    -257    
    -258            /**
    -259             * Modifies a given key before it is used to interact with the internal map.
    -260             * This method is meant to be overridden by child classes if necessary.
    -261             * @param key the key
    -262             * @return the modified key (by default, the key is returned as-is)
    -263             */
    -264            protected K sanitizeKey(K key) {
    -265                    return key;
    -266            }
    -267    
    -268            //@Override
    -269            public Iterator<Map.Entry<K, List<V>>> iterator() {
    -270                    return map.entrySet().iterator();
    -271            }
    -272    
    -273            @Override
    -274            public String toString() {
    -275                    return map.toString();
    -276            }
    -277    
    -278            @Override
    -279            public int hashCode() {
    -280                    return map.hashCode();
    -281            }
    -282    
    -283            @Override
    -284            public boolean equals(Object obj) {
    -285                    if (this == obj)
    -286                            return true;
    -287                    if (obj == null)
    -288                            return false;
    -289                    if (getClass() != obj.getClass())
    -290                            return false;
    -291    
    -292                    ListMultimap<?, ?> other = (ListMultimap<?, ?>) obj;
    -293                    return map.equals(other.map);
    -294            }
    -295    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Period.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Period.html deleted file mode 100644 index 6612cc41..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Period.html +++ /dev/null @@ -1,202 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.Date;
    -004    
    -005    /*
    -006     Copyright (c) 2013, Michael Angstadt
    -007     All rights reserved.
    -008    
    -009     Redistribution and use in source and binary forms, with or without
    -010     modification, are permitted provided that the following conditions are met: 
    -011    
    -012     1. Redistributions of source code must retain the above copyright notice, this
    -013     list of conditions and the following disclaimer. 
    -014     2. Redistributions in binary form must reproduce the above copyright notice,
    -015     this list of conditions and the following disclaimer in the documentation
    -016     and/or other materials provided with the distribution. 
    -017    
    -018     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -019     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -020     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -021     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -022     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -023     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -024     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -025     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -026     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -027     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -028     */
    -029    
    -030    /**
    -031     * A period of time.
    -032     * @author Michael Angstadt
    -033     */
    -034    public final class Period {
    -035            private final Date startDate;
    -036            private final Date endDate;
    -037            private final Duration duration;
    -038    
    -039            /**
    -040             * Creates a new time period.
    -041             * @param startDate the start date
    -042             * @param endDate the end date
    -043             */
    -044            public Period(Date startDate, Date endDate) {
    -045                    this.startDate = copy(startDate);
    -046                    this.endDate = copy(endDate);
    -047                    duration = null;
    -048            }
    -049    
    -050            /**
    -051             * Creates a new time period.
    -052             * @param startDate the start date
    -053             * @param duration the length of time after the start date
    -054             */
    -055            public Period(Date startDate, Duration duration) {
    -056                    this.startDate = copy(startDate);
    -057                    this.duration = duration;
    -058                    endDate = null;
    -059            }
    -060    
    -061            /**
    -062             * Copies an existing time period.
    -063             * @param period the period to copy
    -064             */
    -065            public Period(Period period) {
    -066                    this.startDate = period.startDate;
    -067                    this.endDate = period.endDate;
    -068                    this.duration = period.duration;
    -069            }
    -070    
    -071            /**
    -072             * Gets the start date.
    -073             * @return the start date
    -074             */
    -075            public Date getStartDate() {
    -076                    return copy(startDate);
    -077            }
    -078    
    -079            /**
    -080             * Gets the end date. This will be null if a duration was defined.
    -081             * @return the end date or null if not set
    -082             */
    -083            public Date getEndDate() {
    -084                    return copy(endDate);
    -085            }
    -086    
    -087            /**
    -088             * Gets the length of time after the start date. This will be null if an end
    -089             * date was defined.
    -090             * @return the duration or null if not set
    -091             */
    -092            public Duration getDuration() {
    -093                    return duration;
    -094            }
    -095    
    -096            @Override
    -097            public int hashCode() {
    -098                    final int prime = 31;
    -099                    int result = 1;
    -100                    result = prime * result + ((duration == null) ? 0 : duration.hashCode());
    -101                    result = prime * result + ((endDate == null) ? 0 : endDate.hashCode());
    -102                    result = prime * result + ((startDate == null) ? 0 : startDate.hashCode());
    -103                    return result;
    -104            }
    -105    
    -106            @Override
    -107            public boolean equals(Object obj) {
    -108                    if (this == obj)
    -109                            return true;
    -110                    if (obj == null)
    -111                            return false;
    -112                    if (getClass() != obj.getClass())
    -113                            return false;
    -114                    Period other = (Period) obj;
    -115                    if (duration == null) {
    -116                            if (other.duration != null)
    -117                                    return false;
    -118                    } else if (!duration.equals(other.duration))
    -119                            return false;
    -120                    if (endDate == null) {
    -121                            if (other.endDate != null)
    -122                                    return false;
    -123                    } else if (!endDate.equals(other.endDate))
    -124                            return false;
    -125                    if (startDate == null) {
    -126                            if (other.startDate != null)
    -127                                    return false;
    -128                    } else if (!startDate.equals(other.startDate))
    -129                            return false;
    -130                    return true;
    -131            }
    -132    
    -133            private Date copy(Date date) {
    -134                    return (date == null) ? null : new Date(date.getTime());
    -135            }
    -136    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.Builder.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.Builder.html deleted file mode 100644 index f1d0731f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.Builder.html +++ /dev/null @@ -1,724 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Collections;
    -005    import java.util.Date;
    -006    import java.util.List;
    -007    import java.util.Map;
    -008    
    -009    /*
    -010     Copyright (c) 2013, Michael Angstadt
    -011     All rights reserved.
    -012    
    -013     Redistribution and use in source and binary forms, with or without
    -014     modification, are permitted provided that the following conditions are met: 
    -015    
    -016     1. Redistributions of source code must retain the above copyright notice, this
    -017     list of conditions and the following disclaimer. 
    -018     2. Redistributions in binary form must reproduce the above copyright notice,
    -019     this list of conditions and the following disclaimer in the documentation
    -020     and/or other materials provided with the distribution. 
    -021    
    -022     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -023     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -024     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -025     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -026     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -027     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -028     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -029     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -030     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -031     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -032     */
    -033    
    -034    /**
    -035     * <p>
    -036     * Represents a recurrence rule value.
    -037     * </p>
    -038     * <p>
    -039     * This class is immutable. Use the {@link Builder} object to construct a new
    -040     * instance.
    -041     * </p>
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * //&quot;bi-weekly&quot;
    -047     * Recurrence rrule = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    -048     * Recurrence copy = new Recurrence.Builder(rrule).interval(3).build();
    -049     * </pre>
    -050     * 
    -051     * </p>
    -052     * @author Michael Angstadt
    -053     * @rfc 5545 p.38-45
    -054     */
    -055    public final class Recurrence {
    -056            private final Frequency frequency;
    -057            private final Integer interval;
    -058            private final Integer count;
    -059            private final Date until;
    -060            private final boolean untilHasTime;
    -061            private final List<Integer> bySecond;
    -062            private final List<Integer> byMinute;
    -063            private final List<Integer> byHour;
    -064            private final List<Integer> byMonthDay;
    -065            private final List<Integer> byYearDay;
    -066            private final List<Integer> byWeekNo;
    -067            private final List<Integer> byMonth;
    -068            private final List<Integer> bySetPos;
    -069            private final List<DayOfWeek> byDay;
    -070            private final List<Integer> byDayPrefixes;
    -071            private final DayOfWeek workweekStarts;
    -072            private final Map<String, List<String>> xrules;
    -073    
    -074            private Recurrence(Builder builder) {
    -075                    frequency = builder.frequency;
    -076                    interval = builder.interval;
    -077                    count = builder.count;
    -078                    until = builder.until;
    -079                    untilHasTime = builder.untilHasTime;
    -080                    bySecond = Collections.unmodifiableList(builder.bySecond);
    -081                    byMinute = Collections.unmodifiableList(builder.byMinute);
    -082                    byHour = Collections.unmodifiableList(builder.byHour);
    -083                    byMonthDay = Collections.unmodifiableList(builder.byMonthDay);
    -084                    byYearDay = Collections.unmodifiableList(builder.byYearDay);
    -085                    byWeekNo = Collections.unmodifiableList(builder.byWeekNo);
    -086                    byMonth = Collections.unmodifiableList(builder.byMonth);
    -087                    bySetPos = Collections.unmodifiableList(builder.bySetPos);
    -088                    byDay = Collections.unmodifiableList(builder.byDay);
    -089                    byDayPrefixes = Collections.unmodifiableList(builder.byDayPrefixes);
    -090                    workweekStarts = builder.workweekStarts;
    -091    
    -092                    Map<String, List<String>> map = builder.xrules.getMap();
    -093                    for (String key : map.keySet()) {
    -094                            List<String> value = map.get(key);
    -095                            map.put(key, Collections.unmodifiableList(value));
    -096                    }
    -097                    xrules = Collections.unmodifiableMap(map);
    -098            }
    -099    
    -100            /**
    -101             * Gets the frequency.
    -102             * @return the frequency or null if not set
    -103             */
    -104            public Frequency getFrequency() {
    -105                    return frequency;
    -106            }
    -107    
    -108            /**
    -109             * Gets the date that the recurrence stops.
    -110             * @return the date or null if not set
    -111             */
    -112            public Date getUntil() {
    -113                    return (until == null) ? null : new Date(until.getTime());
    -114            }
    -115    
    -116            /**
    -117             * Determines whether the UNTIL date has a time component.
    -118             * @return true if it has a time component, false if it is strictly a date
    -119             */
    -120            public boolean hasTimeUntilDate() {
    -121                    return untilHasTime;
    -122            }
    -123    
    -124            /**
    -125             * Gets the number of times the rule will be repeated.
    -126             * @return the number of times to repeat the rule or null if not set
    -127             */
    -128            public Integer getCount() {
    -129                    return count;
    -130            }
    -131    
    -132            /**
    -133             * Gets how often the rule repeats, in relation to the frequency.
    -134             * @return the repetition interval or null if not set
    -135             */
    -136            public Integer getInterval() {
    -137                    return interval;
    -138            }
    -139    
    -140            /**
    -141             * Gets the BYSECOND rule part.
    -142             * @return the BYSECOND rule part or empty list if not set
    -143             */
    -144            public List<Integer> getBySecond() {
    -145                    return bySecond;
    -146            }
    -147    
    -148            /**
    -149             * Gets the BYMINUTE rule part.
    -150             * @return the BYMINUTE rule part or empty list if not set
    -151             */
    -152            public List<Integer> getByMinute() {
    -153                    return byMinute;
    -154            }
    -155    
    -156            /**
    -157             * Gets the BYHOUR rule part.
    -158             * @return the BYHOUR rule part or empty list if not set
    -159             */
    -160            public List<Integer> getByHour() {
    -161                    return byHour;
    -162            }
    -163    
    -164            /**
    -165             * Gets the day components of the BYDAY rule part.
    -166             * @return the day components of the BYDAY rule part or empty list if not
    -167             * set
    -168             */
    -169            public List<DayOfWeek> getByDay() {
    -170                    return byDay;
    -171            }
    -172    
    -173            /**
    -174             * Gets the numeric components of the BYDAY rule part.
    -175             * @return the numeric components of the BYDAY rule part or empty list if
    -176             * not set (BYDAY values without numeric components will have a "null"
    -177             * number)
    -178             */
    -179            public List<Integer> getByDayPrefixes() {
    -180                    return byDayPrefixes;
    -181            }
    -182    
    -183            /**
    -184             * Gets the BYMONTHDAY rule part.
    -185             * @return the BYMONTHDAY rule part or empty list if not set
    -186             */
    -187            public List<Integer> getByMonthDay() {
    -188                    return byMonthDay;
    -189            }
    -190    
    -191            /**
    -192             * Gets the BYYEARDAY rule part.
    -193             * @return the BYYEARDAY rule part or empty list if not set
    -194             */
    -195            public List<Integer> getByYearDay() {
    -196                    return byYearDay;
    -197            }
    -198    
    -199            /**
    -200             * Gets the BYWEEKNO rule part.
    -201             * @return the BYWEEKNO rule part or empty list if not set
    -202             */
    -203            public List<Integer> getByWeekNo() {
    -204                    return byWeekNo;
    -205            }
    -206    
    -207            /**
    -208             * Gets the BYMONTH rule part.
    -209             * @return the BYMONTH rule part or empty list if not set
    -210             */
    -211            public List<Integer> getByMonth() {
    -212                    return byMonth;
    -213            }
    -214    
    -215            /**
    -216             * Gets the BYSETPOS rule part.
    -217             * @return the BYSETPOS rule part or empty list if not set
    -218             */
    -219            public List<Integer> getBySetPos() {
    -220                    return bySetPos;
    -221            }
    -222    
    -223            /**
    -224             * Gets the day that the work week starts.
    -225             * @return the day that the work week starts or null if not set
    -226             */
    -227            public DayOfWeek getWorkweekStarts() {
    -228                    return workweekStarts;
    -229            }
    -230    
    -231            /**
    -232             * Gets the non-standard rule parts.
    -233             * @return the non-standard rule parts
    -234             */
    -235            public Map<String, List<String>> getXRules() {
    -236                    return xrules;
    -237            }
    -238    
    -239            @Override
    -240            public int hashCode() {
    -241                    final int prime = 31;
    -242                    int result = 1;
    -243                    result = prime * result + ((byDay == null) ? 0 : byDay.hashCode());
    -244                    result = prime * result + ((byDayPrefixes == null) ? 0 : byDayPrefixes.hashCode());
    -245                    result = prime * result + ((byHour == null) ? 0 : byHour.hashCode());
    -246                    result = prime * result + ((byMinute == null) ? 0 : byMinute.hashCode());
    -247                    result = prime * result + ((byMonth == null) ? 0 : byMonth.hashCode());
    -248                    result = prime * result + ((byMonthDay == null) ? 0 : byMonthDay.hashCode());
    -249                    result = prime * result + ((bySecond == null) ? 0 : bySecond.hashCode());
    -250                    result = prime * result + ((bySetPos == null) ? 0 : bySetPos.hashCode());
    -251                    result = prime * result + ((byWeekNo == null) ? 0 : byWeekNo.hashCode());
    -252                    result = prime * result + ((byYearDay == null) ? 0 : byYearDay.hashCode());
    -253                    result = prime * result + ((count == null) ? 0 : count.hashCode());
    -254                    result = prime * result + ((xrules == null) ? 0 : xrules.hashCode());
    -255                    result = prime * result + ((frequency == null) ? 0 : frequency.hashCode());
    -256                    result = prime * result + ((interval == null) ? 0 : interval.hashCode());
    -257                    result = prime * result + ((until == null) ? 0 : until.hashCode());
    -258                    result = prime * result + (untilHasTime ? 1231 : 1237);
    -259                    result = prime * result + ((workweekStarts == null) ? 0 : workweekStarts.hashCode());
    -260                    return result;
    -261            }
    -262    
    -263            @Override
    -264            public boolean equals(Object obj) {
    -265                    if (this == obj)
    -266                            return true;
    -267                    if (obj == null)
    -268                            return false;
    -269                    if (getClass() != obj.getClass())
    -270                            return false;
    -271                    Recurrence other = (Recurrence) obj;
    -272                    if (byDay == null) {
    -273                            if (other.byDay != null)
    -274                                    return false;
    -275                    } else if (!byDay.equals(other.byDay))
    -276                            return false;
    -277                    if (byDayPrefixes == null) {
    -278                            if (other.byDayPrefixes != null)
    -279                                    return false;
    -280                    } else if (!byDayPrefixes.equals(other.byDayPrefixes))
    -281                            return false;
    -282                    if (byHour == null) {
    -283                            if (other.byHour != null)
    -284                                    return false;
    -285                    } else if (!byHour.equals(other.byHour))
    -286                            return false;
    -287                    if (byMinute == null) {
    -288                            if (other.byMinute != null)
    -289                                    return false;
    -290                    } else if (!byMinute.equals(other.byMinute))
    -291                            return false;
    -292                    if (byMonth == null) {
    -293                            if (other.byMonth != null)
    -294                                    return false;
    -295                    } else if (!byMonth.equals(other.byMonth))
    -296                            return false;
    -297                    if (byMonthDay == null) {
    -298                            if (other.byMonthDay != null)
    -299                                    return false;
    -300                    } else if (!byMonthDay.equals(other.byMonthDay))
    -301                            return false;
    -302                    if (bySecond == null) {
    -303                            if (other.bySecond != null)
    -304                                    return false;
    -305                    } else if (!bySecond.equals(other.bySecond))
    -306                            return false;
    -307                    if (bySetPos == null) {
    -308                            if (other.bySetPos != null)
    -309                                    return false;
    -310                    } else if (!bySetPos.equals(other.bySetPos))
    -311                            return false;
    -312                    if (byWeekNo == null) {
    -313                            if (other.byWeekNo != null)
    -314                                    return false;
    -315                    } else if (!byWeekNo.equals(other.byWeekNo))
    -316                            return false;
    -317                    if (byYearDay == null) {
    -318                            if (other.byYearDay != null)
    -319                                    return false;
    -320                    } else if (!byYearDay.equals(other.byYearDay))
    -321                            return false;
    -322                    if (count == null) {
    -323                            if (other.count != null)
    -324                                    return false;
    -325                    } else if (!count.equals(other.count))
    -326                            return false;
    -327                    if (xrules == null) {
    -328                            if (other.xrules != null)
    -329                                    return false;
    -330                    } else if (!xrules.equals(other.xrules))
    -331                            return false;
    -332                    if (frequency != other.frequency)
    -333                            return false;
    -334                    if (interval == null) {
    -335                            if (other.interval != null)
    -336                                    return false;
    -337                    } else if (!interval.equals(other.interval))
    -338                            return false;
    -339                    if (until == null) {
    -340                            if (other.until != null)
    -341                                    return false;
    -342                    } else if (!until.equals(other.until))
    -343                            return false;
    -344                    if (untilHasTime != other.untilHasTime)
    -345                            return false;
    -346                    if (workweekStarts != other.workweekStarts)
    -347                            return false;
    -348                    return true;
    -349            }
    -350    
    -351            /**
    -352             * Represents the frequency at which a recurrence rule repeats itself.
    -353             * @author Michael Angstadt
    -354             */
    -355            public static enum Frequency {
    -356                    SECONDLY, MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY
    -357            }
    -358    
    -359            /**
    -360             * Represents each of the seven days of the week.
    -361             * @author Michael Angstadt
    -362             */
    -363            public static enum DayOfWeek {
    -364                    MONDAY("MO"), TUESDAY("TU"), WEDNESDAY("WE"), THURSDAY("TH"), FRIDAY("FR"), SATURDAY("SA"), SUNDAY("SU");
    -365    
    -366                    private final String abbr;
    -367    
    -368                    private DayOfWeek(String abbr) {
    -369                            this.abbr = abbr;
    -370                    }
    -371    
    -372                    /**
    -373                     * Gets the day's abbreviation.
    -374                     * @return the abbreviation (e.g. "MO" for Monday)
    -375                     */
    -376                    public String getAbbr() {
    -377                            return abbr;
    -378                    }
    -379    
    -380                    /**
    -381                     * Gets a day by its abbreviation.
    -382                     * @param abbr the abbreviation (case-insensitive, e.g. "MO" for Monday)
    -383                     * @return the day or null if not found
    -384                     */
    -385                    public static DayOfWeek valueOfAbbr(String abbr) {
    -386                            for (DayOfWeek day : values()) {
    -387                                    if (day.abbr.equalsIgnoreCase(abbr)) {
    -388                                            return day;
    -389                                    }
    -390                            }
    -391                            return null;
    -392                    }
    -393            }
    -394    
    -395            /**
    -396             * Constructs {@link Recurrence} objects.
    -397             * @author Michael Angstadt
    -398             */
    -399            public static class Builder {
    -400                    private Frequency frequency;
    -401                    private Integer interval;
    -402                    private Integer count;
    -403                    private Date until;
    -404                    private boolean untilHasTime;
    -405                    private List<Integer> bySecond;
    -406                    private List<Integer> byMinute;
    -407                    private List<Integer> byHour;
    -408                    private List<DayOfWeek> byDay;
    -409                    private List<Integer> byDayPrefixes;
    -410                    private List<Integer> byMonthDay;
    -411                    private List<Integer> byYearDay;
    -412                    private List<Integer> byWeekNo;
    -413                    private List<Integer> byMonth;
    -414                    private List<Integer> bySetPos;
    -415                    private DayOfWeek workweekStarts;
    -416                    private ListMultimap<String, String> xrules;
    -417    
    -418                    /**
    -419                     * Constructs a new builder.
    -420                     * @param frequency the recurrence frequency
    -421                     */
    -422                    public Builder(Frequency frequency) {
    -423                            this.frequency = frequency;
    -424                            bySecond = new ArrayList<Integer>(0);
    -425                            byMinute = new ArrayList<Integer>(0);
    -426                            byHour = new ArrayList<Integer>(0);
    -427                            byDay = new ArrayList<DayOfWeek>(0);
    -428                            byDayPrefixes = new ArrayList<Integer>(0);
    -429                            byMonthDay = new ArrayList<Integer>(0);
    -430                            byYearDay = new ArrayList<Integer>(0);
    -431                            byWeekNo = new ArrayList<Integer>(0);
    -432                            byMonth = new ArrayList<Integer>(0);
    -433                            bySetPos = new ArrayList<Integer>(0);
    -434                            xrules = new ListMultimap<String, String>(0);
    -435                    }
    -436    
    -437                    /**
    -438                     * Constructs a new builder
    -439                     * @param recur the recurrence object to copy from
    -440                     */
    -441                    public Builder(Recurrence recur) {
    -442                            frequency = recur.frequency;
    -443                            interval = recur.interval;
    -444                            count = recur.count;
    -445                            until = recur.until;
    -446                            untilHasTime = recur.untilHasTime;
    -447                            bySecond = new ArrayList<Integer>(recur.bySecond);
    -448                            byMinute = new ArrayList<Integer>(recur.byMinute);
    -449                            byHour = new ArrayList<Integer>(recur.byHour);
    -450                            byDay = new ArrayList<DayOfWeek>(recur.byDay);
    -451                            byDayPrefixes = new ArrayList<Integer>(recur.byDayPrefixes);
    -452                            byMonthDay = new ArrayList<Integer>(recur.byMonthDay);
    -453                            byYearDay = new ArrayList<Integer>(recur.byYearDay);
    -454                            byWeekNo = new ArrayList<Integer>(recur.byWeekNo);
    -455                            byMonth = new ArrayList<Integer>(recur.byMonth);
    -456                            bySetPos = new ArrayList<Integer>(recur.bySetPos);
    -457                            workweekStarts = recur.workweekStarts;
    -458                            xrules = new ListMultimap<String, String>(recur.xrules);
    -459                    }
    -460    
    -461                    /**
    -462                     * Sets the frequency
    -463                     * @param frequency the frequency
    -464                     * @return this
    -465                     */
    -466                    public Builder frequency(Frequency frequency) {
    -467                            this.frequency = frequency;
    -468                            return this;
    -469                    }
    -470    
    -471                    /**
    -472                     * Sets the date that the recurrence stops. Note that the UNTIL and
    -473                     * COUNT fields cannot both be defined within the same rule.
    -474                     * @param until the date (time component is included)
    -475                     * @return this
    -476                     */
    -477                    public Builder until(Date until) {
    -478                            return until(until, true);
    -479                    }
    -480    
    -481                    /**
    -482                     * Sets the date that the recurrence stops. Note that the UNTIL and
    -483                     * COUNT fields cannot both be defined within the same rule.
    -484                     * @param until the date
    -485                     * @param hasTime true if the date has a time component, false if it's
    -486                     * strictly a date
    -487                     * @return this
    -488                     */
    -489                    public Builder until(Date until, boolean hasTime) {
    -490                            if (until == null) {
    -491                                    this.until = null;
    -492                                    this.untilHasTime = false;
    -493                            } else {
    -494                                    this.until = new Date(until.getTime());
    -495                                    this.untilHasTime = hasTime;
    -496                            }
    -497                            return this;
    -498                    }
    -499    
    -500                    /**
    -501                     * Gets the number of times the rule will be repeated. Note that the
    -502                     * UNTIL and COUNT fields cannot both be defined within the same rule.
    -503                     * @param count the number of times to repeat the rule
    -504                     * @return this
    -505                     */
    -506                    public Builder count(Integer count) {
    -507                            this.count = count;
    -508                            return this;
    -509                    }
    -510    
    -511                    /**
    -512                     * Gets how often the rule repeats, in relation to the frequency.
    -513                     * @param interval the repetition interval
    -514                     * @return this
    -515                     */
    -516                    public Builder interval(Integer interval) {
    -517                            this.interval = interval;
    -518                            return this;
    -519                    }
    -520    
    -521                    /**
    -522                     * Adds a BYSECOND rule part.
    -523                     * @param bySecond the value to add
    -524                     * @return this
    -525                     */
    -526                    public Builder bySecond(Integer bySecond) {
    -527                            this.bySecond.add(bySecond);
    -528                            return this;
    -529                    }
    -530    
    -531                    /**
    -532                     * Adds a BYMINUTE rule part.
    -533                     * @param byMinute the value to add
    -534                     * @return this
    -535                     */
    -536                    public Builder byMinute(Integer byMinute) {
    -537                            this.byMinute.add(byMinute);
    -538                            return this;
    -539                    }
    -540    
    -541                    /**
    -542                     * Adds a BYHOUR rule part.
    -543                     * @param byHour the value to add
    -544                     * @return this
    -545                     */
    -546                    public Builder byHour(Integer byHour) {
    -547                            this.byHour.add(byHour);
    -548                            return this;
    -549                    }
    -550    
    -551                    /**
    -552                     * Adds a BYMONTHDAY rule part.
    -553                     * @param byMonthDay the value to add
    -554                     * @return this
    -555                     */
    -556                    public Builder byMonthDay(Integer byMonthDay) {
    -557                            this.byMonthDay.add(byMonthDay);
    -558                            return this;
    -559                    }
    -560    
    -561                    /**
    -562                     * Adds a BYYEARDAY rule part.
    -563                     * @param byYearDay the value to add
    -564                     * @return this
    -565                     */
    -566                    public Builder byYearDay(Integer byYearDay) {
    -567                            this.byYearDay.add(byYearDay);
    -568                            return this;
    -569                    }
    -570    
    -571                    /**
    -572                     * Adds a BYWEEKNO rule part.
    -573                     * @param byWeekNo the value to add
    -574                     * @return this
    -575                     */
    -576                    public Builder byWeekNo(Integer byWeekNo) {
    -577                            this.byWeekNo.add(byWeekNo);
    -578                            return this;
    -579                    }
    -580    
    -581                    /**
    -582                     * Adds a BYMONTH rule part.
    -583                     * @param byMonth the value to add
    -584                     * @return this
    -585                     */
    -586                    public Builder byMonth(Integer byMonth) {
    -587                            this.byMonth.add(byMonth);
    -588                            return this;
    -589                    }
    -590    
    -591                    /**
    -592                     * Adds a BYSETPOS rule part.
    -593                     * @param bySetPos the value to add
    -594                     * @return this
    -595                     */
    -596                    public Builder bySetPos(Integer bySetPos) {
    -597                            this.bySetPos.add(bySetPos);
    -598                            return this;
    -599                    }
    -600    
    -601                    /**
    -602                     * Adds a BYDAY rule part.
    -603                     * @param byDay the value to add
    -604                     * @return this
    -605                     */
    -606                    public Builder byDay(DayOfWeek byDay) {
    -607                            return byDay(null, byDay);
    -608                    }
    -609    
    -610                    /**
    -611                     * Adds a BYDAY rule part.
    -612                     * @param prefix the numeric prefix
    -613                     * @param byDay the value to add
    -614                     * @return this
    -615                     */
    -616                    public Builder byDay(Integer prefix, DayOfWeek byDay) {
    -617                            this.byDayPrefixes.add(prefix);
    -618                            this.byDay.add(byDay);
    -619                            return this;
    -620                    }
    -621    
    -622                    /**
    -623                     * Sets the day that the work week starts.
    -624                     * @param workweekStarts the day
    -625                     * @return this
    -626                     */
    -627                    public Builder workweekStarts(DayOfWeek workweekStarts) {
    -628                            this.workweekStarts = workweekStarts;
    -629                            return this;
    -630                    }
    -631    
    -632                    /**
    -633                     * Adds a non-standard rule part.
    -634                     * @param name the name
    -635                     * @param value the value or null to remove the rule part
    -636                     * @return this
    -637                     */
    -638                    public Builder xrule(String name, String value) {
    -639                            name = name.toUpperCase();
    -640    
    -641                            if (value == null) {
    -642                                    xrules.removeAll(name);
    -643                            } else {
    -644                                    xrules.put(name, value);
    -645                            }
    -646    
    -647                            return this;
    -648                    }
    -649    
    -650                    /**
    -651                     * Builds the final {@link Recurrence} object.
    -652                     * @return the object
    -653                     */
    -654                    public Recurrence build() {
    -655                            return new Recurrence(this);
    -656                    }
    -657            }
    -658    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.DayOfWeek.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.DayOfWeek.html deleted file mode 100644 index f1d0731f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.DayOfWeek.html +++ /dev/null @@ -1,724 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Collections;
    -005    import java.util.Date;
    -006    import java.util.List;
    -007    import java.util.Map;
    -008    
    -009    /*
    -010     Copyright (c) 2013, Michael Angstadt
    -011     All rights reserved.
    -012    
    -013     Redistribution and use in source and binary forms, with or without
    -014     modification, are permitted provided that the following conditions are met: 
    -015    
    -016     1. Redistributions of source code must retain the above copyright notice, this
    -017     list of conditions and the following disclaimer. 
    -018     2. Redistributions in binary form must reproduce the above copyright notice,
    -019     this list of conditions and the following disclaimer in the documentation
    -020     and/or other materials provided with the distribution. 
    -021    
    -022     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -023     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -024     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -025     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -026     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -027     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -028     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -029     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -030     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -031     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -032     */
    -033    
    -034    /**
    -035     * <p>
    -036     * Represents a recurrence rule value.
    -037     * </p>
    -038     * <p>
    -039     * This class is immutable. Use the {@link Builder} object to construct a new
    -040     * instance.
    -041     * </p>
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * //&quot;bi-weekly&quot;
    -047     * Recurrence rrule = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    -048     * Recurrence copy = new Recurrence.Builder(rrule).interval(3).build();
    -049     * </pre>
    -050     * 
    -051     * </p>
    -052     * @author Michael Angstadt
    -053     * @rfc 5545 p.38-45
    -054     */
    -055    public final class Recurrence {
    -056            private final Frequency frequency;
    -057            private final Integer interval;
    -058            private final Integer count;
    -059            private final Date until;
    -060            private final boolean untilHasTime;
    -061            private final List<Integer> bySecond;
    -062            private final List<Integer> byMinute;
    -063            private final List<Integer> byHour;
    -064            private final List<Integer> byMonthDay;
    -065            private final List<Integer> byYearDay;
    -066            private final List<Integer> byWeekNo;
    -067            private final List<Integer> byMonth;
    -068            private final List<Integer> bySetPos;
    -069            private final List<DayOfWeek> byDay;
    -070            private final List<Integer> byDayPrefixes;
    -071            private final DayOfWeek workweekStarts;
    -072            private final Map<String, List<String>> xrules;
    -073    
    -074            private Recurrence(Builder builder) {
    -075                    frequency = builder.frequency;
    -076                    interval = builder.interval;
    -077                    count = builder.count;
    -078                    until = builder.until;
    -079                    untilHasTime = builder.untilHasTime;
    -080                    bySecond = Collections.unmodifiableList(builder.bySecond);
    -081                    byMinute = Collections.unmodifiableList(builder.byMinute);
    -082                    byHour = Collections.unmodifiableList(builder.byHour);
    -083                    byMonthDay = Collections.unmodifiableList(builder.byMonthDay);
    -084                    byYearDay = Collections.unmodifiableList(builder.byYearDay);
    -085                    byWeekNo = Collections.unmodifiableList(builder.byWeekNo);
    -086                    byMonth = Collections.unmodifiableList(builder.byMonth);
    -087                    bySetPos = Collections.unmodifiableList(builder.bySetPos);
    -088                    byDay = Collections.unmodifiableList(builder.byDay);
    -089                    byDayPrefixes = Collections.unmodifiableList(builder.byDayPrefixes);
    -090                    workweekStarts = builder.workweekStarts;
    -091    
    -092                    Map<String, List<String>> map = builder.xrules.getMap();
    -093                    for (String key : map.keySet()) {
    -094                            List<String> value = map.get(key);
    -095                            map.put(key, Collections.unmodifiableList(value));
    -096                    }
    -097                    xrules = Collections.unmodifiableMap(map);
    -098            }
    -099    
    -100            /**
    -101             * Gets the frequency.
    -102             * @return the frequency or null if not set
    -103             */
    -104            public Frequency getFrequency() {
    -105                    return frequency;
    -106            }
    -107    
    -108            /**
    -109             * Gets the date that the recurrence stops.
    -110             * @return the date or null if not set
    -111             */
    -112            public Date getUntil() {
    -113                    return (until == null) ? null : new Date(until.getTime());
    -114            }
    -115    
    -116            /**
    -117             * Determines whether the UNTIL date has a time component.
    -118             * @return true if it has a time component, false if it is strictly a date
    -119             */
    -120            public boolean hasTimeUntilDate() {
    -121                    return untilHasTime;
    -122            }
    -123    
    -124            /**
    -125             * Gets the number of times the rule will be repeated.
    -126             * @return the number of times to repeat the rule or null if not set
    -127             */
    -128            public Integer getCount() {
    -129                    return count;
    -130            }
    -131    
    -132            /**
    -133             * Gets how often the rule repeats, in relation to the frequency.
    -134             * @return the repetition interval or null if not set
    -135             */
    -136            public Integer getInterval() {
    -137                    return interval;
    -138            }
    -139    
    -140            /**
    -141             * Gets the BYSECOND rule part.
    -142             * @return the BYSECOND rule part or empty list if not set
    -143             */
    -144            public List<Integer> getBySecond() {
    -145                    return bySecond;
    -146            }
    -147    
    -148            /**
    -149             * Gets the BYMINUTE rule part.
    -150             * @return the BYMINUTE rule part or empty list if not set
    -151             */
    -152            public List<Integer> getByMinute() {
    -153                    return byMinute;
    -154            }
    -155    
    -156            /**
    -157             * Gets the BYHOUR rule part.
    -158             * @return the BYHOUR rule part or empty list if not set
    -159             */
    -160            public List<Integer> getByHour() {
    -161                    return byHour;
    -162            }
    -163    
    -164            /**
    -165             * Gets the day components of the BYDAY rule part.
    -166             * @return the day components of the BYDAY rule part or empty list if not
    -167             * set
    -168             */
    -169            public List<DayOfWeek> getByDay() {
    -170                    return byDay;
    -171            }
    -172    
    -173            /**
    -174             * Gets the numeric components of the BYDAY rule part.
    -175             * @return the numeric components of the BYDAY rule part or empty list if
    -176             * not set (BYDAY values without numeric components will have a "null"
    -177             * number)
    -178             */
    -179            public List<Integer> getByDayPrefixes() {
    -180                    return byDayPrefixes;
    -181            }
    -182    
    -183            /**
    -184             * Gets the BYMONTHDAY rule part.
    -185             * @return the BYMONTHDAY rule part or empty list if not set
    -186             */
    -187            public List<Integer> getByMonthDay() {
    -188                    return byMonthDay;
    -189            }
    -190    
    -191            /**
    -192             * Gets the BYYEARDAY rule part.
    -193             * @return the BYYEARDAY rule part or empty list if not set
    -194             */
    -195            public List<Integer> getByYearDay() {
    -196                    return byYearDay;
    -197            }
    -198    
    -199            /**
    -200             * Gets the BYWEEKNO rule part.
    -201             * @return the BYWEEKNO rule part or empty list if not set
    -202             */
    -203            public List<Integer> getByWeekNo() {
    -204                    return byWeekNo;
    -205            }
    -206    
    -207            /**
    -208             * Gets the BYMONTH rule part.
    -209             * @return the BYMONTH rule part or empty list if not set
    -210             */
    -211            public List<Integer> getByMonth() {
    -212                    return byMonth;
    -213            }
    -214    
    -215            /**
    -216             * Gets the BYSETPOS rule part.
    -217             * @return the BYSETPOS rule part or empty list if not set
    -218             */
    -219            public List<Integer> getBySetPos() {
    -220                    return bySetPos;
    -221            }
    -222    
    -223            /**
    -224             * Gets the day that the work week starts.
    -225             * @return the day that the work week starts or null if not set
    -226             */
    -227            public DayOfWeek getWorkweekStarts() {
    -228                    return workweekStarts;
    -229            }
    -230    
    -231            /**
    -232             * Gets the non-standard rule parts.
    -233             * @return the non-standard rule parts
    -234             */
    -235            public Map<String, List<String>> getXRules() {
    -236                    return xrules;
    -237            }
    -238    
    -239            @Override
    -240            public int hashCode() {
    -241                    final int prime = 31;
    -242                    int result = 1;
    -243                    result = prime * result + ((byDay == null) ? 0 : byDay.hashCode());
    -244                    result = prime * result + ((byDayPrefixes == null) ? 0 : byDayPrefixes.hashCode());
    -245                    result = prime * result + ((byHour == null) ? 0 : byHour.hashCode());
    -246                    result = prime * result + ((byMinute == null) ? 0 : byMinute.hashCode());
    -247                    result = prime * result + ((byMonth == null) ? 0 : byMonth.hashCode());
    -248                    result = prime * result + ((byMonthDay == null) ? 0 : byMonthDay.hashCode());
    -249                    result = prime * result + ((bySecond == null) ? 0 : bySecond.hashCode());
    -250                    result = prime * result + ((bySetPos == null) ? 0 : bySetPos.hashCode());
    -251                    result = prime * result + ((byWeekNo == null) ? 0 : byWeekNo.hashCode());
    -252                    result = prime * result + ((byYearDay == null) ? 0 : byYearDay.hashCode());
    -253                    result = prime * result + ((count == null) ? 0 : count.hashCode());
    -254                    result = prime * result + ((xrules == null) ? 0 : xrules.hashCode());
    -255                    result = prime * result + ((frequency == null) ? 0 : frequency.hashCode());
    -256                    result = prime * result + ((interval == null) ? 0 : interval.hashCode());
    -257                    result = prime * result + ((until == null) ? 0 : until.hashCode());
    -258                    result = prime * result + (untilHasTime ? 1231 : 1237);
    -259                    result = prime * result + ((workweekStarts == null) ? 0 : workweekStarts.hashCode());
    -260                    return result;
    -261            }
    -262    
    -263            @Override
    -264            public boolean equals(Object obj) {
    -265                    if (this == obj)
    -266                            return true;
    -267                    if (obj == null)
    -268                            return false;
    -269                    if (getClass() != obj.getClass())
    -270                            return false;
    -271                    Recurrence other = (Recurrence) obj;
    -272                    if (byDay == null) {
    -273                            if (other.byDay != null)
    -274                                    return false;
    -275                    } else if (!byDay.equals(other.byDay))
    -276                            return false;
    -277                    if (byDayPrefixes == null) {
    -278                            if (other.byDayPrefixes != null)
    -279                                    return false;
    -280                    } else if (!byDayPrefixes.equals(other.byDayPrefixes))
    -281                            return false;
    -282                    if (byHour == null) {
    -283                            if (other.byHour != null)
    -284                                    return false;
    -285                    } else if (!byHour.equals(other.byHour))
    -286                            return false;
    -287                    if (byMinute == null) {
    -288                            if (other.byMinute != null)
    -289                                    return false;
    -290                    } else if (!byMinute.equals(other.byMinute))
    -291                            return false;
    -292                    if (byMonth == null) {
    -293                            if (other.byMonth != null)
    -294                                    return false;
    -295                    } else if (!byMonth.equals(other.byMonth))
    -296                            return false;
    -297                    if (byMonthDay == null) {
    -298                            if (other.byMonthDay != null)
    -299                                    return false;
    -300                    } else if (!byMonthDay.equals(other.byMonthDay))
    -301                            return false;
    -302                    if (bySecond == null) {
    -303                            if (other.bySecond != null)
    -304                                    return false;
    -305                    } else if (!bySecond.equals(other.bySecond))
    -306                            return false;
    -307                    if (bySetPos == null) {
    -308                            if (other.bySetPos != null)
    -309                                    return false;
    -310                    } else if (!bySetPos.equals(other.bySetPos))
    -311                            return false;
    -312                    if (byWeekNo == null) {
    -313                            if (other.byWeekNo != null)
    -314                                    return false;
    -315                    } else if (!byWeekNo.equals(other.byWeekNo))
    -316                            return false;
    -317                    if (byYearDay == null) {
    -318                            if (other.byYearDay != null)
    -319                                    return false;
    -320                    } else if (!byYearDay.equals(other.byYearDay))
    -321                            return false;
    -322                    if (count == null) {
    -323                            if (other.count != null)
    -324                                    return false;
    -325                    } else if (!count.equals(other.count))
    -326                            return false;
    -327                    if (xrules == null) {
    -328                            if (other.xrules != null)
    -329                                    return false;
    -330                    } else if (!xrules.equals(other.xrules))
    -331                            return false;
    -332                    if (frequency != other.frequency)
    -333                            return false;
    -334                    if (interval == null) {
    -335                            if (other.interval != null)
    -336                                    return false;
    -337                    } else if (!interval.equals(other.interval))
    -338                            return false;
    -339                    if (until == null) {
    -340                            if (other.until != null)
    -341                                    return false;
    -342                    } else if (!until.equals(other.until))
    -343                            return false;
    -344                    if (untilHasTime != other.untilHasTime)
    -345                            return false;
    -346                    if (workweekStarts != other.workweekStarts)
    -347                            return false;
    -348                    return true;
    -349            }
    -350    
    -351            /**
    -352             * Represents the frequency at which a recurrence rule repeats itself.
    -353             * @author Michael Angstadt
    -354             */
    -355            public static enum Frequency {
    -356                    SECONDLY, MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY
    -357            }
    -358    
    -359            /**
    -360             * Represents each of the seven days of the week.
    -361             * @author Michael Angstadt
    -362             */
    -363            public static enum DayOfWeek {
    -364                    MONDAY("MO"), TUESDAY("TU"), WEDNESDAY("WE"), THURSDAY("TH"), FRIDAY("FR"), SATURDAY("SA"), SUNDAY("SU");
    -365    
    -366                    private final String abbr;
    -367    
    -368                    private DayOfWeek(String abbr) {
    -369                            this.abbr = abbr;
    -370                    }
    -371    
    -372                    /**
    -373                     * Gets the day's abbreviation.
    -374                     * @return the abbreviation (e.g. "MO" for Monday)
    -375                     */
    -376                    public String getAbbr() {
    -377                            return abbr;
    -378                    }
    -379    
    -380                    /**
    -381                     * Gets a day by its abbreviation.
    -382                     * @param abbr the abbreviation (case-insensitive, e.g. "MO" for Monday)
    -383                     * @return the day or null if not found
    -384                     */
    -385                    public static DayOfWeek valueOfAbbr(String abbr) {
    -386                            for (DayOfWeek day : values()) {
    -387                                    if (day.abbr.equalsIgnoreCase(abbr)) {
    -388                                            return day;
    -389                                    }
    -390                            }
    -391                            return null;
    -392                    }
    -393            }
    -394    
    -395            /**
    -396             * Constructs {@link Recurrence} objects.
    -397             * @author Michael Angstadt
    -398             */
    -399            public static class Builder {
    -400                    private Frequency frequency;
    -401                    private Integer interval;
    -402                    private Integer count;
    -403                    private Date until;
    -404                    private boolean untilHasTime;
    -405                    private List<Integer> bySecond;
    -406                    private List<Integer> byMinute;
    -407                    private List<Integer> byHour;
    -408                    private List<DayOfWeek> byDay;
    -409                    private List<Integer> byDayPrefixes;
    -410                    private List<Integer> byMonthDay;
    -411                    private List<Integer> byYearDay;
    -412                    private List<Integer> byWeekNo;
    -413                    private List<Integer> byMonth;
    -414                    private List<Integer> bySetPos;
    -415                    private DayOfWeek workweekStarts;
    -416                    private ListMultimap<String, String> xrules;
    -417    
    -418                    /**
    -419                     * Constructs a new builder.
    -420                     * @param frequency the recurrence frequency
    -421                     */
    -422                    public Builder(Frequency frequency) {
    -423                            this.frequency = frequency;
    -424                            bySecond = new ArrayList<Integer>(0);
    -425                            byMinute = new ArrayList<Integer>(0);
    -426                            byHour = new ArrayList<Integer>(0);
    -427                            byDay = new ArrayList<DayOfWeek>(0);
    -428                            byDayPrefixes = new ArrayList<Integer>(0);
    -429                            byMonthDay = new ArrayList<Integer>(0);
    -430                            byYearDay = new ArrayList<Integer>(0);
    -431                            byWeekNo = new ArrayList<Integer>(0);
    -432                            byMonth = new ArrayList<Integer>(0);
    -433                            bySetPos = new ArrayList<Integer>(0);
    -434                            xrules = new ListMultimap<String, String>(0);
    -435                    }
    -436    
    -437                    /**
    -438                     * Constructs a new builder
    -439                     * @param recur the recurrence object to copy from
    -440                     */
    -441                    public Builder(Recurrence recur) {
    -442                            frequency = recur.frequency;
    -443                            interval = recur.interval;
    -444                            count = recur.count;
    -445                            until = recur.until;
    -446                            untilHasTime = recur.untilHasTime;
    -447                            bySecond = new ArrayList<Integer>(recur.bySecond);
    -448                            byMinute = new ArrayList<Integer>(recur.byMinute);
    -449                            byHour = new ArrayList<Integer>(recur.byHour);
    -450                            byDay = new ArrayList<DayOfWeek>(recur.byDay);
    -451                            byDayPrefixes = new ArrayList<Integer>(recur.byDayPrefixes);
    -452                            byMonthDay = new ArrayList<Integer>(recur.byMonthDay);
    -453                            byYearDay = new ArrayList<Integer>(recur.byYearDay);
    -454                            byWeekNo = new ArrayList<Integer>(recur.byWeekNo);
    -455                            byMonth = new ArrayList<Integer>(recur.byMonth);
    -456                            bySetPos = new ArrayList<Integer>(recur.bySetPos);
    -457                            workweekStarts = recur.workweekStarts;
    -458                            xrules = new ListMultimap<String, String>(recur.xrules);
    -459                    }
    -460    
    -461                    /**
    -462                     * Sets the frequency
    -463                     * @param frequency the frequency
    -464                     * @return this
    -465                     */
    -466                    public Builder frequency(Frequency frequency) {
    -467                            this.frequency = frequency;
    -468                            return this;
    -469                    }
    -470    
    -471                    /**
    -472                     * Sets the date that the recurrence stops. Note that the UNTIL and
    -473                     * COUNT fields cannot both be defined within the same rule.
    -474                     * @param until the date (time component is included)
    -475                     * @return this
    -476                     */
    -477                    public Builder until(Date until) {
    -478                            return until(until, true);
    -479                    }
    -480    
    -481                    /**
    -482                     * Sets the date that the recurrence stops. Note that the UNTIL and
    -483                     * COUNT fields cannot both be defined within the same rule.
    -484                     * @param until the date
    -485                     * @param hasTime true if the date has a time component, false if it's
    -486                     * strictly a date
    -487                     * @return this
    -488                     */
    -489                    public Builder until(Date until, boolean hasTime) {
    -490                            if (until == null) {
    -491                                    this.until = null;
    -492                                    this.untilHasTime = false;
    -493                            } else {
    -494                                    this.until = new Date(until.getTime());
    -495                                    this.untilHasTime = hasTime;
    -496                            }
    -497                            return this;
    -498                    }
    -499    
    -500                    /**
    -501                     * Gets the number of times the rule will be repeated. Note that the
    -502                     * UNTIL and COUNT fields cannot both be defined within the same rule.
    -503                     * @param count the number of times to repeat the rule
    -504                     * @return this
    -505                     */
    -506                    public Builder count(Integer count) {
    -507                            this.count = count;
    -508                            return this;
    -509                    }
    -510    
    -511                    /**
    -512                     * Gets how often the rule repeats, in relation to the frequency.
    -513                     * @param interval the repetition interval
    -514                     * @return this
    -515                     */
    -516                    public Builder interval(Integer interval) {
    -517                            this.interval = interval;
    -518                            return this;
    -519                    }
    -520    
    -521                    /**
    -522                     * Adds a BYSECOND rule part.
    -523                     * @param bySecond the value to add
    -524                     * @return this
    -525                     */
    -526                    public Builder bySecond(Integer bySecond) {
    -527                            this.bySecond.add(bySecond);
    -528                            return this;
    -529                    }
    -530    
    -531                    /**
    -532                     * Adds a BYMINUTE rule part.
    -533                     * @param byMinute the value to add
    -534                     * @return this
    -535                     */
    -536                    public Builder byMinute(Integer byMinute) {
    -537                            this.byMinute.add(byMinute);
    -538                            return this;
    -539                    }
    -540    
    -541                    /**
    -542                     * Adds a BYHOUR rule part.
    -543                     * @param byHour the value to add
    -544                     * @return this
    -545                     */
    -546                    public Builder byHour(Integer byHour) {
    -547                            this.byHour.add(byHour);
    -548                            return this;
    -549                    }
    -550    
    -551                    /**
    -552                     * Adds a BYMONTHDAY rule part.
    -553                     * @param byMonthDay the value to add
    -554                     * @return this
    -555                     */
    -556                    public Builder byMonthDay(Integer byMonthDay) {
    -557                            this.byMonthDay.add(byMonthDay);
    -558                            return this;
    -559                    }
    -560    
    -561                    /**
    -562                     * Adds a BYYEARDAY rule part.
    -563                     * @param byYearDay the value to add
    -564                     * @return this
    -565                     */
    -566                    public Builder byYearDay(Integer byYearDay) {
    -567                            this.byYearDay.add(byYearDay);
    -568                            return this;
    -569                    }
    -570    
    -571                    /**
    -572                     * Adds a BYWEEKNO rule part.
    -573                     * @param byWeekNo the value to add
    -574                     * @return this
    -575                     */
    -576                    public Builder byWeekNo(Integer byWeekNo) {
    -577                            this.byWeekNo.add(byWeekNo);
    -578                            return this;
    -579                    }
    -580    
    -581                    /**
    -582                     * Adds a BYMONTH rule part.
    -583                     * @param byMonth the value to add
    -584                     * @return this
    -585                     */
    -586                    public Builder byMonth(Integer byMonth) {
    -587                            this.byMonth.add(byMonth);
    -588                            return this;
    -589                    }
    -590    
    -591                    /**
    -592                     * Adds a BYSETPOS rule part.
    -593                     * @param bySetPos the value to add
    -594                     * @return this
    -595                     */
    -596                    public Builder bySetPos(Integer bySetPos) {
    -597                            this.bySetPos.add(bySetPos);
    -598                            return this;
    -599                    }
    -600    
    -601                    /**
    -602                     * Adds a BYDAY rule part.
    -603                     * @param byDay the value to add
    -604                     * @return this
    -605                     */
    -606                    public Builder byDay(DayOfWeek byDay) {
    -607                            return byDay(null, byDay);
    -608                    }
    -609    
    -610                    /**
    -611                     * Adds a BYDAY rule part.
    -612                     * @param prefix the numeric prefix
    -613                     * @param byDay the value to add
    -614                     * @return this
    -615                     */
    -616                    public Builder byDay(Integer prefix, DayOfWeek byDay) {
    -617                            this.byDayPrefixes.add(prefix);
    -618                            this.byDay.add(byDay);
    -619                            return this;
    -620                    }
    -621    
    -622                    /**
    -623                     * Sets the day that the work week starts.
    -624                     * @param workweekStarts the day
    -625                     * @return this
    -626                     */
    -627                    public Builder workweekStarts(DayOfWeek workweekStarts) {
    -628                            this.workweekStarts = workweekStarts;
    -629                            return this;
    -630                    }
    -631    
    -632                    /**
    -633                     * Adds a non-standard rule part.
    -634                     * @param name the name
    -635                     * @param value the value or null to remove the rule part
    -636                     * @return this
    -637                     */
    -638                    public Builder xrule(String name, String value) {
    -639                            name = name.toUpperCase();
    -640    
    -641                            if (value == null) {
    -642                                    xrules.removeAll(name);
    -643                            } else {
    -644                                    xrules.put(name, value);
    -645                            }
    -646    
    -647                            return this;
    -648                    }
    -649    
    -650                    /**
    -651                     * Builds the final {@link Recurrence} object.
    -652                     * @return the object
    -653                     */
    -654                    public Recurrence build() {
    -655                            return new Recurrence(this);
    -656                    }
    -657            }
    -658    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.Frequency.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.Frequency.html deleted file mode 100644 index f1d0731f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.Frequency.html +++ /dev/null @@ -1,724 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Collections;
    -005    import java.util.Date;
    -006    import java.util.List;
    -007    import java.util.Map;
    -008    
    -009    /*
    -010     Copyright (c) 2013, Michael Angstadt
    -011     All rights reserved.
    -012    
    -013     Redistribution and use in source and binary forms, with or without
    -014     modification, are permitted provided that the following conditions are met: 
    -015    
    -016     1. Redistributions of source code must retain the above copyright notice, this
    -017     list of conditions and the following disclaimer. 
    -018     2. Redistributions in binary form must reproduce the above copyright notice,
    -019     this list of conditions and the following disclaimer in the documentation
    -020     and/or other materials provided with the distribution. 
    -021    
    -022     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -023     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -024     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -025     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -026     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -027     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -028     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -029     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -030     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -031     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -032     */
    -033    
    -034    /**
    -035     * <p>
    -036     * Represents a recurrence rule value.
    -037     * </p>
    -038     * <p>
    -039     * This class is immutable. Use the {@link Builder} object to construct a new
    -040     * instance.
    -041     * </p>
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * //&quot;bi-weekly&quot;
    -047     * Recurrence rrule = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    -048     * Recurrence copy = new Recurrence.Builder(rrule).interval(3).build();
    -049     * </pre>
    -050     * 
    -051     * </p>
    -052     * @author Michael Angstadt
    -053     * @rfc 5545 p.38-45
    -054     */
    -055    public final class Recurrence {
    -056            private final Frequency frequency;
    -057            private final Integer interval;
    -058            private final Integer count;
    -059            private final Date until;
    -060            private final boolean untilHasTime;
    -061            private final List<Integer> bySecond;
    -062            private final List<Integer> byMinute;
    -063            private final List<Integer> byHour;
    -064            private final List<Integer> byMonthDay;
    -065            private final List<Integer> byYearDay;
    -066            private final List<Integer> byWeekNo;
    -067            private final List<Integer> byMonth;
    -068            private final List<Integer> bySetPos;
    -069            private final List<DayOfWeek> byDay;
    -070            private final List<Integer> byDayPrefixes;
    -071            private final DayOfWeek workweekStarts;
    -072            private final Map<String, List<String>> xrules;
    -073    
    -074            private Recurrence(Builder builder) {
    -075                    frequency = builder.frequency;
    -076                    interval = builder.interval;
    -077                    count = builder.count;
    -078                    until = builder.until;
    -079                    untilHasTime = builder.untilHasTime;
    -080                    bySecond = Collections.unmodifiableList(builder.bySecond);
    -081                    byMinute = Collections.unmodifiableList(builder.byMinute);
    -082                    byHour = Collections.unmodifiableList(builder.byHour);
    -083                    byMonthDay = Collections.unmodifiableList(builder.byMonthDay);
    -084                    byYearDay = Collections.unmodifiableList(builder.byYearDay);
    -085                    byWeekNo = Collections.unmodifiableList(builder.byWeekNo);
    -086                    byMonth = Collections.unmodifiableList(builder.byMonth);
    -087                    bySetPos = Collections.unmodifiableList(builder.bySetPos);
    -088                    byDay = Collections.unmodifiableList(builder.byDay);
    -089                    byDayPrefixes = Collections.unmodifiableList(builder.byDayPrefixes);
    -090                    workweekStarts = builder.workweekStarts;
    -091    
    -092                    Map<String, List<String>> map = builder.xrules.getMap();
    -093                    for (String key : map.keySet()) {
    -094                            List<String> value = map.get(key);
    -095                            map.put(key, Collections.unmodifiableList(value));
    -096                    }
    -097                    xrules = Collections.unmodifiableMap(map);
    -098            }
    -099    
    -100            /**
    -101             * Gets the frequency.
    -102             * @return the frequency or null if not set
    -103             */
    -104            public Frequency getFrequency() {
    -105                    return frequency;
    -106            }
    -107    
    -108            /**
    -109             * Gets the date that the recurrence stops.
    -110             * @return the date or null if not set
    -111             */
    -112            public Date getUntil() {
    -113                    return (until == null) ? null : new Date(until.getTime());
    -114            }
    -115    
    -116            /**
    -117             * Determines whether the UNTIL date has a time component.
    -118             * @return true if it has a time component, false if it is strictly a date
    -119             */
    -120            public boolean hasTimeUntilDate() {
    -121                    return untilHasTime;
    -122            }
    -123    
    -124            /**
    -125             * Gets the number of times the rule will be repeated.
    -126             * @return the number of times to repeat the rule or null if not set
    -127             */
    -128            public Integer getCount() {
    -129                    return count;
    -130            }
    -131    
    -132            /**
    -133             * Gets how often the rule repeats, in relation to the frequency.
    -134             * @return the repetition interval or null if not set
    -135             */
    -136            public Integer getInterval() {
    -137                    return interval;
    -138            }
    -139    
    -140            /**
    -141             * Gets the BYSECOND rule part.
    -142             * @return the BYSECOND rule part or empty list if not set
    -143             */
    -144            public List<Integer> getBySecond() {
    -145                    return bySecond;
    -146            }
    -147    
    -148            /**
    -149             * Gets the BYMINUTE rule part.
    -150             * @return the BYMINUTE rule part or empty list if not set
    -151             */
    -152            public List<Integer> getByMinute() {
    -153                    return byMinute;
    -154            }
    -155    
    -156            /**
    -157             * Gets the BYHOUR rule part.
    -158             * @return the BYHOUR rule part or empty list if not set
    -159             */
    -160            public List<Integer> getByHour() {
    -161                    return byHour;
    -162            }
    -163    
    -164            /**
    -165             * Gets the day components of the BYDAY rule part.
    -166             * @return the day components of the BYDAY rule part or empty list if not
    -167             * set
    -168             */
    -169            public List<DayOfWeek> getByDay() {
    -170                    return byDay;
    -171            }
    -172    
    -173            /**
    -174             * Gets the numeric components of the BYDAY rule part.
    -175             * @return the numeric components of the BYDAY rule part or empty list if
    -176             * not set (BYDAY values without numeric components will have a "null"
    -177             * number)
    -178             */
    -179            public List<Integer> getByDayPrefixes() {
    -180                    return byDayPrefixes;
    -181            }
    -182    
    -183            /**
    -184             * Gets the BYMONTHDAY rule part.
    -185             * @return the BYMONTHDAY rule part or empty list if not set
    -186             */
    -187            public List<Integer> getByMonthDay() {
    -188                    return byMonthDay;
    -189            }
    -190    
    -191            /**
    -192             * Gets the BYYEARDAY rule part.
    -193             * @return the BYYEARDAY rule part or empty list if not set
    -194             */
    -195            public List<Integer> getByYearDay() {
    -196                    return byYearDay;
    -197            }
    -198    
    -199            /**
    -200             * Gets the BYWEEKNO rule part.
    -201             * @return the BYWEEKNO rule part or empty list if not set
    -202             */
    -203            public List<Integer> getByWeekNo() {
    -204                    return byWeekNo;
    -205            }
    -206    
    -207            /**
    -208             * Gets the BYMONTH rule part.
    -209             * @return the BYMONTH rule part or empty list if not set
    -210             */
    -211            public List<Integer> getByMonth() {
    -212                    return byMonth;
    -213            }
    -214    
    -215            /**
    -216             * Gets the BYSETPOS rule part.
    -217             * @return the BYSETPOS rule part or empty list if not set
    -218             */
    -219            public List<Integer> getBySetPos() {
    -220                    return bySetPos;
    -221            }
    -222    
    -223            /**
    -224             * Gets the day that the work week starts.
    -225             * @return the day that the work week starts or null if not set
    -226             */
    -227            public DayOfWeek getWorkweekStarts() {
    -228                    return workweekStarts;
    -229            }
    -230    
    -231            /**
    -232             * Gets the non-standard rule parts.
    -233             * @return the non-standard rule parts
    -234             */
    -235            public Map<String, List<String>> getXRules() {
    -236                    return xrules;
    -237            }
    -238    
    -239            @Override
    -240            public int hashCode() {
    -241                    final int prime = 31;
    -242                    int result = 1;
    -243                    result = prime * result + ((byDay == null) ? 0 : byDay.hashCode());
    -244                    result = prime * result + ((byDayPrefixes == null) ? 0 : byDayPrefixes.hashCode());
    -245                    result = prime * result + ((byHour == null) ? 0 : byHour.hashCode());
    -246                    result = prime * result + ((byMinute == null) ? 0 : byMinute.hashCode());
    -247                    result = prime * result + ((byMonth == null) ? 0 : byMonth.hashCode());
    -248                    result = prime * result + ((byMonthDay == null) ? 0 : byMonthDay.hashCode());
    -249                    result = prime * result + ((bySecond == null) ? 0 : bySecond.hashCode());
    -250                    result = prime * result + ((bySetPos == null) ? 0 : bySetPos.hashCode());
    -251                    result = prime * result + ((byWeekNo == null) ? 0 : byWeekNo.hashCode());
    -252                    result = prime * result + ((byYearDay == null) ? 0 : byYearDay.hashCode());
    -253                    result = prime * result + ((count == null) ? 0 : count.hashCode());
    -254                    result = prime * result + ((xrules == null) ? 0 : xrules.hashCode());
    -255                    result = prime * result + ((frequency == null) ? 0 : frequency.hashCode());
    -256                    result = prime * result + ((interval == null) ? 0 : interval.hashCode());
    -257                    result = prime * result + ((until == null) ? 0 : until.hashCode());
    -258                    result = prime * result + (untilHasTime ? 1231 : 1237);
    -259                    result = prime * result + ((workweekStarts == null) ? 0 : workweekStarts.hashCode());
    -260                    return result;
    -261            }
    -262    
    -263            @Override
    -264            public boolean equals(Object obj) {
    -265                    if (this == obj)
    -266                            return true;
    -267                    if (obj == null)
    -268                            return false;
    -269                    if (getClass() != obj.getClass())
    -270                            return false;
    -271                    Recurrence other = (Recurrence) obj;
    -272                    if (byDay == null) {
    -273                            if (other.byDay != null)
    -274                                    return false;
    -275                    } else if (!byDay.equals(other.byDay))
    -276                            return false;
    -277                    if (byDayPrefixes == null) {
    -278                            if (other.byDayPrefixes != null)
    -279                                    return false;
    -280                    } else if (!byDayPrefixes.equals(other.byDayPrefixes))
    -281                            return false;
    -282                    if (byHour == null) {
    -283                            if (other.byHour != null)
    -284                                    return false;
    -285                    } else if (!byHour.equals(other.byHour))
    -286                            return false;
    -287                    if (byMinute == null) {
    -288                            if (other.byMinute != null)
    -289                                    return false;
    -290                    } else if (!byMinute.equals(other.byMinute))
    -291                            return false;
    -292                    if (byMonth == null) {
    -293                            if (other.byMonth != null)
    -294                                    return false;
    -295                    } else if (!byMonth.equals(other.byMonth))
    -296                            return false;
    -297                    if (byMonthDay == null) {
    -298                            if (other.byMonthDay != null)
    -299                                    return false;
    -300                    } else if (!byMonthDay.equals(other.byMonthDay))
    -301                            return false;
    -302                    if (bySecond == null) {
    -303                            if (other.bySecond != null)
    -304                                    return false;
    -305                    } else if (!bySecond.equals(other.bySecond))
    -306                            return false;
    -307                    if (bySetPos == null) {
    -308                            if (other.bySetPos != null)
    -309                                    return false;
    -310                    } else if (!bySetPos.equals(other.bySetPos))
    -311                            return false;
    -312                    if (byWeekNo == null) {
    -313                            if (other.byWeekNo != null)
    -314                                    return false;
    -315                    } else if (!byWeekNo.equals(other.byWeekNo))
    -316                            return false;
    -317                    if (byYearDay == null) {
    -318                            if (other.byYearDay != null)
    -319                                    return false;
    -320                    } else if (!byYearDay.equals(other.byYearDay))
    -321                            return false;
    -322                    if (count == null) {
    -323                            if (other.count != null)
    -324                                    return false;
    -325                    } else if (!count.equals(other.count))
    -326                            return false;
    -327                    if (xrules == null) {
    -328                            if (other.xrules != null)
    -329                                    return false;
    -330                    } else if (!xrules.equals(other.xrules))
    -331                            return false;
    -332                    if (frequency != other.frequency)
    -333                            return false;
    -334                    if (interval == null) {
    -335                            if (other.interval != null)
    -336                                    return false;
    -337                    } else if (!interval.equals(other.interval))
    -338                            return false;
    -339                    if (until == null) {
    -340                            if (other.until != null)
    -341                                    return false;
    -342                    } else if (!until.equals(other.until))
    -343                            return false;
    -344                    if (untilHasTime != other.untilHasTime)
    -345                            return false;
    -346                    if (workweekStarts != other.workweekStarts)
    -347                            return false;
    -348                    return true;
    -349            }
    -350    
    -351            /**
    -352             * Represents the frequency at which a recurrence rule repeats itself.
    -353             * @author Michael Angstadt
    -354             */
    -355            public static enum Frequency {
    -356                    SECONDLY, MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY
    -357            }
    -358    
    -359            /**
    -360             * Represents each of the seven days of the week.
    -361             * @author Michael Angstadt
    -362             */
    -363            public static enum DayOfWeek {
    -364                    MONDAY("MO"), TUESDAY("TU"), WEDNESDAY("WE"), THURSDAY("TH"), FRIDAY("FR"), SATURDAY("SA"), SUNDAY("SU");
    -365    
    -366                    private final String abbr;
    -367    
    -368                    private DayOfWeek(String abbr) {
    -369                            this.abbr = abbr;
    -370                    }
    -371    
    -372                    /**
    -373                     * Gets the day's abbreviation.
    -374                     * @return the abbreviation (e.g. "MO" for Monday)
    -375                     */
    -376                    public String getAbbr() {
    -377                            return abbr;
    -378                    }
    -379    
    -380                    /**
    -381                     * Gets a day by its abbreviation.
    -382                     * @param abbr the abbreviation (case-insensitive, e.g. "MO" for Monday)
    -383                     * @return the day or null if not found
    -384                     */
    -385                    public static DayOfWeek valueOfAbbr(String abbr) {
    -386                            for (DayOfWeek day : values()) {
    -387                                    if (day.abbr.equalsIgnoreCase(abbr)) {
    -388                                            return day;
    -389                                    }
    -390                            }
    -391                            return null;
    -392                    }
    -393            }
    -394    
    -395            /**
    -396             * Constructs {@link Recurrence} objects.
    -397             * @author Michael Angstadt
    -398             */
    -399            public static class Builder {
    -400                    private Frequency frequency;
    -401                    private Integer interval;
    -402                    private Integer count;
    -403                    private Date until;
    -404                    private boolean untilHasTime;
    -405                    private List<Integer> bySecond;
    -406                    private List<Integer> byMinute;
    -407                    private List<Integer> byHour;
    -408                    private List<DayOfWeek> byDay;
    -409                    private List<Integer> byDayPrefixes;
    -410                    private List<Integer> byMonthDay;
    -411                    private List<Integer> byYearDay;
    -412                    private List<Integer> byWeekNo;
    -413                    private List<Integer> byMonth;
    -414                    private List<Integer> bySetPos;
    -415                    private DayOfWeek workweekStarts;
    -416                    private ListMultimap<String, String> xrules;
    -417    
    -418                    /**
    -419                     * Constructs a new builder.
    -420                     * @param frequency the recurrence frequency
    -421                     */
    -422                    public Builder(Frequency frequency) {
    -423                            this.frequency = frequency;
    -424                            bySecond = new ArrayList<Integer>(0);
    -425                            byMinute = new ArrayList<Integer>(0);
    -426                            byHour = new ArrayList<Integer>(0);
    -427                            byDay = new ArrayList<DayOfWeek>(0);
    -428                            byDayPrefixes = new ArrayList<Integer>(0);
    -429                            byMonthDay = new ArrayList<Integer>(0);
    -430                            byYearDay = new ArrayList<Integer>(0);
    -431                            byWeekNo = new ArrayList<Integer>(0);
    -432                            byMonth = new ArrayList<Integer>(0);
    -433                            bySetPos = new ArrayList<Integer>(0);
    -434                            xrules = new ListMultimap<String, String>(0);
    -435                    }
    -436    
    -437                    /**
    -438                     * Constructs a new builder
    -439                     * @param recur the recurrence object to copy from
    -440                     */
    -441                    public Builder(Recurrence recur) {
    -442                            frequency = recur.frequency;
    -443                            interval = recur.interval;
    -444                            count = recur.count;
    -445                            until = recur.until;
    -446                            untilHasTime = recur.untilHasTime;
    -447                            bySecond = new ArrayList<Integer>(recur.bySecond);
    -448                            byMinute = new ArrayList<Integer>(recur.byMinute);
    -449                            byHour = new ArrayList<Integer>(recur.byHour);
    -450                            byDay = new ArrayList<DayOfWeek>(recur.byDay);
    -451                            byDayPrefixes = new ArrayList<Integer>(recur.byDayPrefixes);
    -452                            byMonthDay = new ArrayList<Integer>(recur.byMonthDay);
    -453                            byYearDay = new ArrayList<Integer>(recur.byYearDay);
    -454                            byWeekNo = new ArrayList<Integer>(recur.byWeekNo);
    -455                            byMonth = new ArrayList<Integer>(recur.byMonth);
    -456                            bySetPos = new ArrayList<Integer>(recur.bySetPos);
    -457                            workweekStarts = recur.workweekStarts;
    -458                            xrules = new ListMultimap<String, String>(recur.xrules);
    -459                    }
    -460    
    -461                    /**
    -462                     * Sets the frequency
    -463                     * @param frequency the frequency
    -464                     * @return this
    -465                     */
    -466                    public Builder frequency(Frequency frequency) {
    -467                            this.frequency = frequency;
    -468                            return this;
    -469                    }
    -470    
    -471                    /**
    -472                     * Sets the date that the recurrence stops. Note that the UNTIL and
    -473                     * COUNT fields cannot both be defined within the same rule.
    -474                     * @param until the date (time component is included)
    -475                     * @return this
    -476                     */
    -477                    public Builder until(Date until) {
    -478                            return until(until, true);
    -479                    }
    -480    
    -481                    /**
    -482                     * Sets the date that the recurrence stops. Note that the UNTIL and
    -483                     * COUNT fields cannot both be defined within the same rule.
    -484                     * @param until the date
    -485                     * @param hasTime true if the date has a time component, false if it's
    -486                     * strictly a date
    -487                     * @return this
    -488                     */
    -489                    public Builder until(Date until, boolean hasTime) {
    -490                            if (until == null) {
    -491                                    this.until = null;
    -492                                    this.untilHasTime = false;
    -493                            } else {
    -494                                    this.until = new Date(until.getTime());
    -495                                    this.untilHasTime = hasTime;
    -496                            }
    -497                            return this;
    -498                    }
    -499    
    -500                    /**
    -501                     * Gets the number of times the rule will be repeated. Note that the
    -502                     * UNTIL and COUNT fields cannot both be defined within the same rule.
    -503                     * @param count the number of times to repeat the rule
    -504                     * @return this
    -505                     */
    -506                    public Builder count(Integer count) {
    -507                            this.count = count;
    -508                            return this;
    -509                    }
    -510    
    -511                    /**
    -512                     * Gets how often the rule repeats, in relation to the frequency.
    -513                     * @param interval the repetition interval
    -514                     * @return this
    -515                     */
    -516                    public Builder interval(Integer interval) {
    -517                            this.interval = interval;
    -518                            return this;
    -519                    }
    -520    
    -521                    /**
    -522                     * Adds a BYSECOND rule part.
    -523                     * @param bySecond the value to add
    -524                     * @return this
    -525                     */
    -526                    public Builder bySecond(Integer bySecond) {
    -527                            this.bySecond.add(bySecond);
    -528                            return this;
    -529                    }
    -530    
    -531                    /**
    -532                     * Adds a BYMINUTE rule part.
    -533                     * @param byMinute the value to add
    -534                     * @return this
    -535                     */
    -536                    public Builder byMinute(Integer byMinute) {
    -537                            this.byMinute.add(byMinute);
    -538                            return this;
    -539                    }
    -540    
    -541                    /**
    -542                     * Adds a BYHOUR rule part.
    -543                     * @param byHour the value to add
    -544                     * @return this
    -545                     */
    -546                    public Builder byHour(Integer byHour) {
    -547                            this.byHour.add(byHour);
    -548                            return this;
    -549                    }
    -550    
    -551                    /**
    -552                     * Adds a BYMONTHDAY rule part.
    -553                     * @param byMonthDay the value to add
    -554                     * @return this
    -555                     */
    -556                    public Builder byMonthDay(Integer byMonthDay) {
    -557                            this.byMonthDay.add(byMonthDay);
    -558                            return this;
    -559                    }
    -560    
    -561                    /**
    -562                     * Adds a BYYEARDAY rule part.
    -563                     * @param byYearDay the value to add
    -564                     * @return this
    -565                     */
    -566                    public Builder byYearDay(Integer byYearDay) {
    -567                            this.byYearDay.add(byYearDay);
    -568                            return this;
    -569                    }
    -570    
    -571                    /**
    -572                     * Adds a BYWEEKNO rule part.
    -573                     * @param byWeekNo the value to add
    -574                     * @return this
    -575                     */
    -576                    public Builder byWeekNo(Integer byWeekNo) {
    -577                            this.byWeekNo.add(byWeekNo);
    -578                            return this;
    -579                    }
    -580    
    -581                    /**
    -582                     * Adds a BYMONTH rule part.
    -583                     * @param byMonth the value to add
    -584                     * @return this
    -585                     */
    -586                    public Builder byMonth(Integer byMonth) {
    -587                            this.byMonth.add(byMonth);
    -588                            return this;
    -589                    }
    -590    
    -591                    /**
    -592                     * Adds a BYSETPOS rule part.
    -593                     * @param bySetPos the value to add
    -594                     * @return this
    -595                     */
    -596                    public Builder bySetPos(Integer bySetPos) {
    -597                            this.bySetPos.add(bySetPos);
    -598                            return this;
    -599                    }
    -600    
    -601                    /**
    -602                     * Adds a BYDAY rule part.
    -603                     * @param byDay the value to add
    -604                     * @return this
    -605                     */
    -606                    public Builder byDay(DayOfWeek byDay) {
    -607                            return byDay(null, byDay);
    -608                    }
    -609    
    -610                    /**
    -611                     * Adds a BYDAY rule part.
    -612                     * @param prefix the numeric prefix
    -613                     * @param byDay the value to add
    -614                     * @return this
    -615                     */
    -616                    public Builder byDay(Integer prefix, DayOfWeek byDay) {
    -617                            this.byDayPrefixes.add(prefix);
    -618                            this.byDay.add(byDay);
    -619                            return this;
    -620                    }
    -621    
    -622                    /**
    -623                     * Sets the day that the work week starts.
    -624                     * @param workweekStarts the day
    -625                     * @return this
    -626                     */
    -627                    public Builder workweekStarts(DayOfWeek workweekStarts) {
    -628                            this.workweekStarts = workweekStarts;
    -629                            return this;
    -630                    }
    -631    
    -632                    /**
    -633                     * Adds a non-standard rule part.
    -634                     * @param name the name
    -635                     * @param value the value or null to remove the rule part
    -636                     * @return this
    -637                     */
    -638                    public Builder xrule(String name, String value) {
    -639                            name = name.toUpperCase();
    -640    
    -641                            if (value == null) {
    -642                                    xrules.removeAll(name);
    -643                            } else {
    -644                                    xrules.put(name, value);
    -645                            }
    -646    
    -647                            return this;
    -648                    }
    -649    
    -650                    /**
    -651                     * Builds the final {@link Recurrence} object.
    -652                     * @return the object
    -653                     */
    -654                    public Recurrence build() {
    -655                            return new Recurrence(this);
    -656                    }
    -657            }
    -658    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.html deleted file mode 100644 index f1d0731f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/Recurrence.html +++ /dev/null @@ -1,724 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.ArrayList;
    -004    import java.util.Collections;
    -005    import java.util.Date;
    -006    import java.util.List;
    -007    import java.util.Map;
    -008    
    -009    /*
    -010     Copyright (c) 2013, Michael Angstadt
    -011     All rights reserved.
    -012    
    -013     Redistribution and use in source and binary forms, with or without
    -014     modification, are permitted provided that the following conditions are met: 
    -015    
    -016     1. Redistributions of source code must retain the above copyright notice, this
    -017     list of conditions and the following disclaimer. 
    -018     2. Redistributions in binary form must reproduce the above copyright notice,
    -019     this list of conditions and the following disclaimer in the documentation
    -020     and/or other materials provided with the distribution. 
    -021    
    -022     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -023     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -024     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -025     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -026     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -027     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -028     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -029     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -030     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -031     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -032     */
    -033    
    -034    /**
    -035     * <p>
    -036     * Represents a recurrence rule value.
    -037     * </p>
    -038     * <p>
    -039     * This class is immutable. Use the {@link Builder} object to construct a new
    -040     * instance.
    -041     * </p>
    -042     * <p>
    -043     * <b>Examples:</b>
    -044     * 
    -045     * <pre class="brush:java">
    -046     * //&quot;bi-weekly&quot;
    -047     * Recurrence rrule = new Recurrence.Builder(Frequency.WEEKLY).interval(2).build();
    -048     * Recurrence copy = new Recurrence.Builder(rrule).interval(3).build();
    -049     * </pre>
    -050     * 
    -051     * </p>
    -052     * @author Michael Angstadt
    -053     * @rfc 5545 p.38-45
    -054     */
    -055    public final class Recurrence {
    -056            private final Frequency frequency;
    -057            private final Integer interval;
    -058            private final Integer count;
    -059            private final Date until;
    -060            private final boolean untilHasTime;
    -061            private final List<Integer> bySecond;
    -062            private final List<Integer> byMinute;
    -063            private final List<Integer> byHour;
    -064            private final List<Integer> byMonthDay;
    -065            private final List<Integer> byYearDay;
    -066            private final List<Integer> byWeekNo;
    -067            private final List<Integer> byMonth;
    -068            private final List<Integer> bySetPos;
    -069            private final List<DayOfWeek> byDay;
    -070            private final List<Integer> byDayPrefixes;
    -071            private final DayOfWeek workweekStarts;
    -072            private final Map<String, List<String>> xrules;
    -073    
    -074            private Recurrence(Builder builder) {
    -075                    frequency = builder.frequency;
    -076                    interval = builder.interval;
    -077                    count = builder.count;
    -078                    until = builder.until;
    -079                    untilHasTime = builder.untilHasTime;
    -080                    bySecond = Collections.unmodifiableList(builder.bySecond);
    -081                    byMinute = Collections.unmodifiableList(builder.byMinute);
    -082                    byHour = Collections.unmodifiableList(builder.byHour);
    -083                    byMonthDay = Collections.unmodifiableList(builder.byMonthDay);
    -084                    byYearDay = Collections.unmodifiableList(builder.byYearDay);
    -085                    byWeekNo = Collections.unmodifiableList(builder.byWeekNo);
    -086                    byMonth = Collections.unmodifiableList(builder.byMonth);
    -087                    bySetPos = Collections.unmodifiableList(builder.bySetPos);
    -088                    byDay = Collections.unmodifiableList(builder.byDay);
    -089                    byDayPrefixes = Collections.unmodifiableList(builder.byDayPrefixes);
    -090                    workweekStarts = builder.workweekStarts;
    -091    
    -092                    Map<String, List<String>> map = builder.xrules.getMap();
    -093                    for (String key : map.keySet()) {
    -094                            List<String> value = map.get(key);
    -095                            map.put(key, Collections.unmodifiableList(value));
    -096                    }
    -097                    xrules = Collections.unmodifiableMap(map);
    -098            }
    -099    
    -100            /**
    -101             * Gets the frequency.
    -102             * @return the frequency or null if not set
    -103             */
    -104            public Frequency getFrequency() {
    -105                    return frequency;
    -106            }
    -107    
    -108            /**
    -109             * Gets the date that the recurrence stops.
    -110             * @return the date or null if not set
    -111             */
    -112            public Date getUntil() {
    -113                    return (until == null) ? null : new Date(until.getTime());
    -114            }
    -115    
    -116            /**
    -117             * Determines whether the UNTIL date has a time component.
    -118             * @return true if it has a time component, false if it is strictly a date
    -119             */
    -120            public boolean hasTimeUntilDate() {
    -121                    return untilHasTime;
    -122            }
    -123    
    -124            /**
    -125             * Gets the number of times the rule will be repeated.
    -126             * @return the number of times to repeat the rule or null if not set
    -127             */
    -128            public Integer getCount() {
    -129                    return count;
    -130            }
    -131    
    -132            /**
    -133             * Gets how often the rule repeats, in relation to the frequency.
    -134             * @return the repetition interval or null if not set
    -135             */
    -136            public Integer getInterval() {
    -137                    return interval;
    -138            }
    -139    
    -140            /**
    -141             * Gets the BYSECOND rule part.
    -142             * @return the BYSECOND rule part or empty list if not set
    -143             */
    -144            public List<Integer> getBySecond() {
    -145                    return bySecond;
    -146            }
    -147    
    -148            /**
    -149             * Gets the BYMINUTE rule part.
    -150             * @return the BYMINUTE rule part or empty list if not set
    -151             */
    -152            public List<Integer> getByMinute() {
    -153                    return byMinute;
    -154            }
    -155    
    -156            /**
    -157             * Gets the BYHOUR rule part.
    -158             * @return the BYHOUR rule part or empty list if not set
    -159             */
    -160            public List<Integer> getByHour() {
    -161                    return byHour;
    -162            }
    -163    
    -164            /**
    -165             * Gets the day components of the BYDAY rule part.
    -166             * @return the day components of the BYDAY rule part or empty list if not
    -167             * set
    -168             */
    -169            public List<DayOfWeek> getByDay() {
    -170                    return byDay;
    -171            }
    -172    
    -173            /**
    -174             * Gets the numeric components of the BYDAY rule part.
    -175             * @return the numeric components of the BYDAY rule part or empty list if
    -176             * not set (BYDAY values without numeric components will have a "null"
    -177             * number)
    -178             */
    -179            public List<Integer> getByDayPrefixes() {
    -180                    return byDayPrefixes;
    -181            }
    -182    
    -183            /**
    -184             * Gets the BYMONTHDAY rule part.
    -185             * @return the BYMONTHDAY rule part or empty list if not set
    -186             */
    -187            public List<Integer> getByMonthDay() {
    -188                    return byMonthDay;
    -189            }
    -190    
    -191            /**
    -192             * Gets the BYYEARDAY rule part.
    -193             * @return the BYYEARDAY rule part or empty list if not set
    -194             */
    -195            public List<Integer> getByYearDay() {
    -196                    return byYearDay;
    -197            }
    -198    
    -199            /**
    -200             * Gets the BYWEEKNO rule part.
    -201             * @return the BYWEEKNO rule part or empty list if not set
    -202             */
    -203            public List<Integer> getByWeekNo() {
    -204                    return byWeekNo;
    -205            }
    -206    
    -207            /**
    -208             * Gets the BYMONTH rule part.
    -209             * @return the BYMONTH rule part or empty list if not set
    -210             */
    -211            public List<Integer> getByMonth() {
    -212                    return byMonth;
    -213            }
    -214    
    -215            /**
    -216             * Gets the BYSETPOS rule part.
    -217             * @return the BYSETPOS rule part or empty list if not set
    -218             */
    -219            public List<Integer> getBySetPos() {
    -220                    return bySetPos;
    -221            }
    -222    
    -223            /**
    -224             * Gets the day that the work week starts.
    -225             * @return the day that the work week starts or null if not set
    -226             */
    -227            public DayOfWeek getWorkweekStarts() {
    -228                    return workweekStarts;
    -229            }
    -230    
    -231            /**
    -232             * Gets the non-standard rule parts.
    -233             * @return the non-standard rule parts
    -234             */
    -235            public Map<String, List<String>> getXRules() {
    -236                    return xrules;
    -237            }
    -238    
    -239            @Override
    -240            public int hashCode() {
    -241                    final int prime = 31;
    -242                    int result = 1;
    -243                    result = prime * result + ((byDay == null) ? 0 : byDay.hashCode());
    -244                    result = prime * result + ((byDayPrefixes == null) ? 0 : byDayPrefixes.hashCode());
    -245                    result = prime * result + ((byHour == null) ? 0 : byHour.hashCode());
    -246                    result = prime * result + ((byMinute == null) ? 0 : byMinute.hashCode());
    -247                    result = prime * result + ((byMonth == null) ? 0 : byMonth.hashCode());
    -248                    result = prime * result + ((byMonthDay == null) ? 0 : byMonthDay.hashCode());
    -249                    result = prime * result + ((bySecond == null) ? 0 : bySecond.hashCode());
    -250                    result = prime * result + ((bySetPos == null) ? 0 : bySetPos.hashCode());
    -251                    result = prime * result + ((byWeekNo == null) ? 0 : byWeekNo.hashCode());
    -252                    result = prime * result + ((byYearDay == null) ? 0 : byYearDay.hashCode());
    -253                    result = prime * result + ((count == null) ? 0 : count.hashCode());
    -254                    result = prime * result + ((xrules == null) ? 0 : xrules.hashCode());
    -255                    result = prime * result + ((frequency == null) ? 0 : frequency.hashCode());
    -256                    result = prime * result + ((interval == null) ? 0 : interval.hashCode());
    -257                    result = prime * result + ((until == null) ? 0 : until.hashCode());
    -258                    result = prime * result + (untilHasTime ? 1231 : 1237);
    -259                    result = prime * result + ((workweekStarts == null) ? 0 : workweekStarts.hashCode());
    -260                    return result;
    -261            }
    -262    
    -263            @Override
    -264            public boolean equals(Object obj) {
    -265                    if (this == obj)
    -266                            return true;
    -267                    if (obj == null)
    -268                            return false;
    -269                    if (getClass() != obj.getClass())
    -270                            return false;
    -271                    Recurrence other = (Recurrence) obj;
    -272                    if (byDay == null) {
    -273                            if (other.byDay != null)
    -274                                    return false;
    -275                    } else if (!byDay.equals(other.byDay))
    -276                            return false;
    -277                    if (byDayPrefixes == null) {
    -278                            if (other.byDayPrefixes != null)
    -279                                    return false;
    -280                    } else if (!byDayPrefixes.equals(other.byDayPrefixes))
    -281                            return false;
    -282                    if (byHour == null) {
    -283                            if (other.byHour != null)
    -284                                    return false;
    -285                    } else if (!byHour.equals(other.byHour))
    -286                            return false;
    -287                    if (byMinute == null) {
    -288                            if (other.byMinute != null)
    -289                                    return false;
    -290                    } else if (!byMinute.equals(other.byMinute))
    -291                            return false;
    -292                    if (byMonth == null) {
    -293                            if (other.byMonth != null)
    -294                                    return false;
    -295                    } else if (!byMonth.equals(other.byMonth))
    -296                            return false;
    -297                    if (byMonthDay == null) {
    -298                            if (other.byMonthDay != null)
    -299                                    return false;
    -300                    } else if (!byMonthDay.equals(other.byMonthDay))
    -301                            return false;
    -302                    if (bySecond == null) {
    -303                            if (other.bySecond != null)
    -304                                    return false;
    -305                    } else if (!bySecond.equals(other.bySecond))
    -306                            return false;
    -307                    if (bySetPos == null) {
    -308                            if (other.bySetPos != null)
    -309                                    return false;
    -310                    } else if (!bySetPos.equals(other.bySetPos))
    -311                            return false;
    -312                    if (byWeekNo == null) {
    -313                            if (other.byWeekNo != null)
    -314                                    return false;
    -315                    } else if (!byWeekNo.equals(other.byWeekNo))
    -316                            return false;
    -317                    if (byYearDay == null) {
    -318                            if (other.byYearDay != null)
    -319                                    return false;
    -320                    } else if (!byYearDay.equals(other.byYearDay))
    -321                            return false;
    -322                    if (count == null) {
    -323                            if (other.count != null)
    -324                                    return false;
    -325                    } else if (!count.equals(other.count))
    -326                            return false;
    -327                    if (xrules == null) {
    -328                            if (other.xrules != null)
    -329                                    return false;
    -330                    } else if (!xrules.equals(other.xrules))
    -331                            return false;
    -332                    if (frequency != other.frequency)
    -333                            return false;
    -334                    if (interval == null) {
    -335                            if (other.interval != null)
    -336                                    return false;
    -337                    } else if (!interval.equals(other.interval))
    -338                            return false;
    -339                    if (until == null) {
    -340                            if (other.until != null)
    -341                                    return false;
    -342                    } else if (!until.equals(other.until))
    -343                            return false;
    -344                    if (untilHasTime != other.untilHasTime)
    -345                            return false;
    -346                    if (workweekStarts != other.workweekStarts)
    -347                            return false;
    -348                    return true;
    -349            }
    -350    
    -351            /**
    -352             * Represents the frequency at which a recurrence rule repeats itself.
    -353             * @author Michael Angstadt
    -354             */
    -355            public static enum Frequency {
    -356                    SECONDLY, MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY
    -357            }
    -358    
    -359            /**
    -360             * Represents each of the seven days of the week.
    -361             * @author Michael Angstadt
    -362             */
    -363            public static enum DayOfWeek {
    -364                    MONDAY("MO"), TUESDAY("TU"), WEDNESDAY("WE"), THURSDAY("TH"), FRIDAY("FR"), SATURDAY("SA"), SUNDAY("SU");
    -365    
    -366                    private final String abbr;
    -367    
    -368                    private DayOfWeek(String abbr) {
    -369                            this.abbr = abbr;
    -370                    }
    -371    
    -372                    /**
    -373                     * Gets the day's abbreviation.
    -374                     * @return the abbreviation (e.g. "MO" for Monday)
    -375                     */
    -376                    public String getAbbr() {
    -377                            return abbr;
    -378                    }
    -379    
    -380                    /**
    -381                     * Gets a day by its abbreviation.
    -382                     * @param abbr the abbreviation (case-insensitive, e.g. "MO" for Monday)
    -383                     * @return the day or null if not found
    -384                     */
    -385                    public static DayOfWeek valueOfAbbr(String abbr) {
    -386                            for (DayOfWeek day : values()) {
    -387                                    if (day.abbr.equalsIgnoreCase(abbr)) {
    -388                                            return day;
    -389                                    }
    -390                            }
    -391                            return null;
    -392                    }
    -393            }
    -394    
    -395            /**
    -396             * Constructs {@link Recurrence} objects.
    -397             * @author Michael Angstadt
    -398             */
    -399            public static class Builder {
    -400                    private Frequency frequency;
    -401                    private Integer interval;
    -402                    private Integer count;
    -403                    private Date until;
    -404                    private boolean untilHasTime;
    -405                    private List<Integer> bySecond;
    -406                    private List<Integer> byMinute;
    -407                    private List<Integer> byHour;
    -408                    private List<DayOfWeek> byDay;
    -409                    private List<Integer> byDayPrefixes;
    -410                    private List<Integer> byMonthDay;
    -411                    private List<Integer> byYearDay;
    -412                    private List<Integer> byWeekNo;
    -413                    private List<Integer> byMonth;
    -414                    private List<Integer> bySetPos;
    -415                    private DayOfWeek workweekStarts;
    -416                    private ListMultimap<String, String> xrules;
    -417    
    -418                    /**
    -419                     * Constructs a new builder.
    -420                     * @param frequency the recurrence frequency
    -421                     */
    -422                    public Builder(Frequency frequency) {
    -423                            this.frequency = frequency;
    -424                            bySecond = new ArrayList<Integer>(0);
    -425                            byMinute = new ArrayList<Integer>(0);
    -426                            byHour = new ArrayList<Integer>(0);
    -427                            byDay = new ArrayList<DayOfWeek>(0);
    -428                            byDayPrefixes = new ArrayList<Integer>(0);
    -429                            byMonthDay = new ArrayList<Integer>(0);
    -430                            byYearDay = new ArrayList<Integer>(0);
    -431                            byWeekNo = new ArrayList<Integer>(0);
    -432                            byMonth = new ArrayList<Integer>(0);
    -433                            bySetPos = new ArrayList<Integer>(0);
    -434                            xrules = new ListMultimap<String, String>(0);
    -435                    }
    -436    
    -437                    /**
    -438                     * Constructs a new builder
    -439                     * @param recur the recurrence object to copy from
    -440                     */
    -441                    public Builder(Recurrence recur) {
    -442                            frequency = recur.frequency;
    -443                            interval = recur.interval;
    -444                            count = recur.count;
    -445                            until = recur.until;
    -446                            untilHasTime = recur.untilHasTime;
    -447                            bySecond = new ArrayList<Integer>(recur.bySecond);
    -448                            byMinute = new ArrayList<Integer>(recur.byMinute);
    -449                            byHour = new ArrayList<Integer>(recur.byHour);
    -450                            byDay = new ArrayList<DayOfWeek>(recur.byDay);
    -451                            byDayPrefixes = new ArrayList<Integer>(recur.byDayPrefixes);
    -452                            byMonthDay = new ArrayList<Integer>(recur.byMonthDay);
    -453                            byYearDay = new ArrayList<Integer>(recur.byYearDay);
    -454                            byWeekNo = new ArrayList<Integer>(recur.byWeekNo);
    -455                            byMonth = new ArrayList<Integer>(recur.byMonth);
    -456                            bySetPos = new ArrayList<Integer>(recur.bySetPos);
    -457                            workweekStarts = recur.workweekStarts;
    -458                            xrules = new ListMultimap<String, String>(recur.xrules);
    -459                    }
    -460    
    -461                    /**
    -462                     * Sets the frequency
    -463                     * @param frequency the frequency
    -464                     * @return this
    -465                     */
    -466                    public Builder frequency(Frequency frequency) {
    -467                            this.frequency = frequency;
    -468                            return this;
    -469                    }
    -470    
    -471                    /**
    -472                     * Sets the date that the recurrence stops. Note that the UNTIL and
    -473                     * COUNT fields cannot both be defined within the same rule.
    -474                     * @param until the date (time component is included)
    -475                     * @return this
    -476                     */
    -477                    public Builder until(Date until) {
    -478                            return until(until, true);
    -479                    }
    -480    
    -481                    /**
    -482                     * Sets the date that the recurrence stops. Note that the UNTIL and
    -483                     * COUNT fields cannot both be defined within the same rule.
    -484                     * @param until the date
    -485                     * @param hasTime true if the date has a time component, false if it's
    -486                     * strictly a date
    -487                     * @return this
    -488                     */
    -489                    public Builder until(Date until, boolean hasTime) {
    -490                            if (until == null) {
    -491                                    this.until = null;
    -492                                    this.untilHasTime = false;
    -493                            } else {
    -494                                    this.until = new Date(until.getTime());
    -495                                    this.untilHasTime = hasTime;
    -496                            }
    -497                            return this;
    -498                    }
    -499    
    -500                    /**
    -501                     * Gets the number of times the rule will be repeated. Note that the
    -502                     * UNTIL and COUNT fields cannot both be defined within the same rule.
    -503                     * @param count the number of times to repeat the rule
    -504                     * @return this
    -505                     */
    -506                    public Builder count(Integer count) {
    -507                            this.count = count;
    -508                            return this;
    -509                    }
    -510    
    -511                    /**
    -512                     * Gets how often the rule repeats, in relation to the frequency.
    -513                     * @param interval the repetition interval
    -514                     * @return this
    -515                     */
    -516                    public Builder interval(Integer interval) {
    -517                            this.interval = interval;
    -518                            return this;
    -519                    }
    -520    
    -521                    /**
    -522                     * Adds a BYSECOND rule part.
    -523                     * @param bySecond the value to add
    -524                     * @return this
    -525                     */
    -526                    public Builder bySecond(Integer bySecond) {
    -527                            this.bySecond.add(bySecond);
    -528                            return this;
    -529                    }
    -530    
    -531                    /**
    -532                     * Adds a BYMINUTE rule part.
    -533                     * @param byMinute the value to add
    -534                     * @return this
    -535                     */
    -536                    public Builder byMinute(Integer byMinute) {
    -537                            this.byMinute.add(byMinute);
    -538                            return this;
    -539                    }
    -540    
    -541                    /**
    -542                     * Adds a BYHOUR rule part.
    -543                     * @param byHour the value to add
    -544                     * @return this
    -545                     */
    -546                    public Builder byHour(Integer byHour) {
    -547                            this.byHour.add(byHour);
    -548                            return this;
    -549                    }
    -550    
    -551                    /**
    -552                     * Adds a BYMONTHDAY rule part.
    -553                     * @param byMonthDay the value to add
    -554                     * @return this
    -555                     */
    -556                    public Builder byMonthDay(Integer byMonthDay) {
    -557                            this.byMonthDay.add(byMonthDay);
    -558                            return this;
    -559                    }
    -560    
    -561                    /**
    -562                     * Adds a BYYEARDAY rule part.
    -563                     * @param byYearDay the value to add
    -564                     * @return this
    -565                     */
    -566                    public Builder byYearDay(Integer byYearDay) {
    -567                            this.byYearDay.add(byYearDay);
    -568                            return this;
    -569                    }
    -570    
    -571                    /**
    -572                     * Adds a BYWEEKNO rule part.
    -573                     * @param byWeekNo the value to add
    -574                     * @return this
    -575                     */
    -576                    public Builder byWeekNo(Integer byWeekNo) {
    -577                            this.byWeekNo.add(byWeekNo);
    -578                            return this;
    -579                    }
    -580    
    -581                    /**
    -582                     * Adds a BYMONTH rule part.
    -583                     * @param byMonth the value to add
    -584                     * @return this
    -585                     */
    -586                    public Builder byMonth(Integer byMonth) {
    -587                            this.byMonth.add(byMonth);
    -588                            return this;
    -589                    }
    -590    
    -591                    /**
    -592                     * Adds a BYSETPOS rule part.
    -593                     * @param bySetPos the value to add
    -594                     * @return this
    -595                     */
    -596                    public Builder bySetPos(Integer bySetPos) {
    -597                            this.bySetPos.add(bySetPos);
    -598                            return this;
    -599                    }
    -600    
    -601                    /**
    -602                     * Adds a BYDAY rule part.
    -603                     * @param byDay the value to add
    -604                     * @return this
    -605                     */
    -606                    public Builder byDay(DayOfWeek byDay) {
    -607                            return byDay(null, byDay);
    -608                    }
    -609    
    -610                    /**
    -611                     * Adds a BYDAY rule part.
    -612                     * @param prefix the numeric prefix
    -613                     * @param byDay the value to add
    -614                     * @return this
    -615                     */
    -616                    public Builder byDay(Integer prefix, DayOfWeek byDay) {
    -617                            this.byDayPrefixes.add(prefix);
    -618                            this.byDay.add(byDay);
    -619                            return this;
    -620                    }
    -621    
    -622                    /**
    -623                     * Sets the day that the work week starts.
    -624                     * @param workweekStarts the day
    -625                     * @return this
    -626                     */
    -627                    public Builder workweekStarts(DayOfWeek workweekStarts) {
    -628                            this.workweekStarts = workweekStarts;
    -629                            return this;
    -630                    }
    -631    
    -632                    /**
    -633                     * Adds a non-standard rule part.
    -634                     * @param name the name
    -635                     * @param value the value or null to remove the rule part
    -636                     * @return this
    -637                     */
    -638                    public Builder xrule(String name, String value) {
    -639                            name = name.toUpperCase();
    -640    
    -641                            if (value == null) {
    -642                                    xrules.removeAll(name);
    -643                            } else {
    -644                                    xrules.put(name, value);
    -645                            }
    -646    
    -647                            return this;
    -648                    }
    -649    
    -650                    /**
    -651                     * Builds the final {@link Recurrence} object.
    -652                     * @return the object
    -653                     */
    -654                    public Recurrence build() {
    -655                            return new Recurrence(this);
    -656                    }
    -657            }
    -658    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.JoinCallback.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.JoinCallback.html deleted file mode 100644 index 482110b1..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.JoinCallback.html +++ /dev/null @@ -1,204 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.Collection;
    -004    import java.util.Map;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Contains miscellaneous string utilities.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class StringUtils {
    -036            /**
    -037             * The local computer's newline character sequence.
    -038             */
    -039            public static final String NEWLINE = System.getProperty("line.separator");
    -040    
    -041            /**
    -042             * Joins a collection of values into a delimited list.
    -043             * @param collection the collection of values
    -044             * @param delimiter the delimiter (e.g. ",")
    -045             * @return the final string
    -046             */
    -047            public static <T> String join(Collection<T> collection, String delimiter) {
    -048                    StringBuilder sb = new StringBuilder();
    -049                    join(collection, delimiter, sb);
    -050                    return sb.toString();
    -051            }
    -052    
    -053            /**
    -054             * Joins a collection of values into a delimited list.
    -055             * @param collection the collection of values
    -056             * @param delimiter the delimiter (e.g. ",")
    -057             * @param sb the string builder to append onto
    -058             */
    -059            public static <T> void join(Collection<T> collection, String delimiter, StringBuilder sb) {
    -060                    join(collection, delimiter, sb, new JoinCallback<T>() {
    -061                            public void handle(StringBuilder sb, T value) {
    -062                                    sb.append(value);
    -063                            }
    -064                    });
    -065            }
    -066    
    -067            /**
    -068             * Joins a collection of values into a delimited list.
    -069             * @param collection the collection of values
    -070             * @param delimiter the delimiter (e.g. ",")
    -071             * @param join callback function to call on every element in the collection
    -072             * @return the final string
    -073             */
    -074            public static <T> String join(Collection<T> collection, String delimiter, JoinCallback<T> join) {
    -075                    StringBuilder sb = new StringBuilder();
    -076                    join(collection, delimiter, sb, join);
    -077                    return sb.toString();
    -078            }
    -079    
    -080            /**
    -081             * Joins a collection of values into a delimited list.
    -082             * @param collection the collection of values
    -083             * @param delimiter the delimiter (e.g. ",")
    -084             * @param sb the string builder to append onto
    -085             * @param join callback function to call on every element in the collection
    -086             */
    -087            public static <T> void join(Collection<T> collection, String delimiter, StringBuilder sb, JoinCallback<T> join) {
    -088                    boolean first = true;
    -089                    for (T element : collection) {
    -090                            if (first) {
    -091                                    first = false;
    -092                            } else {
    -093                                    sb.append(delimiter);
    -094                            }
    -095                            join.handle(sb, element);
    -096                    }
    -097            }
    -098    
    -099            /**
    -100             * Joins a map into a delimited list.
    -101             * @param map the map
    -102             * @param delimiter the delimiter (e.g. ",")
    -103             * @param join callback function to call on every element in the collection
    -104             * @return the final string
    -105             */
    -106            public static <K, V> String join(Map<K, V> map, String delimiter, final JoinMapCallback<K, V> join) {
    -107                    return join(map.entrySet(), delimiter, new JoinCallback<Map.Entry<K, V>>() {
    -108                            public void handle(StringBuilder sb, Map.Entry<K, V> entry) {
    -109                                    join.handle(sb, entry.getKey(), entry.getValue());
    -110                            }
    -111                    });
    -112            }
    -113    
    -114            /**
    -115             * Callback interface used with the
    -116             * {@link StringUtils#join(Collection, String, JoinCallback)} method.
    -117             * @author Michael Angstadt
    -118             * @param <T> the value type
    -119             */
    -120            public static interface JoinCallback<T> {
    -121                    void handle(StringBuilder sb, T value);
    -122            }
    -123    
    -124            /**
    -125             * Callback interface used with the
    -126             * {@link StringUtils#join(Map, String, JoinMapCallback)} method.
    -127             * @author Michael Angstadt
    -128             * @param <K> the key class
    -129             * @param <V> the value class
    -130             */
    -131            public static interface JoinMapCallback<K, V> {
    -132                    void handle(StringBuilder sb, K key, V value);
    -133            }
    -134    
    -135            private StringUtils() {
    -136                    //hide
    -137            }
    -138    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.JoinMapCallback.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.JoinMapCallback.html deleted file mode 100644 index 482110b1..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.JoinMapCallback.html +++ /dev/null @@ -1,204 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.Collection;
    -004    import java.util.Map;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Contains miscellaneous string utilities.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class StringUtils {
    -036            /**
    -037             * The local computer's newline character sequence.
    -038             */
    -039            public static final String NEWLINE = System.getProperty("line.separator");
    -040    
    -041            /**
    -042             * Joins a collection of values into a delimited list.
    -043             * @param collection the collection of values
    -044             * @param delimiter the delimiter (e.g. ",")
    -045             * @return the final string
    -046             */
    -047            public static <T> String join(Collection<T> collection, String delimiter) {
    -048                    StringBuilder sb = new StringBuilder();
    -049                    join(collection, delimiter, sb);
    -050                    return sb.toString();
    -051            }
    -052    
    -053            /**
    -054             * Joins a collection of values into a delimited list.
    -055             * @param collection the collection of values
    -056             * @param delimiter the delimiter (e.g. ",")
    -057             * @param sb the string builder to append onto
    -058             */
    -059            public static <T> void join(Collection<T> collection, String delimiter, StringBuilder sb) {
    -060                    join(collection, delimiter, sb, new JoinCallback<T>() {
    -061                            public void handle(StringBuilder sb, T value) {
    -062                                    sb.append(value);
    -063                            }
    -064                    });
    -065            }
    -066    
    -067            /**
    -068             * Joins a collection of values into a delimited list.
    -069             * @param collection the collection of values
    -070             * @param delimiter the delimiter (e.g. ",")
    -071             * @param join callback function to call on every element in the collection
    -072             * @return the final string
    -073             */
    -074            public static <T> String join(Collection<T> collection, String delimiter, JoinCallback<T> join) {
    -075                    StringBuilder sb = new StringBuilder();
    -076                    join(collection, delimiter, sb, join);
    -077                    return sb.toString();
    -078            }
    -079    
    -080            /**
    -081             * Joins a collection of values into a delimited list.
    -082             * @param collection the collection of values
    -083             * @param delimiter the delimiter (e.g. ",")
    -084             * @param sb the string builder to append onto
    -085             * @param join callback function to call on every element in the collection
    -086             */
    -087            public static <T> void join(Collection<T> collection, String delimiter, StringBuilder sb, JoinCallback<T> join) {
    -088                    boolean first = true;
    -089                    for (T element : collection) {
    -090                            if (first) {
    -091                                    first = false;
    -092                            } else {
    -093                                    sb.append(delimiter);
    -094                            }
    -095                            join.handle(sb, element);
    -096                    }
    -097            }
    -098    
    -099            /**
    -100             * Joins a map into a delimited list.
    -101             * @param map the map
    -102             * @param delimiter the delimiter (e.g. ",")
    -103             * @param join callback function to call on every element in the collection
    -104             * @return the final string
    -105             */
    -106            public static <K, V> String join(Map<K, V> map, String delimiter, final JoinMapCallback<K, V> join) {
    -107                    return join(map.entrySet(), delimiter, new JoinCallback<Map.Entry<K, V>>() {
    -108                            public void handle(StringBuilder sb, Map.Entry<K, V> entry) {
    -109                                    join.handle(sb, entry.getKey(), entry.getValue());
    -110                            }
    -111                    });
    -112            }
    -113    
    -114            /**
    -115             * Callback interface used with the
    -116             * {@link StringUtils#join(Collection, String, JoinCallback)} method.
    -117             * @author Michael Angstadt
    -118             * @param <T> the value type
    -119             */
    -120            public static interface JoinCallback<T> {
    -121                    void handle(StringBuilder sb, T value);
    -122            }
    -123    
    -124            /**
    -125             * Callback interface used with the
    -126             * {@link StringUtils#join(Map, String, JoinMapCallback)} method.
    -127             * @author Michael Angstadt
    -128             * @param <K> the key class
    -129             * @param <V> the value class
    -130             */
    -131            public static interface JoinMapCallback<K, V> {
    -132                    void handle(StringBuilder sb, K key, V value);
    -133            }
    -134    
    -135            private StringUtils() {
    -136                    //hide
    -137            }
    -138    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.html deleted file mode 100644 index 482110b1..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/StringUtils.html +++ /dev/null @@ -1,204 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.Collection;
    -004    import java.util.Map;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Contains miscellaneous string utilities.
    -033     * @author Michael Angstadt
    -034     */
    -035    public class StringUtils {
    -036            /**
    -037             * The local computer's newline character sequence.
    -038             */
    -039            public static final String NEWLINE = System.getProperty("line.separator");
    -040    
    -041            /**
    -042             * Joins a collection of values into a delimited list.
    -043             * @param collection the collection of values
    -044             * @param delimiter the delimiter (e.g. ",")
    -045             * @return the final string
    -046             */
    -047            public static <T> String join(Collection<T> collection, String delimiter) {
    -048                    StringBuilder sb = new StringBuilder();
    -049                    join(collection, delimiter, sb);
    -050                    return sb.toString();
    -051            }
    -052    
    -053            /**
    -054             * Joins a collection of values into a delimited list.
    -055             * @param collection the collection of values
    -056             * @param delimiter the delimiter (e.g. ",")
    -057             * @param sb the string builder to append onto
    -058             */
    -059            public static <T> void join(Collection<T> collection, String delimiter, StringBuilder sb) {
    -060                    join(collection, delimiter, sb, new JoinCallback<T>() {
    -061                            public void handle(StringBuilder sb, T value) {
    -062                                    sb.append(value);
    -063                            }
    -064                    });
    -065            }
    -066    
    -067            /**
    -068             * Joins a collection of values into a delimited list.
    -069             * @param collection the collection of values
    -070             * @param delimiter the delimiter (e.g. ",")
    -071             * @param join callback function to call on every element in the collection
    -072             * @return the final string
    -073             */
    -074            public static <T> String join(Collection<T> collection, String delimiter, JoinCallback<T> join) {
    -075                    StringBuilder sb = new StringBuilder();
    -076                    join(collection, delimiter, sb, join);
    -077                    return sb.toString();
    -078            }
    -079    
    -080            /**
    -081             * Joins a collection of values into a delimited list.
    -082             * @param collection the collection of values
    -083             * @param delimiter the delimiter (e.g. ",")
    -084             * @param sb the string builder to append onto
    -085             * @param join callback function to call on every element in the collection
    -086             */
    -087            public static <T> void join(Collection<T> collection, String delimiter, StringBuilder sb, JoinCallback<T> join) {
    -088                    boolean first = true;
    -089                    for (T element : collection) {
    -090                            if (first) {
    -091                                    first = false;
    -092                            } else {
    -093                                    sb.append(delimiter);
    -094                            }
    -095                            join.handle(sb, element);
    -096                    }
    -097            }
    -098    
    -099            /**
    -100             * Joins a map into a delimited list.
    -101             * @param map the map
    -102             * @param delimiter the delimiter (e.g. ",")
    -103             * @param join callback function to call on every element in the collection
    -104             * @return the final string
    -105             */
    -106            public static <K, V> String join(Map<K, V> map, String delimiter, final JoinMapCallback<K, V> join) {
    -107                    return join(map.entrySet(), delimiter, new JoinCallback<Map.Entry<K, V>>() {
    -108                            public void handle(StringBuilder sb, Map.Entry<K, V> entry) {
    -109                                    join.handle(sb, entry.getKey(), entry.getValue());
    -110                            }
    -111                    });
    -112            }
    -113    
    -114            /**
    -115             * Callback interface used with the
    -116             * {@link StringUtils#join(Collection, String, JoinCallback)} method.
    -117             * @author Michael Angstadt
    -118             * @param <T> the value type
    -119             */
    -120            public static interface JoinCallback<T> {
    -121                    void handle(StringBuilder sb, T value);
    -122            }
    -123    
    -124            /**
    -125             * Callback interface used with the
    -126             * {@link StringUtils#join(Map, String, JoinMapCallback)} method.
    -127             * @author Michael Angstadt
    -128             * @param <K> the key class
    -129             * @param <V> the value class
    -130             */
    -131            public static interface JoinMapCallback<K, V> {
    -132                    void handle(StringBuilder sb, K key, V value);
    -133            }
    -134    
    -135            private StringUtils() {
    -136                    //hide
    -137            }
    -138    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/UtcOffset.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/UtcOffset.html deleted file mode 100644 index 7892e37f..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/UtcOffset.html +++ /dev/null @@ -1,229 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.util.regex.Matcher;
    -004    import java.util.regex.Pattern;
    -005    
    -006    /*
    -007     Copyright (c) 2013, Michael Angstadt
    -008     All rights reserved.
    -009    
    -010     Redistribution and use in source and binary forms, with or without
    -011     modification, are permitted provided that the following conditions are met: 
    -012    
    -013     1. Redistributions of source code must retain the above copyright notice, this
    -014     list of conditions and the following disclaimer. 
    -015     2. Redistributions in binary form must reproduce the above copyright notice,
    -016     this list of conditions and the following disclaimer in the documentation
    -017     and/or other materials provided with the distribution. 
    -018    
    -019     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -020     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -021     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -022     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -023     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -024     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -025     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -026     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -027     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -028     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -029     */
    -030    
    -031    /**
    -032     * Represents a UTC offset.
    -033     * @author Michael Angstadt
    -034     */
    -035    public final class UtcOffset {
    -036            private final int hour;
    -037            private final int minute;
    -038    
    -039            /**
    -040             * Creates a new UTC offset.
    -041             * @param hour the hour component (may be negative)
    -042             * @param minute the minute component (must be between 0 and 59)
    -043             */
    -044            public UtcOffset(int hour, int minute) {
    -045                    this.hour = hour;
    -046                    this.minute = minute;
    -047            }
    -048    
    -049            /**
    -050             * Parses a UTC offset from a string.
    -051             * @param text the text to parse (e.g. "-0500")
    -052             * @return the parsed UTC offset
    -053             * @throws IllegalArgumentException if the text cannot be parsed
    -054             */
    -055            public static UtcOffset parse(String text) {
    -056                    Pattern timeZoneRegex = Pattern.compile("^([-\\+])?(\\d{1,2})(:?(\\d{2}))?$");
    -057                    Matcher m = timeZoneRegex.matcher(text);
    -058    
    -059                    if (!m.find()) {
    -060                            throw new IllegalArgumentException("Offset string is not in ISO8610 format: " + text);
    -061                    }
    -062    
    -063                    String sign = m.group(1);
    -064                    boolean positive;
    -065                    if ("-".equals(sign)) {
    -066                            positive = false;
    -067                    } else {
    -068                            positive = true;
    -069                    }
    -070    
    -071                    String hourStr = m.group(2);
    -072                    int hourOffset = Integer.parseInt(hourStr);
    -073                    if (!positive) {
    -074                            hourOffset *= -1;
    -075                    }
    -076    
    -077                    String minuteStr = m.group(4);
    -078                    int minuteOffset = (minuteStr == null) ? 0 : Integer.parseInt(minuteStr);
    -079    
    -080                    return new UtcOffset(hourOffset, minuteOffset);
    -081            }
    -082    
    -083            /**
    -084             * Gets the hour component.
    -085             * @return the hour component
    -086             */
    -087            public int getHour() {
    -088                    return hour;
    -089            }
    -090    
    -091            /**
    -092             * Gets the minute component.
    -093             * @return the minute component
    -094             */
    -095            public int getMinute() {
    -096                    return minute;
    -097            }
    -098    
    -099            /**
    -100             * Converts this offset to its ISO string representation using "basic"
    -101             * format.
    -102             * @return the ISO string representation (e.g. "-0500")
    -103             */
    -104            @Override
    -105            public String toString() {
    -106                    return toString(false);
    -107            }
    -108    
    -109            /**
    -110             * Converts this offset to its ISO string representation.
    -111             * @param extended true to use extended format (e.g. "-05:00"), false to use
    -112             * basic format (e.g. "-0500")
    -113             * @return the ISO string representation
    -114             */
    -115            public String toString(boolean extended) {
    -116                    StringBuilder sb = new StringBuilder();
    -117    
    -118                    boolean positive = hour >= 0;
    -119                    sb.append(positive ? '+' : '-');
    -120    
    -121                    int hour = Math.abs(this.hour);
    -122                    if (hour < 10) {
    -123                            sb.append('0');
    -124                    }
    -125                    sb.append(hour);
    -126    
    -127                    if (extended) {
    -128                            sb.append(':');
    -129                    }
    -130    
    -131                    if (minute < 10) {
    -132                            sb.append('0');
    -133                    }
    -134                    sb.append(minute);
    -135    
    -136                    return sb.toString();
    -137            }
    -138    
    -139            @Override
    -140            public int hashCode() {
    -141                    final int prime = 31;
    -142                    int result = 1;
    -143                    result = prime * result + hour;
    -144                    result = prime * result + minute;
    -145                    return result;
    -146            }
    -147    
    -148            @Override
    -149            public boolean equals(Object obj) {
    -150                    if (this == obj)
    -151                            return true;
    -152                    if (obj == null)
    -153                            return false;
    -154                    if (getClass() != obj.getClass())
    -155                            return false;
    -156                    UtcOffset other = (UtcOffset) obj;
    -157                    if (hour != other.hour)
    -158                            return false;
    -159                    if (minute != other.minute)
    -160                            return false;
    -161                    return true;
    -162            }
    -163    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/XmlUtils.html b/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/XmlUtils.html deleted file mode 100644 index 6358f405..00000000 --- a/libs/biweekly-0.3.1-javadoc/src-html/biweekly/util/XmlUtils.html +++ /dev/null @@ -1,327 +0,0 @@ - - -
    -001    package biweekly.util;
    -002    
    -003    import java.io.IOException;
    -004    import java.io.InputStream;
    -005    import java.io.Reader;
    -006    import java.io.StringReader;
    -007    import java.io.StringWriter;
    -008    import java.io.Writer;
    -009    import java.util.ArrayList;
    -010    import java.util.HashMap;
    -011    import java.util.List;
    -012    import java.util.Map;
    -013    
    -014    import javax.xml.parsers.DocumentBuilder;
    -015    import javax.xml.parsers.DocumentBuilderFactory;
    -016    import javax.xml.parsers.ParserConfigurationException;
    -017    import javax.xml.transform.Transformer;
    -018    import javax.xml.transform.TransformerConfigurationException;
    -019    import javax.xml.transform.TransformerException;
    -020    import javax.xml.transform.TransformerFactory;
    -021    import javax.xml.transform.TransformerFactoryConfigurationError;
    -022    import javax.xml.transform.dom.DOMSource;
    -023    import javax.xml.transform.stream.StreamResult;
    -024    
    -025    import org.w3c.dom.Document;
    -026    import org.w3c.dom.Element;
    -027    import org.w3c.dom.Node;
    -028    import org.w3c.dom.NodeList;
    -029    import org.xml.sax.InputSource;
    -030    import org.xml.sax.SAXException;
    -031    
    -032    /*
    -033     Copyright (c) 2013, Michael Angstadt
    -034     All rights reserved.
    -035    
    -036     Redistribution and use in source and binary forms, with or without
    -037     modification, are permitted provided that the following conditions are met: 
    -038    
    -039     1. Redistributions of source code must retain the above copyright notice, this
    -040     list of conditions and the following disclaimer. 
    -041     2. Redistributions in binary form must reproduce the above copyright notice,
    -042     this list of conditions and the following disclaimer in the documentation
    -043     and/or other materials provided with the distribution. 
    -044    
    -045     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -046     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -047     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -048     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -049     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -050     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -051     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -052     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -053     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -054     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -055    
    -056     The views and conclusions contained in the software and documentation are those
    -057     of the authors and should not be interpreted as representing official policies, 
    -058     either expressed or implied, of the FreeBSD Project.
    -059     */
    -060    
    -061    /**
    -062     * Generic XML utility methods.
    -063     * @author Michael Angstadt
    -064     */
    -065    public class XmlUtils {
    -066            /**
    -067             * Creates a new XML document.
    -068             * @return the XML document
    -069             */
    -070            public static Document createDocument() {
    -071                    try {
    -072                            DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
    -073                            fact.setNamespaceAware(true);
    -074                            DocumentBuilder db = fact.newDocumentBuilder();
    -075                            return db.newDocument();
    -076                    } catch (ParserConfigurationException e) {
    -077                            //will probably never be thrown because we're not doing anything fancy with the configuration
    -078                            throw new RuntimeException(e);
    -079                    }
    -080            }
    -081    
    -082            /**
    -083             * Parses an XML string into a DOM.
    -084             * @param xml the XML string
    -085             * @return the parsed DOM
    -086             * @throws SAXException if the string is not valid XML
    -087             */
    -088            public static Document toDocument(String xml) throws SAXException {
    -089                    try {
    -090                            return toDocument(new StringReader(xml));
    -091                    } catch (IOException e) {
    -092                            //reading from string
    -093                            throw new RuntimeException(e);
    -094                    }
    -095            }
    -096    
    -097            /**
    -098             * Parses an XML document from an input stream.
    -099             * @param in the input stream
    -100             * @return the parsed DOM
    -101             * @throws SAXException if the XML is not valid
    -102             * @throws IOException if there is a problem reading from the input stream
    -103             */
    -104            public static Document toDocument(InputStream in) throws SAXException, IOException {
    -105                    return toDocument(new InputSource(in));
    -106            }
    -107    
    -108            /**
    -109             * <p>
    -110             * Parses an XML document from a reader.
    -111             * </p>
    -112             * <p>
    -113             * Note that use of this method is discouraged. It ignores the character
    -114             * encoding that is defined within the XML document itself, and should only
    -115             * be used if the encoding is undefined or if the encoding needs to be
    -116             * ignored for whatever reason. The {@link #toDocument(InputStream)} method
    -117             * should be used instead, since it takes the XML document's character
    -118             * encoding into account when parsing.
    -119             * </p>
    -120             * @param reader the reader
    -121             * @return the parsed DOM
    -122             * @throws SAXException if the XML is not valid
    -123             * @throws IOException if there is a problem reading from the reader
    -124             * @see <a
    -125             * href="http://stackoverflow.com/q/3482494/13379">http://stackoverflow.com/q/3482494/13379</a>
    -126             */
    -127            public static Document toDocument(Reader reader) throws SAXException, IOException {
    -128                    return toDocument(new InputSource(reader));
    -129            }
    -130    
    -131            private static Document toDocument(InputSource in) throws SAXException, IOException {
    -132                    try {
    -133                            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    -134                            dbf.setNamespaceAware(true);
    -135                            dbf.setIgnoringComments(true);
    -136                            DocumentBuilder db = dbf.newDocumentBuilder();
    -137                            return db.parse(in);
    -138                    } catch (ParserConfigurationException e) {
    -139                            //will probably never be thrown because we're not doing anything fancy with the configuration
    -140                            throw new RuntimeException(e);
    -141                    }
    -142            }
    -143    
    -144            /**
    -145             * Converts an XML node to a string.
    -146             * @param node the XML node
    -147             * @return the string
    -148             */
    -149            public static String toString(Node node) {
    -150                    return toString(node, new HashMap<String, String>());
    -151            }
    -152    
    -153            /**
    -154             * Converts an XML node to a string.
    -155             * @param node the XML node
    -156             * @param outputProperties the output properties
    -157             * @return the string
    -158             */
    -159            public static String toString(Node node, Map<String, String> outputProperties) {
    -160                    try {
    -161                            StringWriter writer = new StringWriter();
    -162                            toWriter(node, writer, outputProperties);
    -163                            return writer.toString();
    -164                    } catch (TransformerException e) {
    -165                            //should never be thrown because we're writing to string
    -166                            throw new RuntimeException(e);
    -167                    }
    -168            }
    -169    
    -170            /**
    -171             * Writes an XML node to a writer.
    -172             * @param node the XML node
    -173             * @param writer the writer
    -174             * @throws TransformerException if there's a problem writing to the writer
    -175             */
    -176            public static void toWriter(Node node, Writer writer) throws TransformerException {
    -177                    toWriter(node, writer, new HashMap<String, String>());
    -178            }
    -179    
    -180            /**
    -181             * Writes an XML node to a writer.
    -182             * @param node the XML node
    -183             * @param writer the writer
    -184             * @param outputProperties the output properties
    -185             * @throws TransformerException if there's a problem writing to the writer
    -186             */
    -187            public static void toWriter(Node node, Writer writer, Map<String, String> outputProperties) throws TransformerException {
    -188                    try {
    -189                            Transformer transformer = TransformerFactory.newInstance().newTransformer();
    -190                            for (Map.Entry<String, String> property : outputProperties.entrySet()) {
    -191                                    try {
    -192                                            transformer.setOutputProperty(property.getKey(), property.getValue());
    -193                                    } catch (IllegalArgumentException e) {
    -194                                            //ignore invalid output properties
    -195                                    }
    -196                            }
    -197    
    -198                            DOMSource source = new DOMSource(node);
    -199                            StreamResult result = new StreamResult(writer);
    -200                            transformer.transform(source, result);
    -201                    } catch (TransformerConfigurationException e) {
    -202                            //no complex configurations
    -203                    } catch (TransformerFactoryConfigurationError e) {
    -204                            //no complex configurations
    -205                    }
    -206            }
    -207    
    -208            /**
    -209             * Gets all the elements out of a {@link NodeList}.
    -210             * @param nodeList the node list
    -211             * @return the elements
    -212             */
    -213            public static List<Element> toElementList(NodeList nodeList) {
    -214                    List<Element> elements = new ArrayList<Element>();
    -215                    for (int i = 0; i < nodeList.getLength(); i++) {
    -216                            Node node = nodeList.item(i);
    -217                            if (node instanceof Element) {
    -218                                    elements.add((Element) node);
    -219                            }
    -220                    }
    -221                    return elements;
    -222            }
    -223    
    -224            /**
    -225             * Gets the root element of a document.
    -226             * @param parent the document
    -227             * @return the root element
    -228             */
    -229            public static Element getRootElement(Document parent) {
    -230                    return getFirstChildElement((Node) parent);
    -231            }
    -232    
    -233            /**
    -234             * Gets the first child element of an element.
    -235             * @param parent the parent element
    -236             * @return the first child element or null if there are no child elements
    -237             */
    -238            public static Element getFirstChildElement(Element parent) {
    -239                    return getFirstChildElement((Node) parent);
    -240            }
    -241    
    -242            /**
    -243             * Gets the first child element of a node.
    -244             * @param parent the node
    -245             * @return the first child element or null if there are no child elements
    -246             */
    -247            private static Element getFirstChildElement(Node parent) {
    -248                    NodeList nodeList = parent.getChildNodes();
    -249                    for (int i = 0; i < nodeList.getLength(); i++) {
    -250                            Node node = nodeList.item(i);
    -251                            if (node instanceof Element) {
    -252                                    return (Element) node;
    -253                            }
    -254                    }
    -255                    return null;
    -256            }
    -257    
    -258            private XmlUtils() {
    -259                    //hide
    -260            }
    -261    }
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/libs/biweekly-0.3.1-javadoc/syntaxhighlighter.css b/libs/biweekly-0.3.1-javadoc/syntaxhighlighter.css deleted file mode 100644 index 95255f2f..00000000 --- a/libs/biweekly-0.3.1-javadoc/syntaxhighlighter.css +++ /dev/null @@ -1,352 +0,0 @@ -/* ====== shCore.css ====== */ - -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -.syntaxhighlighter a, -.syntaxhighlighter div, -.syntaxhighlighter code, -.syntaxhighlighter table, -.syntaxhighlighter table td, -.syntaxhighlighter table tr, -.syntaxhighlighter table tbody, -.syntaxhighlighter table thead, -.syntaxhighlighter table caption, -.syntaxhighlighter textarea { - -moz-border-radius: 0 0 0 0 !important; - -webkit-border-radius: 0 0 0 0 !important; - background: none !important; - border: 0 !important; - bottom: auto !important; - float: none !important; - height: auto !important; - left: auto !important; - line-height: 1.1em !important; - margin: 0 !important; - outline: 0 !important; - overflow: visible !important; - padding: 0 !important; - position: static !important; - right: auto !important; - text-align: left !important; - top: auto !important; - vertical-align: baseline !important; - width: auto !important; - box-sizing: content-box !important; - font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; - font-weight: normal !important; - font-style: normal !important; - font-size: 1em !important; - min-height: inherit !important; - min-height: auto !important; -} - -.syntaxhighlighter { - width: 100% !important; - margin: 1em 0 1em 0 !important; - position: relative !important; - overflow: auto !important; - font-size: 1em !important; -} -.syntaxhighlighter.source { - overflow: hidden !important; -} -.syntaxhighlighter .bold { - font-weight: bold !important; -} -.syntaxhighlighter .italic { - font-style: italic !important; -} -.syntaxhighlighter .line { - white-space: pre !important; -} -.syntaxhighlighter table { - width: 100% !important; -} -.syntaxhighlighter table caption { - text-align: left !important; - padding: .5em 0 0.5em 1em !important; -} -.syntaxhighlighter table td.code { - width: 100% !important; -} -.syntaxhighlighter table td.code .container { - position: relative !important; -} -.syntaxhighlighter table td.code .container textarea { - box-sizing: border-box !important; - position: absolute !important; - left: 0 !important; - top: 0 !important; - width: 100% !important; - height: 100% !important; - border: none !important; - background: white !important; - padding-left: 1em !important; - overflow: hidden !important; - white-space: pre !important; -} -.syntaxhighlighter table td.gutter .line { - text-align: right !important; - padding: 0 0.5em 0 1em !important; -} -.syntaxhighlighter table td.code .line { - padding: 0 1em !important; -} -.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { - padding-left: 0em !important; -} -.syntaxhighlighter.show { - display: block !important; -} -.syntaxhighlighter.collapsed table { - display: none !important; -} -.syntaxhighlighter.collapsed .toolbar { - padding: 0.1em 0.8em 0em 0.8em !important; - font-size: 1em !important; - position: static !important; - width: auto !important; - height: auto !important; -} -.syntaxhighlighter.collapsed .toolbar span { - display: inline !important; - margin-right: 1em !important; -} -.syntaxhighlighter.collapsed .toolbar span a { - padding: 0 !important; - display: none !important; -} -.syntaxhighlighter.collapsed .toolbar span a.expandSource { - display: inline !important; -} -.syntaxhighlighter .toolbar { - position: absolute !important; - right: 1px !important; - top: 1px !important; - width: 11px !important; - height: 11px !important; - font-size: 10px !important; - z-index: 10 !important; -} -.syntaxhighlighter .toolbar span.title { - display: inline !important; -} -.syntaxhighlighter .toolbar a { - display: block !important; - text-align: center !important; - text-decoration: none !important; - padding-top: 1px !important; -} -.syntaxhighlighter .toolbar a.expandSource { - display: none !important; -} -.syntaxhighlighter.ie { - font-size: .9em !important; - padding: 1px 0 1px 0 !important; -} -.syntaxhighlighter.ie .toolbar { - line-height: 8px !important; -} -.syntaxhighlighter.ie .toolbar a { - padding-top: 0px !important; -} -.syntaxhighlighter.printing .line.alt1 .content, -.syntaxhighlighter.printing .line.alt2 .content, -.syntaxhighlighter.printing .line.highlighted .number, -.syntaxhighlighter.printing .line.highlighted.alt1 .content, -.syntaxhighlighter.printing .line.highlighted.alt2 .content { - background: none !important; -} -.syntaxhighlighter.printing .line .number { - color: #bbbbbb !important; -} -.syntaxhighlighter.printing .line .content { - color: black !important; -} -.syntaxhighlighter.printing .toolbar { - display: none !important; -} -.syntaxhighlighter.printing a { - text-decoration: none !important; -} -.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { - color: black !important; -} -.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { - color: #008200 !important; -} -.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { - color: blue !important; -} -.syntaxhighlighter.printing .keyword { - color: #006699 !important; - font-weight: bold !important; -} -.syntaxhighlighter.printing .preprocessor { - color: gray !important; -} -.syntaxhighlighter.printing .variable { - color: #aa7700 !important; -} -.syntaxhighlighter.printing .value { - color: #009900 !important; -} -.syntaxhighlighter.printing .functions { - color: #ff1493 !important; -} -.syntaxhighlighter.printing .constants { - color: #0066cc !important; -} -.syntaxhighlighter.printing .script { - font-weight: bold !important; -} -.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { - color: gray !important; -} -.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { - color: #ff1493 !important; -} -.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { - color: red !important; -} -.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { - color: black !important; -} - -/* ====== shThemeDefault.css ====== */ - -/** - * SyntaxHighlighter - * http://alexgorbatchev.com/SyntaxHighlighter - * - * SyntaxHighlighter is donationware. If you are using it, please donate. - * http://alexgorbatchev.com/SyntaxHighlighter/donate.html - * - * @version - * 3.0.83 (July 02 2010) - * - * @copyright - * Copyright (C) 2004-2010 Alex Gorbatchev. - * - * @license - * Dual licensed under the MIT and GPL licenses. - */ -.syntaxhighlighter { - background-color: white !important; - - /* ADDED */ - font-size: 0.9em !important; - padding-left: 20px; -} -.syntaxhighlighter .line.alt1 { - background-color: white !important; -} -.syntaxhighlighter .line.alt2 { - background-color: white !important; -} -.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { - background-color: #e0e0e0 !important; -} -.syntaxhighlighter .line.highlighted.number { - color: black !important; -} -.syntaxhighlighter table caption { - color: black !important; -} -.syntaxhighlighter .gutter { - color: #afafaf !important; -} -.syntaxhighlighter .gutter .line { - border-right: 3px solid #6ce26c !important; -} -.syntaxhighlighter .gutter .line.highlighted { - background-color: #6ce26c !important; - color: white !important; -} -.syntaxhighlighter.printing .line .content { - border: none !important; -} -.syntaxhighlighter.collapsed { - overflow: visible !important; -} -.syntaxhighlighter.collapsed .toolbar { - color: blue !important; - background: white !important; - border: 1px solid #6ce26c !important; -} -.syntaxhighlighter.collapsed .toolbar a { - color: blue !important; -} -.syntaxhighlighter.collapsed .toolbar a:hover { - color: red !important; -} -.syntaxhighlighter .toolbar { - color: white !important; - background: #6ce26c !important; - border: none !important; -} -.syntaxhighlighter .toolbar a { - color: white !important; -} -.syntaxhighlighter .toolbar a:hover { - color: black !important; -} -.syntaxhighlighter .plain, .syntaxhighlighter .plain a { - color: black !important; -} -.syntaxhighlighter .comments, .syntaxhighlighter .comments a { - color: #008200 !important; -} -.syntaxhighlighter .string, .syntaxhighlighter .string a { - color: blue !important; -} -.syntaxhighlighter .keyword { - color: #006699 !important; -} -.syntaxhighlighter .preprocessor { - color: gray !important; -} -.syntaxhighlighter .variable { - color: #aa7700 !important; -} -.syntaxhighlighter .value { - color: #009900 !important; -} -.syntaxhighlighter .functions { - color: #ff1493 !important; -} -.syntaxhighlighter .constants { - color: #0066cc !important; -} -.syntaxhighlighter .script { - font-weight: bold !important; - color: #006699 !important; - background-color: none !important; -} -.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { - color: gray !important; -} -.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { - color: #ff1493 !important; -} -.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { - color: red !important; -} - -.syntaxhighlighter .keyword { - font-weight: bold !important; -} diff --git a/libs/biweekly-0.3.1.jar b/libs/biweekly-0.3.1.jar deleted file mode 100644 index 0b85154dc13a6cecbccd869ccfc345b7dec371b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328180 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 tj7P1`!R)KP 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 diff --git a/libs/ical4j-1.0.4/docs/apidocs/allclasses-frame.html b/libs/ical4j-1.0.4/docs/apidocs/allclasses-frame.html deleted file mode 100644 index 814d41d6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/allclasses-frame.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - -All Classes (iCal4j 1.0.4 API) - - - - - - - - - - - -All Classes -
    - - - - - -
    Abbrev -
    -AbstractContentFactory -
    -AbstractDateRule -
    -AbstractOutputter -
    -Action -
    -AddressList -
    -AltRep -
    -Attach -
    -Attendee -
    -Available -
    -BusyType -
    -Calendar -
    -CalendarBuilder -
    -CalendarComponent -
    -CalendarDateFormatFactory -
    -CalendarException -
    -CalendarOutputter -
    -CalendarParser -
    -CalendarParserFactory -
    -CalendarParserImpl -
    -Calendars -
    -CalScale -
    -Categories -
    -Clazz -
    -Cn -
    -Comment -
    -CompatibilityHints -
    -Completed -
    -Component -
    -ComponentFactory -
    -ComponentList -
    -ComponentRule -
    -ComponentValidator -
    -Configurator -
    -Constants -
    -ConstraintViolationException -
    -Contact -
    -Content -
    -ContentHandler -
    -Country -
    -Created -
    -CuType -
    -Date -
    -DateInRangeRule -
    -DateList -
    -DateListProperty -
    -DateProperty -
    -DateRange -
    -Dates -
    -DateTime -
    -Daylight -
    -DecoderFactory -
    -DefaultCalendarParserFactory -
    -DefaultDecoderFactory -
    -DefaultEncoderFactory -
    -DefaultTimeZoneRegistryFactory -
    -DelegatedFrom -
    -DelegatedTo -
    -Description -
    -Dir -
    -DtEnd -
    -DtStamp -
    -DtStart -
    -Due -
    -Dur -
    -Duration -
    -EncoderFactory -
    -Encoding -
    -Escapable -
    -ExDate -
    -ExRule -
    -ExtendedAddress -
    -FbType -
    -Filter -
    -FmtType -
    -FoldingWriter -
    -FreeBusy -
    -Geo -
    -HasPropertyRule -
    -HCalendarParser -
    -HCalendarParserFactory -
    -HostInfo -
    -IndexedComponentList -
    -IndexedPropertyList -
    -InetAddressHostInfo -
    -Iso8601 -
    -Language -
    -LastModified -
    -Locality -
    -Location -
    -LocationType -
    -LocationTypeList -
    -Member -
    -Method -
    -Name -
    -NumberList -
    -Numbers -
    -Observance -
    -Organizer -
    -Parameter -
    -ParameterFactory -
    -ParameterFactoryImpl -
    -ParameterFactoryRegistry -
    -ParameterList -
    -ParameterValidator -
    -ParserException -
    -PartStat -
    -PercentComplete -
    -Period -
    -PeriodList -
    -PeriodRule -
    -Postalcode -
    -Priority -
    -ProdId -
    -Property -
    -PropertyFactory -
    -PropertyFactoryImpl -
    -PropertyFactoryRegistry -
    -PropertyList -
    -PropertyValidator -
    -PublishTransformer -
    -Range -
    -RDate -
    -Recur -
    -RecurrenceId -
    -Region -
    -Related -
    -RelatedTo -
    -RelType -
    -Repeat -
    -RequestStatus -
    -ResourceLoader -
    -Resources -
    -Role -
    -RRule -
    -Rsvp -
    -Rule -
    -ScheduleAgent -
    -ScheduleStatus -
    -SentBy -
    -Sequence -
    -SimpleHostInfo -
    -Standard -
    -Status -
    -StreetAddress -
    -Strings -
    -Summary -
    -Tel -
    -TextList -
    -Time -
    -TimeZone -
    -TimeZoneRegistry -
    -TimeZoneRegistryFactory -
    -TimeZoneRegistryImpl -
    -TimeZones -
    -Transformer -
    -Transp -
    -Trigger -
    -Type -
    -TzId -
    -TzId -
    -TzName -
    -TzOffsetFrom -
    -TzOffsetTo -
    -TzUrl -
    -Uid -
    -UidGenerator -
    -UnfoldingReader -
    -Uris -
    -Url -
    -UtcOffset -
    -UtcProperty -
    -VAlarm -
    -ValidationException -
    -Validator -
    -Value -
    -VAvailability -
    -Version -
    -VEvent -
    -VFreeBusy -
    -VJournal -
    -VTimeZone -
    -VToDo -
    -VVenue -
    -Vvenue -
    -WeekDay -
    -WeekDayList -
    -XComponent -
    -XParameter -
    -XProperty -
    -
    - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/allclasses-noframe.html b/libs/ical4j-1.0.4/docs/apidocs/allclasses-noframe.html deleted file mode 100644 index 6a1f0bdb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/allclasses-noframe.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - -All Classes (iCal4j 1.0.4 API) - - - - - - - - - - - -All Classes -
    - - - - - -
    Abbrev -
    -AbstractContentFactory -
    -AbstractDateRule -
    -AbstractOutputter -
    -Action -
    -AddressList -
    -AltRep -
    -Attach -
    -Attendee -
    -Available -
    -BusyType -
    -Calendar -
    -CalendarBuilder -
    -CalendarComponent -
    -CalendarDateFormatFactory -
    -CalendarException -
    -CalendarOutputter -
    -CalendarParser -
    -CalendarParserFactory -
    -CalendarParserImpl -
    -Calendars -
    -CalScale -
    -Categories -
    -Clazz -
    -Cn -
    -Comment -
    -CompatibilityHints -
    -Completed -
    -Component -
    -ComponentFactory -
    -ComponentList -
    -ComponentRule -
    -ComponentValidator -
    -Configurator -
    -Constants -
    -ConstraintViolationException -
    -Contact -
    -Content -
    -ContentHandler -
    -Country -
    -Created -
    -CuType -
    -Date -
    -DateInRangeRule -
    -DateList -
    -DateListProperty -
    -DateProperty -
    -DateRange -
    -Dates -
    -DateTime -
    -Daylight -
    -DecoderFactory -
    -DefaultCalendarParserFactory -
    -DefaultDecoderFactory -
    -DefaultEncoderFactory -
    -DefaultTimeZoneRegistryFactory -
    -DelegatedFrom -
    -DelegatedTo -
    -Description -
    -Dir -
    -DtEnd -
    -DtStamp -
    -DtStart -
    -Due -
    -Dur -
    -Duration -
    -EncoderFactory -
    -Encoding -
    -Escapable -
    -ExDate -
    -ExRule -
    -ExtendedAddress -
    -FbType -
    -Filter -
    -FmtType -
    -FoldingWriter -
    -FreeBusy -
    -Geo -
    -HasPropertyRule -
    -HCalendarParser -
    -HCalendarParserFactory -
    -HostInfo -
    -IndexedComponentList -
    -IndexedPropertyList -
    -InetAddressHostInfo -
    -Iso8601 -
    -Language -
    -LastModified -
    -Locality -
    -Location -
    -LocationType -
    -LocationTypeList -
    -Member -
    -Method -
    -Name -
    -NumberList -
    -Numbers -
    -Observance -
    -Organizer -
    -Parameter -
    -ParameterFactory -
    -ParameterFactoryImpl -
    -ParameterFactoryRegistry -
    -ParameterList -
    -ParameterValidator -
    -ParserException -
    -PartStat -
    -PercentComplete -
    -Period -
    -PeriodList -
    -PeriodRule -
    -Postalcode -
    -Priority -
    -ProdId -
    -Property -
    -PropertyFactory -
    -PropertyFactoryImpl -
    -PropertyFactoryRegistry -
    -PropertyList -
    -PropertyValidator -
    -PublishTransformer -
    -Range -
    -RDate -
    -Recur -
    -RecurrenceId -
    -Region -
    -Related -
    -RelatedTo -
    -RelType -
    -Repeat -
    -RequestStatus -
    -ResourceLoader -
    -Resources -
    -Role -
    -RRule -
    -Rsvp -
    -Rule -
    -ScheduleAgent -
    -ScheduleStatus -
    -SentBy -
    -Sequence -
    -SimpleHostInfo -
    -Standard -
    -Status -
    -StreetAddress -
    -Strings -
    -Summary -
    -Tel -
    -TextList -
    -Time -
    -TimeZone -
    -TimeZoneRegistry -
    -TimeZoneRegistryFactory -
    -TimeZoneRegistryImpl -
    -TimeZones -
    -Transformer -
    -Transp -
    -Trigger -
    -Type -
    -TzId -
    -TzId -
    -TzName -
    -TzOffsetFrom -
    -TzOffsetTo -
    -TzUrl -
    -Uid -
    -UidGenerator -
    -UnfoldingReader -
    -Uris -
    -Url -
    -UtcOffset -
    -UtcProperty -
    -VAlarm -
    -ValidationException -
    -Validator -
    -Value -
    -VAvailability -
    -Version -
    -VEvent -
    -VFreeBusy -
    -VJournal -
    -VTimeZone -
    -VToDo -
    -VVenue -
    -Vvenue -
    -WeekDay -
    -WeekDayList -
    -XComponent -
    -XParameter -
    -XProperty -
    -
    - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/constant-values.html b/libs/ical4j-1.0.4/docs/apidocs/constant-values.html deleted file mode 100644 index b6944182..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/constant-values.html +++ /dev/null @@ -1,1285 +0,0 @@ - - - - - - - -Constant Field Values (iCal4j 1.0.4 API) - - - - - - - - - - - - -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Constant Field Values

    -
    -
    -Contents - - - - - - -
    -net.fortuna.*
    - -

    - - - - - - - - - - - - -
    net.fortuna.ical4j.data.CalendarParserFactory
    -public static final StringKEY_FACTORY_CLASS"net.fortuna.ical4j.parser"
    - -

    - -

    - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.data.FoldingWriter
    -public static final intMAX_FOLD_LENGTH75
    -public static final intREDUCED_FOLD_LENGTH73
    - -

    - -

    - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.filter.Filter
    -public static final intMATCH_ALL2
    -public static final intMATCH_ANY1
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.model.Calendar
    -public static final StringBEGIN"BEGIN"
    -public static final StringEND"END"
    -public static final StringVCALENDAR"VCALENDAR"
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.model.Component
    -public static final StringAVAILABLE"AVAILABLE"
    -public static final StringBEGIN"BEGIN"
    -public static final StringEND"END"
    -public static final StringEXPERIMENTAL_PREFIX"X-"
    -public static final StringVALARM"VALARM"
    -public static final StringVAVAILABILITY"VAVAILABILITY"
    -public static final StringVEVENT"VEVENT"
    -public static final StringVFREEBUSY"VFREEBUSY"
    -public static final StringVJOURNAL"VJOURNAL"
    -public static final StringVTIMEZONE"VTIMEZONE"
    -public static final StringVTODO"VTODO"
    -public static final StringVVENUE"VVENUE"
    - -

    - -

    - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.model.DateRange
    -public static final intINCLUSIVE_END2
    -public static final intINCLUSIVE_START1
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.model.Parameter
    -public static final StringABBREV"ABBREV"
    -public static final StringALTREP"ALTREP"
    -public static final StringCN"CN"
    -public static final StringCUTYPE"CUTYPE"
    -public static final StringDELEGATED_FROM"DELEGATED-FROM"
    -public static final StringDELEGATED_TO"DELEGATED-TO"
    -public static final StringDIR"DIR"
    -public static final StringENCODING"ENCODING"
    -public static final StringEXPERIMENTAL_PREFIX"X-"
    -public static final StringFBTYPE"FBTYPE"
    -public static final StringFMTTYPE"FMTTYPE"
    -public static final StringLANGUAGE"LANGUAGE"
    -public static final StringMEMBER"MEMBER"
    -public static final StringPARTSTAT"PARTSTAT"
    -public static final StringRANGE"RANGE"
    -public static final StringRELATED"RELATED"
    -public static final StringRELTYPE"RELTYPE"
    -public static final StringROLE"ROLE"
    -public static final StringRSVP"RSVP"
    -public static final StringSCHEDULE_AGENT"SCHEDULE-AGENT"
    -public static final StringSCHEDULE_STATUS"SCHEDULE-STATUS"
    -public static final StringSENT_BY"SENT-BY"
    -public static final StringTYPE"TYPE"
    -public static final StringTZID"TZID"
    -public static final StringVALUE"VALUE"
    -public static final StringVVENUE"VVENUE"
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.model.Property
    -public static final StringACTION"ACTION"
    -public static final StringATTACH"ATTACH"
    -public static final StringATTENDEE"ATTENDEE"
    -public static final StringBUSYTYPE"BUSYTYPE"
    -public static final StringCALSCALE"CALSCALE"
    -public static final StringCATEGORIES"CATEGORIES"
    -public static final StringCLASS"CLASS"
    -public static final StringCOMMENT"COMMENT"
    -public static final StringCOMPLETED"COMPLETED"
    -public static final StringCONTACT"CONTACT"
    -public static final StringCOUNTRY"COUNTRY"
    -public static final StringCREATED"CREATED"
    -public static final StringDESCRIPTION"DESCRIPTION"
    -public static final StringDTEND"DTEND"
    -public static final StringDTSTAMP"DTSTAMP"
    -public static final StringDTSTART"DTSTART"
    -public static final StringDUE"DUE"
    -public static final StringDURATION"DURATION"
    -public static final StringEXDATE"EXDATE"
    -public static final StringEXPERIMENTAL_PREFIX"X-"
    -public static final StringEXRULE"EXRULE"
    -public static final StringEXTENDED_ADDRESS"EXTENDED-ADDRESS"
    -public static final StringFREEBUSY"FREEBUSY"
    -public static final StringGEO"GEO"
    -public static final StringLAST_MODIFIED"LAST-MODIFIED"
    -public static final StringLOCALITY"LOCALITY"
    -public static final StringLOCATION"LOCATION"
    -public static final StringLOCATION_TYPE"LOCATION-TYPE"
    -public static final StringMETHOD"METHOD"
    -public static final StringNAME"NAME"
    -public static final StringORGANIZER"ORGANIZER"
    -public static final StringPERCENT_COMPLETE"PERCENT-COMPLETE"
    -public static final StringPOSTALCODE"POSTAL-CODE"
    -public static final StringPRIORITY"PRIORITY"
    -public static final StringPRODID"PRODID"
    -public static final StringRDATE"RDATE"
    -public static final StringRECURRENCE_ID"RECURRENCE-ID"
    -public static final StringREGION"REGION"
    -public static final StringRELATED_TO"RELATED-TO"
    -public static final StringREPEAT"REPEAT"
    -public static final StringREQUEST_STATUS"REQUEST-STATUS"
    -public static final StringRESOURCES"RESOURCES"
    -public static final StringRRULE"RRULE"
    -public static final StringSEQUENCE"SEQUENCE"
    -public static final StringSTATUS"STATUS"
    -public static final StringSTREET_ADDRESS"STREET-ADDRESS"
    -public static final StringSUMMARY"SUMMARY"
    -public static final StringTEL"TEL"
    -public static final StringTRANSP"TRANSP"
    -public static final StringTRIGGER"TRIGGER"
    -public static final StringTZID"TZID"
    -public static final StringTZNAME"TZNAME"
    -public static final StringTZOFFSETFROM"TZOFFSETFROM"
    -public static final StringTZOFFSETTO"TZOFFSETTO"
    -public static final StringTZURL"TZURL"
    -public static final StringUID"UID"
    -public static final StringURL"URL"
    -public static final StringVERSION"VERSION"
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.model.Recur
    -public static final StringDAILY"DAILY"
    -public static final StringHOURLY"HOURLY"
    -public static final StringKEY_MAX_INCREMENT_COUNT"net.fortuna.ical4j.recur.maxincrementcount"
    -public static final StringMINUTELY"MINUTELY"
    -public static final StringMONTHLY"MONTHLY"
    -public static final StringSECONDLY"SECONDLY"
    -public static final StringWEEKLY"WEEKLY"
    -public static final StringYEARLY"YEARLY"
    - -

    - -

    - - - - - - - - - - - - -
    net.fortuna.ical4j.model.TimeZoneRegistryFactory
    -public static final StringKEY_FACTORY_CLASS"net.fortuna.ical4j.timezone.registry"
    - -

    - -

    - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.model.component.Observance
    -public static final StringDAYLIGHT"DAYLIGHT"
    -public static final StringSTANDARD"STANDARD"
    - -

    - -

    - - - - - - - - - - - - -
    net.fortuna.ical4j.model.parameter.TzId
    -public static final StringPREFIX"/"
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.model.property.RequestStatus
    -public static final StringCLIENT_ERROR"3"
    -public static final StringPRELIM_SUCCESS"1"
    -public static final StringSCHEDULING_ERROR"4"
    -public static final StringSUCCESS"2"
    - -

    - -

    - - - - - - - - - - - - -
    net.fortuna.ical4j.model.property.TzId
    -public static final StringPREFIX"/"
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.util.CompatibilityHints
    -public static final StringKEY_NOTES_COMPATIBILITY"ical4j.compatibility.notes"
    -public static final StringKEY_OUTLOOK_COMPATIBILITY"ical4j.compatibility.outlook"
    -public static final StringKEY_RELAXED_PARSING"ical4j.parsing.relaxed"
    -public static final StringKEY_RELAXED_UNFOLDING"ical4j.unfolding.relaxed"
    -public static final StringKEY_RELAXED_VALIDATION"ical4j.validation.relaxed"
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.util.Dates
    -public static final intDAYS_PER_WEEK7
    -public static final intMAX_DAYS_PER_MONTH31
    -public static final intMAX_DAYS_PER_YEAR366
    -public static final intMAX_WEEKS_PER_YEAR53
    -public static final longMILLIS_PER_DAY86400000L
    -public static final longMILLIS_PER_HOUR3600000L
    -public static final longMILLIS_PER_MINUTE60000L
    -public static final longMILLIS_PER_SECOND1000L
    -public static final longMILLIS_PER_WEEK604800000L
    -public static final intPRECISION_DAY1
    -public static final intPRECISION_SECOND0
    - -

    - -

    - - - - - - - - - - - - -
    net.fortuna.ical4j.util.DecoderFactory
    -public static final StringKEY_FACTORY_CLASS"net.fortuna.ical4j.factory.decoder"
    - -

    - -

    - - - - - - - - - - - - -
    net.fortuna.ical4j.util.EncoderFactory
    -public static final StringKEY_FACTORY_CLASS"net.fortuna.ical4j.factory.encoder"
    - -

    - -

    - - - - - - - - - - - - -
    net.fortuna.ical4j.util.Strings
    -public static final StringLINE_SEPARATOR"\r\n"
    - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - -
    net.fortuna.ical4j.util.TimeZones
    -public static final StringGMT_ID"Etc/GMT"
    -public static final StringIBM_UTC_ID"GMT"
    -public static final StringUTC_ID"Etc/UTC"
    - -

    - -

    - - - - - - - - - - - - -
    net.fortuna.ical4j.util.Uris
    -public static final StringINVALID_SCHEME"net.fortunal.ical4j.invalid"
    - -

    - -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/deprecated-list.html b/libs/ical4j-1.0.4/docs/apidocs/deprecated-list.html deleted file mode 100644 index dd32e702..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/deprecated-list.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -Deprecated List (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Deprecated API

    -
    -
    -Contents - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Deprecated Methods
    net.fortuna.ical4j.model.Period.includes(Date, boolean) -
    -          use DateRange.includes(Date, int) instead. 
    net.fortuna.ical4j.util.Dates.round(long, int) -
    -          It is not all that useful to perform rounding without specifying an - explicit timezone. 
    net.fortuna.ical4j.model.component.CalendarComponent.validateAdd() -
    -            
    net.fortuna.ical4j.model.component.CalendarComponent.validateCancel() -
    -            
    net.fortuna.ical4j.model.component.CalendarComponent.validateCounter() -
    -            
    net.fortuna.ical4j.model.component.CalendarComponent.validateDeclineCounter() -
    -            
    net.fortuna.ical4j.model.component.CalendarComponent.validatePublish() -
    -            
    net.fortuna.ical4j.model.component.CalendarComponent.validateRefresh() -
    -            
    net.fortuna.ical4j.model.component.CalendarComponent.validateReply() -
    -            
    net.fortuna.ical4j.model.component.CalendarComponent.validateRequest() -
    -            
    -  -

    - - - - - - - - - - - -
    -Deprecated Constructors
    net.fortuna.ical4j.filter.Filter(Rule) -
    -          Prior implementations of this class did not work as advertised, so - to avoid confusion please use constructors that explicitly specify the desired behaviour 
    net.fortuna.ical4j.model.Property(Property) -
    -          Use Property.copy() instead 
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/help-doc.html b/libs/ical4j-1.0.4/docs/apidocs/help-doc.html deleted file mode 100644 index 3732947f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/help-doc.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - -API Help (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -How This API Document Is Organized

    -
    -This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

    -Overview

    -
    - -

    -The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

    -

    -Package

    -
    - -

    -Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

      -
    • Interfaces (italic)
    • Classes
    • Enums
    • Exceptions
    • Errors
    • Annotation Types
    -
    -

    -Class/Interface

    -
    - -

    -Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      -
    • Class inheritance diagram
    • Direct Subclasses
    • All Known Subinterfaces
    • All Known Implementing Classes
    • Class/interface declaration
    • Class/interface description -

      -

    • Nested Class Summary
    • Field Summary
    • Constructor Summary
    • Method Summary -

      -

    • Field Detail
    • Constructor Detail
    • Method Detail
    -Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
    - -

    -Annotation Type

    -
    - -

    -Each annotation type has its own separate page with the following sections:

      -
    • Annotation Type declaration
    • Annotation Type description
    • Required Element Summary
    • Optional Element Summary
    • Element Detail
    -
    - -

    -Enum

    -
    - -

    -Each enum has its own separate page with the following sections:

      -
    • Enum declaration
    • Enum description
    • Enum Constant Summary
    • Enum Constant Detail
    -
    -

    -Use

    -
    -Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
    -

    -Tree (Class Hierarchy)

    -
    -There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
      -
    • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
    • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
    -
    -

    -Deprecated API

    -
    -The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
    -

    -Index

    -
    -The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
    -

    -Prev/Next

    -These links take you to the next or previous class, interface, package, or related page.

    -Frames/No Frames

    -These links show and hide the HTML frames. All pages are available with or without frames. -

    -

    -Serialized Form

    -Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. -

    -

    -Constant Field Values

    -The Constant Field Values page lists the static final fields and their values. -

    - - -This help file applies to API documentation generated using the standard doclet. - -
    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/index-all.html b/libs/ical4j-1.0.4/docs/apidocs/index-all.html deleted file mode 100644 index b7cd8818..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/index-all.html +++ /dev/null @@ -1,5368 +0,0 @@ - - - - - - - -Index (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -A B C D E F G H I K L M N O P Q R S T U V W X Y
    -

    -A

    -
    -
    Abbrev - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines an Abbreviation parameter.
    ABBREV - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Region abbreviation. -
    Abbrev(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Abbrev -
      -
    AbstractContentFactory - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 28/01/2007 - - Abstract implementation of a content factory.
    AbstractContentFactory() - -Constructor for class net.fortuna.ical4j.model.AbstractContentFactory -
    Default constructor. -
    AbstractDateRule - Class in net.fortuna.ical4j.filter
     
    AbstractDateRule() - -Constructor for class net.fortuna.ical4j.filter.AbstractDateRule -
      -
    AbstractOutputter - Class in net.fortuna.ical4j.data
    Base class for model outputters.
    AbstractOutputter() - -Constructor for class net.fortuna.ical4j.data.AbstractOutputter -
    Default constructor. -
    AbstractOutputter(boolean) - -Constructor for class net.fortuna.ical4j.data.AbstractOutputter -
      -
    AbstractOutputter(boolean, int) - -Constructor for class net.fortuna.ical4j.data.AbstractOutputter -
      -
    ACCEPTED - -Static variable in class net.fortuna.ical4j.model.parameter.PartStat -
    Accepted. -
    Action - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines an ACTION iCalendar component property.
    ACTION - -Static variable in class net.fortuna.ical4j.model.Property -
    Alarm action property name. -
    Action() - -Constructor for class net.fortuna.ical4j.model.property.Action -
    Default constructor. -
    Action(String) - -Constructor for class net.fortuna.ical4j.model.property.Action -
      -
    Action(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Action -
      -
    add(URI) - -Method in class net.fortuna.ical4j.model.AddressList -
    Add an address to the list. -
    add(Component) - -Method in class net.fortuna.ical4j.model.ComponentList -
    Add a component to the list. -
    add(Object) - -Method in class net.fortuna.ical4j.model.ComponentList -
    Overrides superclass to throw an IllegalArgumentException where argument is not a - net.fortuna.ical4j.model.Component. -
    add(Date) - -Method in class net.fortuna.ical4j.model.DateList -
    Add a date to the list. -
    add(Object) - -Method in class net.fortuna.ical4j.model.DateList -
    Overrides superclass to throw an IllegalArgumentException - Where argument is not a net.fortuna.ical4j.model.Date. -
    add(int, Object) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    add(Dur) - -Method in class net.fortuna.ical4j.model.Dur -
    Add two durations. -
    add(String) - -Method in class net.fortuna.ical4j.model.LocationTypeList -
    Add a location type to the list. -
    add(Integer) - -Method in class net.fortuna.ical4j.model.NumberList -
      -
    add(Object) - -Method in class net.fortuna.ical4j.model.NumberList -
    Overrides superclass to throw an IllegalArgumentException - where argument is not a java.lang.Integer. -
    add(Parameter) - -Method in class net.fortuna.ical4j.model.ParameterList -
    Add a parameter to the list. -
    add(Period) - -Method in class net.fortuna.ical4j.model.Period -
    Creates a period that encompasses both this period and another one. -
    add(Period) - -Method in class net.fortuna.ical4j.model.PeriodList -
    Add a period to the list. -
    add(Object) - -Method in class net.fortuna.ical4j.model.PeriodList -
    Overrides superclass to throw an IllegalArgumentException - where argument is not a net.fortuna.ical4j.model.Period. -
    add(PeriodList) - -Method in class net.fortuna.ical4j.model.PeriodList -
    A convenience method that combines all the periods in the specified list to - this list. -
    ADD - -Static variable in class net.fortuna.ical4j.model.property.Method -
    Add one or more instances to an existing VEVENT, VTODO, or VJOURNAL. -
    add(Property) - -Method in class net.fortuna.ical4j.model.PropertyList -
    Add a property to the list. -
    add(Object) - -Method in class net.fortuna.ical4j.model.PropertyList -
    Overrides superclass to throw an IllegalArgumentException where argument is not a - net.fortuna.ical4j.model.Property. -
    add(String) - -Method in class net.fortuna.ical4j.model.TextList -
    Add an address to the list. -
    add(WeekDay) - -Method in class net.fortuna.ical4j.model.WeekDayList -
      -
    add(Object) - -Method in class net.fortuna.ical4j.model.WeekDayList -
    Overrides superclass to throw an IllegalArgumentException - where argument is not a net.fortuna.ical4j.model.WeekDay. -
    addAll(Collection) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    addAll(int, Collection) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    addAll(Collection) - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    AddressList - Class in net.fortuna.ical4j.model
    $Id$ [23-Apr-2004] - - Defines a list of iCalendar addresses.
    AddressList() - -Constructor for class net.fortuna.ical4j.model.AddressList -
    Default constructor. -
    AddressList(String) - -Constructor for class net.fortuna.ical4j.model.AddressList -
    Parses the specified string representation to create a list of addresses. -
    adjacent(DateRange) - -Method in class net.fortuna.ical4j.model.DateRange -
    Decides whether these periods are serial without a gap. -
    after(DateRange) - -Method in class net.fortuna.ical4j.model.DateRange -
    Decides whether this period starts after the given period ends. -
    allowIllegalNames() - -Method in class net.fortuna.ical4j.model.AbstractContentFactory -
      -
    allowIllegalNames() - -Method in class net.fortuna.ical4j.model.ComponentFactory -
      -
    AltRep - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines an Alternate Text Representation parameter.
    ALTREP - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Alternate text representation. -
    AltRep(String) - -Constructor for class net.fortuna.ical4j.model.parameter.AltRep -
      -
    AltRep(URI) - -Constructor for class net.fortuna.ical4j.model.parameter.AltRep -
      -
    assertNone(String, ComponentList) - -Static method in class net.fortuna.ical4j.util.ComponentValidator -
      -
    assertNone(String, ParameterList) - -Method in class net.fortuna.ical4j.util.ParameterValidator -
    Ensure a parameter doesn't occur in the specified list. -
    assertNone(String, PropertyList) - -Method in class net.fortuna.ical4j.util.PropertyValidator -
    Ensure a property doesn't occur in the specified list. -
    assertNullOrEqual(Parameter, ParameterList) - -Method in class net.fortuna.ical4j.util.ParameterValidator -
      -
    assertOne(String, ParameterList) - -Method in class net.fortuna.ical4j.util.ParameterValidator -
    Ensure a parameter occurs once. -
    assertOne(String, PropertyList) - -Method in class net.fortuna.ical4j.util.PropertyValidator -
    Ensure a property occurs once. -
    assertOneOrLess(String, ComponentList) - -Static method in class net.fortuna.ical4j.util.ComponentValidator -
      -
    assertOneOrLess(String, ParameterList) - -Method in class net.fortuna.ical4j.util.ParameterValidator -
    Ensure a parameter occurs no more than once. -
    assertOneOrLess(String, PropertyList) - -Method in class net.fortuna.ical4j.util.PropertyValidator -
    Ensure a property occurs no more than once. -
    assertOneOrMore(String, PropertyList) - -Method in class net.fortuna.ical4j.util.PropertyValidator -
    Ensure a property occurs at least once. -
    Attach - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines an ATTACH iCalendar component property.
    ATTACH - -Static variable in class net.fortuna.ical4j.model.Property -
    Attachment property name. -
    Attach() - -Constructor for class net.fortuna.ical4j.model.property.Attach -
    Default constructor. -
    Attach(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Attach -
      -
    Attach(byte[]) - -Constructor for class net.fortuna.ical4j.model.property.Attach -
      -
    Attach(ParameterList, byte[]) - -Constructor for class net.fortuna.ical4j.model.property.Attach -
      -
    Attach(URI) - -Constructor for class net.fortuna.ical4j.model.property.Attach -
      -
    Attach(ParameterList, URI) - -Constructor for class net.fortuna.ical4j.model.property.Attach -
      -
    Attendee - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines an ATTENDEE iCalendar component property.
    ATTENDEE - -Static variable in class net.fortuna.ical4j.model.Property -
    Attendee property name. -
    Attendee() - -Constructor for class net.fortuna.ical4j.model.property.Attendee -
    Default constructor. -
    Attendee(String) - -Constructor for class net.fortuna.ical4j.model.property.Attendee -
      -
    Attendee(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Attendee -
      -
    Attendee(URI) - -Constructor for class net.fortuna.ical4j.model.property.Attendee -
      -
    Attendee(ParameterList, URI) - -Constructor for class net.fortuna.ical4j.model.property.Attendee -
      -
    AUDIO - -Static variable in class net.fortuna.ical4j.model.property.Action -
    Constant action for playing an audible sound. -
    Available - Class in net.fortuna.ical4j.model.component
    $Id$ [05-Apr-2004] - - Defines an iCalendar Available component.
    AVAILABLE - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    Available() - -Constructor for class net.fortuna.ical4j.model.component.Available -
    Default constructor. -
    Available(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.Available -
    Constructor. -
    -
    -

    -B

    -
    -
    BASE64 - -Static variable in class net.fortuna.ical4j.model.parameter.Encoding -
    Base64 encoding. -
    before(DateRange) - -Method in class net.fortuna.ical4j.model.DateRange -
    Decides whether this period is completed before the given period starts. -
    BEGIN - -Static variable in class net.fortuna.ical4j.model.Calendar -
    Begin token. -
    BEGIN - -Static variable in class net.fortuna.ical4j.model.Component -
    Component start token. -
    BINARY - -Static variable in class net.fortuna.ical4j.model.parameter.Encoding -
    Binary encoding. -
    BINARY - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Binary value type. -
    BOOLEAN - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Boolean value type. -
    build(InputStream) - -Method in class net.fortuna.ical4j.data.CalendarBuilder -
    Builds an iCalendar model from the specified input stream. -
    build(Reader) - -Method in class net.fortuna.ical4j.data.CalendarBuilder -
    Builds an iCalendar model from the specified reader. -
    build(UnfoldingReader) - -Method in class net.fortuna.ical4j.data.CalendarBuilder -
    Build an iCalendar model by parsing data from the specified reader. -
    BUSY - -Static variable in class net.fortuna.ical4j.model.parameter.FbType -
    Busy time. -
    BUSY - -Static variable in class net.fortuna.ical4j.model.property.BusyType -
    Constant for busy time. -
    BUSY_TENTATIVE - -Static variable in class net.fortuna.ical4j.model.parameter.FbType -
    Busy (tentative) time. -
    BUSY_TENTATIVE - -Static variable in class net.fortuna.ical4j.model.property.BusyType -
    Constant for tentatively busy time. -
    BUSY_UNAVAILABLE - -Static variable in class net.fortuna.ical4j.model.parameter.FbType -
    Busy (unavailable) time. -
    BUSY_UNAVAILABLE - -Static variable in class net.fortuna.ical4j.model.property.BusyType -
    Constant for busy unavailable time. -
    BusyType - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a BUSYTYPE iCalendar component property.
    BUSYTYPE - -Static variable in class net.fortuna.ical4j.model.Property -
    Busy type property name. -
    BusyType() - -Constructor for class net.fortuna.ical4j.model.property.BusyType -
    Default constructor. -
    BusyType(String) - -Constructor for class net.fortuna.ical4j.model.property.BusyType -
      -
    BusyType(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.BusyType -
      -
    -
    -

    -C

    -
    -
    CAL_ADDRESS - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Calendar address value type. -
    calculateRecurrenceSet(Period) - -Method in class net.fortuna.ical4j.model.Component -
    Calculates the recurrence set for this component using the specified period. -
    calendar - -Variable in class net.fortuna.ical4j.data.CalendarBuilder -
    The calendar instance created by the builder. -
    Calendar - Class in net.fortuna.ical4j.model
    $Id$ [Apr 5, 2004] - - Defines an iCalendar calendar.
    Calendar() - -Constructor for class net.fortuna.ical4j.model.Calendar -
    Default constructor. -
    Calendar(ComponentList) - -Constructor for class net.fortuna.ical4j.model.Calendar -
    Constructs a new calendar with no properties and the specified components. -
    Calendar(PropertyList, ComponentList) - -Constructor for class net.fortuna.ical4j.model.Calendar -
    Constructor. -
    Calendar(Calendar) - -Constructor for class net.fortuna.ical4j.model.Calendar -
    Creates a deep copy of the specified calendar. -
    CalendarBuilder - Class in net.fortuna.ical4j.data
    Parses and builds an iCalendar model from an input stream.
    CalendarBuilder() - -Constructor for class net.fortuna.ical4j.data.CalendarBuilder -
    Default constructor. -
    CalendarBuilder(CalendarParser) - -Constructor for class net.fortuna.ical4j.data.CalendarBuilder -
    Constructs a new calendar builder using the specified calendar parser. -
    CalendarBuilder(TimeZoneRegistry) - -Constructor for class net.fortuna.ical4j.data.CalendarBuilder -
    Constructs a new calendar builder using the specified timezone registry. -
    CalendarBuilder(CalendarParser, TimeZoneRegistry) - -Constructor for class net.fortuna.ical4j.data.CalendarBuilder -
    Constructs a new instance using the specified parser and registry. -
    CalendarBuilder(CalendarParser, PropertyFactoryRegistry, ParameterFactoryRegistry, TimeZoneRegistry) - -Constructor for class net.fortuna.ical4j.data.CalendarBuilder -
      -
    CalendarComponent - Class in net.fortuna.ical4j.model.component
    $Id$ - - Created on 26/02/2006 - - Base class for components that may be added to a calendar.
    CalendarComponent(String) - -Constructor for class net.fortuna.ical4j.model.component.CalendarComponent -
      -
    CalendarComponent(String, PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.CalendarComponent -
      -
    CalendarDateFormatFactory - Class in net.fortuna.ical4j.model
    $Id$ [06-Apr-2004] - - Creates DateFormat objects optimized for common iCalendar date patterns.
    CalendarException - Exception in net.fortuna.ical4j.model
     
    CalendarException(String) - -Constructor for exception net.fortuna.ical4j.model.CalendarException -
      -
    CalendarException(Throwable) - -Constructor for exception net.fortuna.ical4j.model.CalendarException -
      -
    CalendarOutputter - Class in net.fortuna.ical4j.data
    - $Id$ [Apr 5, 2004]
    CalendarOutputter() - -Constructor for class net.fortuna.ical4j.data.CalendarOutputter -
    Default constructor. -
    CalendarOutputter(boolean) - -Constructor for class net.fortuna.ical4j.data.CalendarOutputter -
      -
    CalendarOutputter(boolean, int) - -Constructor for class net.fortuna.ical4j.data.CalendarOutputter -
      -
    CalendarParser - Interface in net.fortuna.ical4j.data
    - $Id$ - - Created [Nov 5, 2004]
    CalendarParserFactory - Class in net.fortuna.ical4j.data
    - $Id$ - - Created on 08/02/2007
    CalendarParserFactory() - -Constructor for class net.fortuna.ical4j.data.CalendarParserFactory -
      -
    CalendarParserImpl - Class in net.fortuna.ical4j.data
    - $Id$ - - Created [Nov 5, 2004]
    CalendarParserImpl() - -Constructor for class net.fortuna.ical4j.data.CalendarParserImpl -
      -
    Calendars - Class in net.fortuna.ical4j.util
    $Id$ - - Created on 10/11/2006 - - Utility method for working with Calendars.
    CalScale - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a CALSCALE iCalendar property.
    CALSCALE - -Static variable in class net.fortuna.ical4j.model.Property -
    Calendar scale property name. -
    CalScale() - -Constructor for class net.fortuna.ical4j.model.property.CalScale -
    Default constructor. -
    CalScale(String) - -Constructor for class net.fortuna.ical4j.model.property.CalScale -
      -
    CalScale(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.CalScale -
      -
    CANCEL - -Static variable in class net.fortuna.ical4j.model.property.Method -
    Cancel one or more instances of an existing VEVENT, VTODO, or VJOURNAL. -
    Categories - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a CATEGORIES iCalendar component property.
    CATEGORIES - -Static variable in class net.fortuna.ical4j.model.Property -
    Categories property name. -
    Categories() - -Constructor for class net.fortuna.ical4j.model.property.Categories -
    Default constructor. -
    Categories(String) - -Constructor for class net.fortuna.ical4j.model.property.Categories -
      -
    Categories(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Categories -
      -
    Categories(TextList) - -Constructor for class net.fortuna.ical4j.model.property.Categories -
      -
    Categories(ParameterList, TextList) - -Constructor for class net.fortuna.ical4j.model.property.Categories -
      -
    CHAIR - -Static variable in class net.fortuna.ical4j.model.parameter.Role -
    Chair. -
    CHILD - -Static variable in class net.fortuna.ical4j.model.parameter.RelType -
    Child. -
    CLASS - -Static variable in class net.fortuna.ical4j.model.Property -
    Classifier property name. -
    Clazz - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a CLASS iCalendar property.
    Clazz() - -Constructor for class net.fortuna.ical4j.model.property.Clazz -
    Default constructor. -
    Clazz(String) - -Constructor for class net.fortuna.ical4j.model.property.Clazz -
      -
    Clazz(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Clazz -
      -
    clear() - -Method in class net.fortuna.ical4j.model.DateList -
      -
    clear() - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    clear() - -Method in interface net.fortuna.ical4j.model.TimeZoneRegistry -
    Clears all registered timezones. -
    clear() - -Method in class net.fortuna.ical4j.model.TimeZoneRegistryImpl -
    Clears all registered timezones. -
    clearHintEnabled(String) - -Static method in class net.fortuna.ical4j.util.CompatibilityHints -
      -
    CLIENT - -Static variable in class net.fortuna.ical4j.model.parameter.ScheduleAgent -
      -
    CLIENT_ERROR - -Static variable in class net.fortuna.ical4j.model.property.RequestStatus -
    Client error status. -
    Cn - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Common Name parameter.
    CN - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Common name. -
    Cn(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Cn -
      -
    Comment - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a COMMENT iCalendar component property.
    COMMENT - -Static variable in class net.fortuna.ical4j.model.Property -
    Comment property name. -
    Comment() - -Constructor for class net.fortuna.ical4j.model.property.Comment -
    Default constructor. -
    Comment(String) - -Constructor for class net.fortuna.ical4j.model.property.Comment -
      -
    Comment(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Comment -
      -
    compareTo(Object) - -Method in class net.fortuna.ical4j.model.Dur -
    -
    compareTo(Dur) - -Method in class net.fortuna.ical4j.model.Dur -
    Compares this duration with another, acording to their length. -
    compareTo(Object) - -Method in class net.fortuna.ical4j.model.Period -
    -
    compareTo(Period) - -Method in class net.fortuna.ical4j.model.Period -
    Compares the specified period with this period. -
    CompatibilityHints - Class in net.fortuna.ical4j.util
    $Id$ - - Created on 9/03/2006 - - A set of keys used to enable compatibility features.
    COMPLETED - -Static variable in class net.fortuna.ical4j.model.parameter.PartStat -
    Completed. -
    Completed - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a COMPLETED iCalendar component property.
    COMPLETED - -Static variable in class net.fortuna.ical4j.model.Property -
    Completed date property name. -
    Completed() - -Constructor for class net.fortuna.ical4j.model.property.Completed -
    Default constructor. -
    Completed(String) - -Constructor for class net.fortuna.ical4j.model.property.Completed -
      -
    Completed(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Completed -
      -
    Completed(DateTime) - -Constructor for class net.fortuna.ical4j.model.property.Completed -
      -
    Completed(ParameterList, DateTime) - -Constructor for class net.fortuna.ical4j.model.property.Completed -
      -
    component - -Variable in class net.fortuna.ical4j.data.CalendarBuilder -
    The current component instance created by the builder. -
    Component - Class in net.fortuna.ical4j.model
    $Id$ [Apr 5, 2004] - - Defines an iCalendar component.
    Component(String) - -Constructor for class net.fortuna.ical4j.model.Component -
    Constructs a new component containing no properties. -
    Component(String, PropertyList) - -Constructor for class net.fortuna.ical4j.model.Component -
    Constructor made protected to enforce the use of ComponentFactory for component instantiation. -
    ComponentFactory - Class in net.fortuna.ical4j.model
    $Id$ [05-Apr-2004] - - A factory for creating iCalendar components.
    ComponentList - Class in net.fortuna.ical4j.model
    $Id$ [Apr 5, 2004] - - Defines a list of iCalendar components.
    ComponentList() - -Constructor for class net.fortuna.ical4j.model.ComponentList -
    Default constructor. -
    ComponentList(int) - -Constructor for class net.fortuna.ical4j.model.ComponentList -
    Creates a new instance with the specified initial capacity. -
    ComponentList(ComponentList) - -Constructor for class net.fortuna.ical4j.model.ComponentList -
    Creates a deep copy of the specified component list. -
    ComponentRule - Class in net.fortuna.ical4j.filter
    $Id$ - - Created on 2/02/2006 - - An abstract rule implementation serving as the base class for component matching rule implementations.
    ComponentRule() - -Constructor for class net.fortuna.ical4j.filter.ComponentRule -
      -
    ComponentValidator - Class in net.fortuna.ical4j.util
     
    CONFIDENTIAL - -Static variable in class net.fortuna.ical4j.model.property.Clazz -
    Constant for confidential classification. -
    Configurator - Class in net.fortuna.ical4j.util
    $Id$ - - Created on 06/02/2008 - - Provides configuration properties specified either as system properties - or in an ical4j.properties configuration file.
    Constants - Class in net.fortuna.ical4j.util
    $Id$ - - Created on 5/07/2005 - - Provides some convenience methods for working with constant - parameters and properties.
    ConstraintViolationException - Exception in net.fortuna.ical4j.model
    $Id$ - - Created on 02/03/2008 - - Indicates the violation of a constraint imposed by a relevant specification.
    ConstraintViolationException() - -Constructor for exception net.fortuna.ical4j.model.ConstraintViolationException -
    Default constructor. -
    ConstraintViolationException(String) - -Constructor for exception net.fortuna.ical4j.model.ConstraintViolationException -
      -
    Contact - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a CONTACT iCalendar component property.
    CONTACT - -Static variable in class net.fortuna.ical4j.model.Property -
    Contact property name. -
    Contact() - -Constructor for class net.fortuna.ical4j.model.property.Contact -
    Default constructor. -
    Contact(String) - -Constructor for class net.fortuna.ical4j.model.property.Contact -
      -
    Contact(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Contact -
      -
    contains(Object) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    contains(DateRange) - -Method in class net.fortuna.ical4j.model.DateRange -
    Decides whether the given period is completely contained within this one. -
    contains(Object) - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    containsAll(Collection) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    containsAll(Collection) - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    Content - Class in net.fortuna.ical4j.model
    $Id$ - - Created: 12/10/2004 - - Base class for calendar content in the form of - properties and parameters.
    Content() - -Constructor for class net.fortuna.ical4j.model.Content -
      -
    ContentHandler - Interface in net.fortuna.ical4j.data
    - $Id$ [Nov 5, - 2004]
    copy() - -Method in class net.fortuna.ical4j.model.Component -
    Create a (deep) copy of this component. -
    copy() - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Overrides default copy method to add support for copying alarm sub-components. -
    copy() - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
    Overrides default copy method to add support for copying observance sub-components. -
    copy() - -Method in class net.fortuna.ical4j.model.component.VToDo -
    Overrides default copy method to add support for copying alarm sub-components. -
    copy() - -Method in class net.fortuna.ical4j.model.Parameter -
    Deep copy of parameter. -
    copy() - -Method in class net.fortuna.ical4j.model.parameter.Rsvp -
    Deep copy of parameter. -
    copy() - -Method in class net.fortuna.ical4j.model.property.Attendee -
    Create a (deep) copy of this property. -
    copy() - -Method in class net.fortuna.ical4j.model.Property -
    Create a (deep) copy of this property. -
    copy() - -Method in class net.fortuna.ical4j.model.property.DateListProperty -
    Create a (deep) copy of this property. -
    copy() - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    Create a (deep) copy of this property. -
    COUNTER - -Static variable in class net.fortuna.ical4j.model.property.Method -
    The Counter method is used by an "Attendee" to negotiate a change in the calendar entry. -
    Country - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    COUNTRY - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE country property name. -
    Country() - -Constructor for class net.fortuna.ical4j.model.property.Country -
    Default constructor. -
    Country(String) - -Constructor for class net.fortuna.ical4j.model.property.Country -
      -
    Country(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Country -
      -
    create(String) - -Static method in class net.fortuna.ical4j.util.Uris -
    Attempts to create a URI instance and will optionally swallow any resulting URISyntaxException depending on - configured CompatibilityHints. -
    createBinaryDecoder(Encoding) - -Method in class net.fortuna.ical4j.util.DecoderFactory -
    Returns a new BinaryDecoder for the specified encoding. -
    createBinaryDecoder(Encoding) - -Method in class net.fortuna.ical4j.util.DefaultDecoderFactory -
    Returns a new BinaryDecoder for the specified encoding. -
    createBinaryEncoder(Encoding) - -Method in class net.fortuna.ical4j.util.DefaultEncoderFactory -
    Returns a new BinaryEncoder for the specified encoding. -
    createBinaryEncoder(Encoding) - -Method in class net.fortuna.ical4j.util.EncoderFactory -
    Returns a new BinaryEncoder for the specified encoding. -
    createComponent(String) - -Method in class net.fortuna.ical4j.model.ComponentFactory -
      -
    createComponent(String, PropertyList) - -Method in class net.fortuna.ical4j.model.ComponentFactory -
    Creates a component. -
    createComponent(String, PropertyList, ComponentList) - -Method in class net.fortuna.ical4j.model.ComponentFactory -
    Creates a component which contains sub-components. -
    Created - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a CREATED iCalendar component property.
    CREATED - -Static variable in class net.fortuna.ical4j.model.Property -
    Creation date property name. -
    Created() - -Constructor for class net.fortuna.ical4j.model.property.Created -
    Default constructor. -
    Created(String) - -Constructor for class net.fortuna.ical4j.model.property.Created -
      -
    Created(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Created -
      -
    Created(DateTime) - -Constructor for class net.fortuna.ical4j.model.property.Created -
      -
    Created(ParameterList, DateTime) - -Constructor for class net.fortuna.ical4j.model.property.Created -
      -
    createParameter(String, String) - -Method in interface net.fortuna.ical4j.model.ParameterFactory -
    Returns a parameter instance of the appropriate type with the specified value. -
    createParameter(String, String) - -Method in class net.fortuna.ical4j.model.ParameterFactoryImpl -
    Creates a parameter. -
    createParser() - -Method in class net.fortuna.ical4j.data.CalendarParserFactory -
    Returns a new instance of the configured CalendarParser. -
    createParser() - -Method in class net.fortuna.ical4j.data.DefaultCalendarParserFactory -
    Returns a new instance of the configured CalendarParser. -
    createParser() - -Method in class net.fortuna.ical4j.data.HCalendarParserFactory -
    Returns a new instance of the configured CalendarParser. -
    createProperty(String) - -Method in interface net.fortuna.ical4j.model.PropertyFactory -
      -
    createProperty(String, ParameterList, String) - -Method in interface net.fortuna.ical4j.model.PropertyFactory -
      -
    createProperty(String) - -Method in class net.fortuna.ical4j.model.PropertyFactoryImpl -
    -
    createProperty(String, ParameterList, String) - -Method in class net.fortuna.ical4j.model.PropertyFactoryImpl -
    -
    createRegistry() - -Method in class net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory -
    Returns a new instance of the configured TimeZoneRegistry. -
    createRegistry() - -Method in class net.fortuna.ical4j.model.TimeZoneRegistryFactory -
    Returns a new instance of the configured TimeZoneRegistry. -
    createStringDecoder(Encoding) - -Method in class net.fortuna.ical4j.util.DecoderFactory -
    Returns a new StringDecoder for the specified encoding. -
    createStringDecoder(Encoding) - -Method in class net.fortuna.ical4j.util.DefaultDecoderFactory -
    Returns a new StringDecoder for the specified encoding. -
    createStringEncoder(Encoding) - -Method in class net.fortuna.ical4j.util.DefaultEncoderFactory -
    Returns a new StringEncoder for the specified encoding. -
    createStringEncoder(Encoding) - -Method in class net.fortuna.ical4j.util.EncoderFactory -
    Returns a new StringEncoder for the specified encoding. -
    CuType - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Calendar User Type.
    CUTYPE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Calendar user type. -
    CuType(String) - -Constructor for class net.fortuna.ical4j.model.parameter.CuType -
      -
    -
    -

    -D

    -
    -
    DAILY - -Static variable in class net.fortuna.ical4j.model.Recur -
    Day frequency resolution. -
    Date - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 26/06/2005 - - Base class for all representations of time values in RFC2445.
    Date() - -Constructor for class net.fortuna.ical4j.model.Date -
    Default constructor. -
    Date(int, TimeZone) - -Constructor for class net.fortuna.ical4j.model.Date -
    Creates a new date instance with the specified precision. -
    Date(long) - -Constructor for class net.fortuna.ical4j.model.Date -
      -
    Date(long, int, TimeZone) - -Constructor for class net.fortuna.ical4j.model.Date -
    Creates a new date instance with the specified precision. -
    Date(Date) - -Constructor for class net.fortuna.ical4j.model.Date -
      -
    Date(String) - -Constructor for class net.fortuna.ical4j.model.Date -
      -
    Date(String, String) - -Constructor for class net.fortuna.ical4j.model.Date -
      -
    DATE - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Date value type. -
    DATE_TIME - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Date-time value type. -
    DateInRangeRule - Class in net.fortuna.ical4j.filter
     
    DateInRangeRule(DateRange, int) - -Constructor for class net.fortuna.ical4j.filter.DateInRangeRule -
      -
    DateList - Class in net.fortuna.ical4j.model
    $Id$ [23-Apr-2004] - - Defines a list of iCalendar dates.
    DateList() - -Constructor for class net.fortuna.ical4j.model.DateList -
    Default constructor. -
    DateList(boolean) - -Constructor for class net.fortuna.ical4j.model.DateList -
      -
    DateList(Value) - -Constructor for class net.fortuna.ical4j.model.DateList -
      -
    DateList(Value, TimeZone) - -Constructor for class net.fortuna.ical4j.model.DateList -
    Default constructor. -
    DateList(String, Value) - -Constructor for class net.fortuna.ical4j.model.DateList -
      -
    DateList(String, Value, TimeZone) - -Constructor for class net.fortuna.ical4j.model.DateList -
    Parses the specified string representation to create a list of dates. -
    DateList(DateList, Value) - -Constructor for class net.fortuna.ical4j.model.DateList -
    Constructs a new date list of the specified type containing - the dates in the specified list. -
    DateListProperty - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created on 11/08/2005 - - Base class for properties with a list of dates as a value.
    DateListProperty(String, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.DateListProperty -
      -
    DateListProperty(String, ParameterList, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.DateListProperty -
      -
    DateListProperty(String, DateList, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.DateListProperty -
      -
    DateListProperty(String, ParameterList, DateList, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.DateListProperty -
      -
    DateProperty - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created on 9/07/2005 - - Base class for properties with a DATE or DATE-TIME value.
    DateProperty(String, ParameterList, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.DateProperty -
      -
    DateProperty(String, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.DateProperty -
      -
    DateProperty(String, TimeZone, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.DateProperty -
    Creates a new instance of the named property with an initial timezone. -
    DateRange - Class in net.fortuna.ical4j.model
     
    DateRange(Date, Date) - -Constructor for class net.fortuna.ical4j.model.DateRange -
      -
    Dates - Class in net.fortuna.ical4j.util
    $Id$ - - Created on 26/06/2005 - - Implements a collection of utility methods relevant to date processing.
    DateTime - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 26/06/2005 - - Represents a time of day on a specific date.
    DateTime() - -Constructor for class net.fortuna.ical4j.model.DateTime -
    Default constructor. -
    DateTime(boolean) - -Constructor for class net.fortuna.ical4j.model.DateTime -
      -
    DateTime(long) - -Constructor for class net.fortuna.ical4j.model.DateTime -
      -
    DateTime(Date) - -Constructor for class net.fortuna.ical4j.model.DateTime -
      -
    DateTime(String) - -Constructor for class net.fortuna.ical4j.model.DateTime -
    Constructs a new DateTime instance from parsing the specified string - representation in the default (local) timezone. -
    DateTime(String, TimeZone) - -Constructor for class net.fortuna.ical4j.model.DateTime -
    Creates a new date-time instance from the specified value in the given - timezone. -
    DateTime(String, String, TimeZone) - -Constructor for class net.fortuna.ical4j.model.DateTime -
      -
    DateTime(String, String, boolean) - -Constructor for class net.fortuna.ical4j.model.DateTime -
      -
    Daylight - Class in net.fortuna.ical4j.model.component
    $Id$ [05-Apr-2004] - - Defines an iCalendar daylight savings timezone observance component.
    Daylight() - -Constructor for class net.fortuna.ical4j.model.component.Daylight -
    Default constructor. -
    Daylight(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.Daylight -
    Constructor. -
    DAYLIGHT - -Static variable in class net.fortuna.ical4j.model.component.Observance -
    Token for daylight observance. -
    DAYS_PER_WEEK - -Static variable in class net.fortuna.ical4j.util.Dates -
    Number of days in one week. -
    DECLINE_COUNTER - -Static variable in class net.fortuna.ical4j.model.property.Method -
    Used by the "Organizer" to decline the proposed counter-proprosal. -
    DECLINED - -Static variable in class net.fortuna.ical4j.model.parameter.PartStat -
    Declined. -
    decode(String) - -Static method in class net.fortuna.ical4j.util.Uris -
    Decodes the specified URI string using the UTF-8 charset. -
    DecoderFactory - Class in net.fortuna.ical4j.util
    Abstract base class for decoder factory implementations.
    DecoderFactory() - -Constructor for class net.fortuna.ical4j.util.DecoderFactory -
      -
    DEFAULT_CHARSET - -Static variable in class net.fortuna.ical4j.data.AbstractOutputter -
    The default character set used to generate output. -
    DefaultCalendarParserFactory - Class in net.fortuna.ical4j.data
    - $Id$ - - Created on 08/02/2007
    DefaultCalendarParserFactory() - -Constructor for class net.fortuna.ical4j.data.DefaultCalendarParserFactory -
      -
    DefaultDecoderFactory - Class in net.fortuna.ical4j.util
    Default decoder factory implementation.
    DefaultDecoderFactory() - -Constructor for class net.fortuna.ical4j.util.DefaultDecoderFactory -
      -
    DefaultEncoderFactory - Class in net.fortuna.ical4j.util
    Default encoder factory implementation.
    DefaultEncoderFactory() - -Constructor for class net.fortuna.ical4j.util.DefaultEncoderFactory -
      -
    DefaultTimeZoneRegistryFactory - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 18/09/2005 - - Default factory implementation for timezone registries.
    DefaultTimeZoneRegistryFactory() - -Constructor for class net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory -
      -
    DELEGATED - -Static variable in class net.fortuna.ical4j.model.parameter.PartStat -
    Delegated. -
    DELEGATED_FROM - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Delegator. -
    DELEGATED_TO - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Delegatee. -
    DelegatedFrom - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Delegators parameter.
    DelegatedFrom(String) - -Constructor for class net.fortuna.ical4j.model.parameter.DelegatedFrom -
      -
    DelegatedFrom(AddressList) - -Constructor for class net.fortuna.ical4j.model.parameter.DelegatedFrom -
      -
    DelegatedTo - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Delegatees parameter.
    DelegatedTo(String) - -Constructor for class net.fortuna.ical4j.model.parameter.DelegatedTo -
      -
    DelegatedTo(AddressList) - -Constructor for class net.fortuna.ical4j.model.parameter.DelegatedTo -
      -
    Description - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a DESCRIPTION iCalendar component property.
    DESCRIPTION - -Static variable in class net.fortuna.ical4j.model.Property -
    Description property name. -
    Description() - -Constructor for class net.fortuna.ical4j.model.property.Description -
    Default constructor. -
    Description(String) - -Constructor for class net.fortuna.ical4j.model.property.Description -
      -
    Description(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Description -
      -
    Dir - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Directory Entry Reference parameter.
    DIR - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Directory entry. -
    Dir(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Dir -
      -
    Dir(URI) - -Constructor for class net.fortuna.ical4j.model.parameter.Dir -
      -
    DISPLAY - -Static variable in class net.fortuna.ical4j.model.property.Action -
    Constant action for displaying a visible notification. -
    DtEnd - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a DTEND iCalendar component property.
    DTEND - -Static variable in class net.fortuna.ical4j.model.Property -
    End date property name. -
    DtEnd() - -Constructor for class net.fortuna.ical4j.model.property.DtEnd -
    Default constructor. -
    DtEnd(TimeZone) - -Constructor for class net.fortuna.ical4j.model.property.DtEnd -
    Creates a new DTEND property initialised with the specified timezone. -
    DtEnd(String) - -Constructor for class net.fortuna.ical4j.model.property.DtEnd -
    Creates a new instance initialised with the parsed value. -
    DtEnd(String, TimeZone) - -Constructor for class net.fortuna.ical4j.model.property.DtEnd -
    Creates a new DTEND property initialised with the specified timezone and value. -
    DtEnd(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.DtEnd -
      -
    DtEnd(Date) - -Constructor for class net.fortuna.ical4j.model.property.DtEnd -
    Constructor. -
    DtEnd(Date, boolean) - -Constructor for class net.fortuna.ical4j.model.property.DtEnd -
    Constructs a new DtEnd with the specified time. -
    DtEnd(ParameterList, Date) - -Constructor for class net.fortuna.ical4j.model.property.DtEnd -
    Constructor. -
    DtStamp - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTAMP iCalendar component property.
    DTSTAMP - -Static variable in class net.fortuna.ical4j.model.Property -
    Date-stamp property name. -
    DtStamp() - -Constructor for class net.fortuna.ical4j.model.property.DtStamp -
    Default constructor. -
    DtStamp(String) - -Constructor for class net.fortuna.ical4j.model.property.DtStamp -
      -
    DtStamp(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.DtStamp -
      -
    DtStamp(DateTime) - -Constructor for class net.fortuna.ical4j.model.property.DtStamp -
      -
    DtStamp(ParameterList, DateTime) - -Constructor for class net.fortuna.ical4j.model.property.DtStamp -
      -
    DtStart - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTART iCalendar component property.
    DTSTART - -Static variable in class net.fortuna.ical4j.model.Property -
    Start date property name. -
    DtStart() - -Constructor for class net.fortuna.ical4j.model.property.DtStart -
    Default constructor. -
    DtStart(TimeZone) - -Constructor for class net.fortuna.ical4j.model.property.DtStart -
    Creates a new DTSTART property initialised with the specified timezone. -
    DtStart(String) - -Constructor for class net.fortuna.ical4j.model.property.DtStart -
      -
    DtStart(String, TimeZone) - -Constructor for class net.fortuna.ical4j.model.property.DtStart -
    Creates a new DTSTART property initialised with the specified timezone and value. -
    DtStart(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.DtStart -
      -
    DtStart(Date) - -Constructor for class net.fortuna.ical4j.model.property.DtStart -
    Constructor. -
    DtStart(Date, boolean) - -Constructor for class net.fortuna.ical4j.model.property.DtStart -
    Constructs a new DtStart with the specified time. -
    DtStart(ParameterList, Date) - -Constructor for class net.fortuna.ical4j.model.property.DtStart -
    Constructor. -
    Due - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a DUE iCalendar component property.
    DUE - -Static variable in class net.fortuna.ical4j.model.Property -
    Due date property name. -
    Due() - -Constructor for class net.fortuna.ical4j.model.property.Due -
    Default constructor. -
    Due(TimeZone) - -Constructor for class net.fortuna.ical4j.model.property.Due -
    Creates a new DUE property initialised with the specified timezone. -
    Due(String) - -Constructor for class net.fortuna.ical4j.model.property.Due -
    Creates a new instance initialised with the parsed value. -
    Due(String, TimeZone) - -Constructor for class net.fortuna.ical4j.model.property.Due -
    Creates a new DUE property initialised with the specified timezone and value. -
    Due(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Due -
      -
    Due(Date) - -Constructor for class net.fortuna.ical4j.model.property.Due -
    Constructor. -
    Due(ParameterList, Date) - -Constructor for class net.fortuna.ical4j.model.property.Due -
    Constructor. -
    Dur - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 20/06/2005 - - Represents a duration of time in iCalendar.
    Dur(String) - -Constructor for class net.fortuna.ical4j.model.Dur -
    Constructs a new duration instance from a string representation. -
    Dur(int) - -Constructor for class net.fortuna.ical4j.model.Dur -
    Constructs a new duration from the specified weeks. -
    Dur(int, int, int, int) - -Constructor for class net.fortuna.ical4j.model.Dur -
    Constructs a new duration from the specified arguments. -
    Dur(Date, Date) - -Constructor for class net.fortuna.ical4j.model.Dur -
    Constructs a new duration representing the time between the two specified dates. -
    DURATION - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Duration value type. -
    Duration - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a DURATION iCalendar component property.
    DURATION - -Static variable in class net.fortuna.ical4j.model.Property -
    Duration property name. -
    Duration() - -Constructor for class net.fortuna.ical4j.model.property.Duration -
    Default constructor. -
    Duration(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Duration -
      -
    Duration(Dur) - -Constructor for class net.fortuna.ical4j.model.property.Duration -
      -
    Duration(ParameterList, Dur) - -Constructor for class net.fortuna.ical4j.model.property.Duration -
      -
    Duration(Date, Date) - -Constructor for class net.fortuna.ical4j.model.property.Duration -
    Constructs a new duration representing the time between the specified start date and end date. -
    -
    -

    -E

    -
    -
    EIGHT_BIT - -Static variable in class net.fortuna.ical4j.model.parameter.Encoding -
    8 bit encoding. -
    EMAIL - -Static variable in class net.fortuna.ical4j.model.property.Action -
    Constant action for sending an email. -
    EMPTY_VALIDATOR - -Static variable in class net.fortuna.ical4j.model.component.CalendarComponent -
    Validator instance that does nothing. -
    encode(String) - -Static method in class net.fortuna.ical4j.util.Uris -
    Encodes the specified URI string using the UTF-8 charset. -
    EncoderFactory - Class in net.fortuna.ical4j.util
    Abstract base class for encoder factory implementations.
    EncoderFactory() - -Constructor for class net.fortuna.ical4j.util.EncoderFactory -
      -
    Encoding - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines an Inline Encoding parameter.
    ENCODING - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Inline encoding. -
    Encoding(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Encoding -
      -
    END - -Static variable in class net.fortuna.ical4j.model.Calendar -
    End token. -
    END - -Static variable in class net.fortuna.ical4j.model.Component -
    Component end token. -
    END - -Static variable in class net.fortuna.ical4j.model.parameter.Related -
    Trigger end. -
    endCalendar() - -Method in interface net.fortuna.ical4j.data.ContentHandler -
    Triggers the end of handling a calendar. -
    endComponent(String) - -Method in interface net.fortuna.ical4j.data.ContentHandler -
    Triggers the end of handling a component. -
    endProperty(String) - -Method in interface net.fortuna.ical4j.data.ContentHandler -
    Triggers the end of handling a property. -
    equals(Object) - -Method in class net.fortuna.ical4j.model.Calendar -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.Component -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.component.VEvent -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.component.VToDo -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    equals(Object) - -Method in class net.fortuna.ical4j.model.DateTime -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.Dur -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.Parameter -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.ParameterList -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.Period -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.PeriodList -
      -
    equals(Object) - -Method in class net.fortuna.ical4j.model.Property -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.UtcOffset -
    -
    equals(Object) - -Method in class net.fortuna.ical4j.model.WeekDay -
    -
    Escapable - Interface in net.fortuna.ical4j.model
    $Id$ - - Created on 26/06/2005 - - Implementors by definition require their string value to be converted to/from an escaped form when converting to/from - and iCalendar representation.
    escape(String) - -Static method in class net.fortuna.ical4j.util.Strings -
    Convenience method for escaping special characters. -
    escapeNewline(String) - -Static method in class net.fortuna.ical4j.util.Strings -
      -
    ExDate - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a EXDATE iCalendar component property.
    EXDATE - -Static variable in class net.fortuna.ical4j.model.Property -
    Exclusion date property name. -
    ExDate() - -Constructor for class net.fortuna.ical4j.model.property.ExDate -
    Default constructor. -
    ExDate(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.ExDate -
      -
    ExDate(DateList) - -Constructor for class net.fortuna.ical4j.model.property.ExDate -
      -
    ExDate(ParameterList, DateList) - -Constructor for class net.fortuna.ical4j.model.property.ExDate -
      -
    EXPERIMENTAL_PREFIX - -Static variable in class net.fortuna.ical4j.model.Component -
    Prefix for non-standard components. -
    EXPERIMENTAL_PREFIX - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Prefix to all experimental parameters. -
    EXPERIMENTAL_PREFIX - -Static variable in class net.fortuna.ical4j.model.Property -
    Prefix for non-standard properties. -
    ExRule - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a EXRULE iCalendar component property.
    EXRULE - -Static variable in class net.fortuna.ical4j.model.Property -
    Exclusion rule property name. -
    ExRule() - -Constructor for class net.fortuna.ical4j.model.property.ExRule -
    Default constructor. -
    ExRule(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.ExRule -
      -
    ExRule(Recur) - -Constructor for class net.fortuna.ical4j.model.property.ExRule -
      -
    ExRule(ParameterList, Recur) - -Constructor for class net.fortuna.ical4j.model.property.ExRule -
      -
    EXTENDED_ADDRESS - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE extended address property name. -
    ExtendedAddress - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a EXTENDED_ADDRESS iCalendar component property.
    ExtendedAddress() - -Constructor for class net.fortuna.ical4j.model.property.ExtendedAddress -
    Default constructor. -
    ExtendedAddress(String) - -Constructor for class net.fortuna.ical4j.model.property.ExtendedAddress -
      -
    ExtendedAddress(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.ExtendedAddress -
      -
    -
    -

    -F

    -
    -
    FALSE - -Static variable in class net.fortuna.ical4j.model.parameter.Rsvp -
    RSVP not required. -
    FbType - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Free/Busy Time Type parameter.
    FBTYPE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Free/busy time type. -
    FbType(String) - -Constructor for class net.fortuna.ical4j.model.parameter.FbType -
      -
    Filter - Class in net.fortuna.ical4j.filter
    $Id$ - - Created: Feb 1, 2006 - - Performs collection filtering based on a set of rules.
    Filter(Rule) - -Constructor for class net.fortuna.ical4j.filter.Filter -
    Deprecated. Prior implementations of this class did not work as advertised, so - to avoid confusion please use constructors that explicitly specify the desired behaviour -
    Filter(Rule[], int) - -Constructor for class net.fortuna.ical4j.filter.Filter -
    Constructor. -
    filter(Collection) - -Method in class net.fortuna.ical4j.filter.Filter -
    Filter the given collection into a new collection. -
    filter(Object[]) - -Method in class net.fortuna.ical4j.filter.Filter -
    Returns a filtered subset of the specified array. -
    FLOAT - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Float value type. -
    FmtType - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Format Type parameter.
    FMTTYPE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Format type. -
    FmtType(String) - -Constructor for class net.fortuna.ical4j.model.parameter.FmtType -
      -
    FoldingWriter - Class in net.fortuna.ical4j.data
    - $Id$ [Apr 6, 2004]
    FoldingWriter(Writer, int) - -Constructor for class net.fortuna.ical4j.data.FoldingWriter -
      -
    FoldingWriter(Writer) - -Constructor for class net.fortuna.ical4j.data.FoldingWriter -
      -
    foldLength - -Variable in class net.fortuna.ical4j.data.AbstractOutputter -
    The maximum line length allowed. -
    forProperty(Property) - -Static method in class net.fortuna.ical4j.util.Constants -
    Returns a constant equivalent to the specified property - if one is applicable. -
    FR - -Static variable in class net.fortuna.ical4j.model.WeekDay -
    Friday. -
    FREE - -Static variable in class net.fortuna.ical4j.model.parameter.FbType -
    Free time. -
    FreeBusy - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 14, 2004] - - Defines a FREEBUSY iCalendar component property.
    FREEBUSY - -Static variable in class net.fortuna.ical4j.model.Property -
    Free/busy property name. -
    FreeBusy() - -Constructor for class net.fortuna.ical4j.model.property.FreeBusy -
    Default constructor. -
    FreeBusy(String) - -Constructor for class net.fortuna.ical4j.model.property.FreeBusy -
      -
    FreeBusy(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.FreeBusy -
      -
    FreeBusy(PeriodList) - -Constructor for class net.fortuna.ical4j.model.property.FreeBusy -
      -
    FreeBusy(ParameterList, PeriodList) - -Constructor for class net.fortuna.ical4j.model.property.FreeBusy -
      -
    -
    -

    -G

    -
    -
    generateUid() - -Method in class net.fortuna.ical4j.util.UidGenerator -
      -
    Geo - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a GEO iCalendar component property.
    GEO - -Static variable in class net.fortuna.ical4j.model.Property -
    Geographic location property name. -
    Geo() - -Constructor for class net.fortuna.ical4j.model.property.Geo -
    Default constructor. -
    Geo(String) - -Constructor for class net.fortuna.ical4j.model.property.Geo -
    Creates a new instance by parsing the specified string representation. -
    Geo(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Geo -
      -
    Geo(BigDecimal, BigDecimal) - -Constructor for class net.fortuna.ical4j.model.property.Geo -
      -
    Geo(ParameterList, BigDecimal, BigDecimal) - -Constructor for class net.fortuna.ical4j.model.property.Geo -
      -
    get(int) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    getAbsMonthDay(Date, int) - -Static method in class net.fortuna.ical4j.util.Dates -
    Returns the absolute month day for the month specified by the - supplied date. -
    getAbsWeekNo(Date, int) - -Static method in class net.fortuna.ical4j.util.Dates -
    Returns the absolute week number for the year specified by the - supplied date. -
    getAbsYearDay(Date, int) - -Static method in class net.fortuna.ical4j.util.Dates -
    Returns the absolute year day for the year specified by the - supplied date. -
    getAction() - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    Returns the mandatory action property. -
    getAddress() - -Method in class net.fortuna.ical4j.model.parameter.SentBy -
      -
    getAlarms() - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Returns the list of alarms for this event. -
    getAlarms() - -Method in class net.fortuna.ical4j.model.component.VToDo -
    Returns the list of alarms for this todo. -
    getApplicableObservance(Date) - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
    Returns the latest applicable timezone observance for the specified date. -
    getAttachment() - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    Returns the optional attachment property. -
    getAvailable() - -Method in class net.fortuna.ical4j.model.component.VAvailability -
    Returns the list of available times. -
    getBinary() - -Method in class net.fortuna.ical4j.model.property.Attach -
      -
    getCalAddress() - -Method in class net.fortuna.ical4j.model.property.Attendee -
      -
    getCalAddress() - -Method in class net.fortuna.ical4j.model.property.Organizer -
      -
    getCalendarDay(WeekDay) - -Static method in class net.fortuna.ical4j.model.WeekDay -
    Returns the corresponding java.util.Calendar.DAY_OF_WEEK - constant for the specified WeekDay. -
    getCalendarInstance(Date) - -Static method in class net.fortuna.ical4j.util.Dates -
    Returns an instance of java.util.Calendar that is suitably - initialised for working with the specified date. -
    getCalendarScale() - -Method in class net.fortuna.ical4j.model.Calendar -
    Returns the optional calscale property. -
    getCategories() - -Method in class net.fortuna.ical4j.model.property.Categories -
      -
    getClassification() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getClassification() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getClassification() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getComponent(String) - -Method in class net.fortuna.ical4j.model.Calendar -
    Convenience method for retrieving a named component. -
    getComponent(String) - -Method in class net.fortuna.ical4j.model.ComponentList -
    Returns the first component of specified name. -
    getComponent(String) - -Method in class net.fortuna.ical4j.model.IndexedComponentList -
    Returns the first component containing a property with the specified - value. -
    getComponents() - -Method in class net.fortuna.ical4j.model.Calendar -
      -
    getComponents(String) - -Method in class net.fortuna.ical4j.model.Calendar -
    Convenience method for retrieving a list of named components. -
    getComponents(String) - -Method in class net.fortuna.ical4j.model.ComponentList -
    Returns a list containing all components with specified name. -
    getComponents(String) - -Method in class net.fortuna.ical4j.model.IndexedComponentList -
    Returns a list of components containing a property with the - specified value. -
    getConsumedTime(Date, Date) - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Returns a normalised list of periods representing the consumed time for this event. -
    getConsumedTime(Date, Date, boolean) - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Returns a list of periods representing the consumed time for this event in the specified range. -
    getContact() - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
      -
    getContentType(Calendar, Charset) - -Static method in class net.fortuna.ical4j.util.Calendars -
    Returns an appropriate MIME Content-Type for the specified calendar object. -
    getCount() - -Method in class net.fortuna.ical4j.model.property.Repeat -
      -
    getCount() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getCreated() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getCreated() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getCreated() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getCurrentTimeRounded() - -Static method in class net.fortuna.ical4j.util.Dates -
    Returns the System.currentTimeMillis(), rounded to the second. -
    getDate() - -Method in class net.fortuna.ical4j.model.property.DateProperty -
      -
    getDateCompleted() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getDates() - -Method in class net.fortuna.ical4j.model.property.DateListProperty -
      -
    getDates(Date, Date, Value) - -Method in class net.fortuna.ical4j.model.Recur -
    Returns a list of start dates in the specified period represented by this recur. -
    getDates(Date, Period, Value) - -Method in class net.fortuna.ical4j.model.Recur -
    Convenience method for retrieving recurrences in a specified period. -
    getDates(Date, Date, Date, Value) - -Method in class net.fortuna.ical4j.model.Recur -
    Returns a list of start dates in the specified period represented by this recur. -
    getDates(Date, Date, Date, Value, int) - -Method in class net.fortuna.ical4j.model.Recur -
    Returns a list of start dates in the specified period represented by this recur. -
    getDateStamp() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getDateStamp() - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
      -
    getDateStamp() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getDateStamp() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getDateTime() - -Method in class net.fortuna.ical4j.model.property.UtcProperty -
      -
    getDateTimeZone() - -Static method in class net.fortuna.ical4j.util.TimeZones -
    Although timezones are not really applicable to DATE instances in iCalendar, the implementation - in iCal4j requires the use of a timezone. -
    getDay() - -Method in class net.fortuna.ical4j.model.WeekDay -
      -
    getDay(int) - -Static method in class net.fortuna.ical4j.model.WeekDay -
    Returns the corresponding day constant to the specified - java.util.Calendar.DAY_OF_WEEK property. -
    getDayList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getDays() - -Method in class net.fortuna.ical4j.model.Dur -
      -
    getDelegatees() - -Method in class net.fortuna.ical4j.model.parameter.DelegatedTo -
      -
    getDelegators() - -Method in class net.fortuna.ical4j.model.parameter.DelegatedFrom -
      -
    getDescription() - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    Returns the optional description property. -
    getDescription() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getDescription() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getDescription() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getDescription() - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
      -
    getDue() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getDuration() - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    Returns the optional duration property. -
    getDuration() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getDuration() - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
      -
    getDuration() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getDuration() - -Method in class net.fortuna.ical4j.model.Period -
    Returns the duration of this period. -
    getDuration() - -Method in class net.fortuna.ical4j.model.property.Duration -
      -
    getDuration() - -Method in class net.fortuna.ical4j.model.property.Trigger -
      -
    getEnd() - -Method in class net.fortuna.ical4j.model.Period -
    Returns the end date of this period. -
    getEndDate() - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Returns the end date of this event. -
    getEndDate(boolean) - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Convenience method to pull the DTEND out of the property list. -
    getEndDate() - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
      -
    getExData() - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
      -
    getExperimentalValues() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getFactory(String) - -Method in class net.fortuna.ical4j.model.AbstractContentFactory -
      -
    getFormat() - -Method in class net.fortuna.ical4j.model.Iso8601 -
      -
    getFrequency() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getGeographicPos() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getGeographicPos() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getGroups() - -Method in class net.fortuna.ical4j.model.parameter.Member -
      -
    getHostName() - -Method in interface net.fortuna.ical4j.util.HostInfo -
      -
    getHostName() - -Method in class net.fortuna.ical4j.util.InetAddressHostInfo -
    -
    getHostName() - -Method in class net.fortuna.ical4j.util.SimpleHostInfo -
    -
    getHourList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getHours() - -Method in class net.fortuna.ical4j.model.Dur -
      -
    getInstance() - -Static method in class net.fortuna.ical4j.data.CalendarParserFactory -
      -
    getInstance(String) - -Static method in class net.fortuna.ical4j.model.CalendarDateFormatFactory -
    Returns DateFormat objects optimized for common iCalendar date patterns. -
    getInstance() - -Static method in class net.fortuna.ical4j.model.ComponentFactory -
      -
    getInstance() - -Static method in class net.fortuna.ical4j.model.ParameterFactoryImpl -
      -
    getInstance() - -Static method in class net.fortuna.ical4j.model.PropertyFactoryImpl -
      -
    getInstance() - -Static method in class net.fortuna.ical4j.model.TimeZoneRegistryFactory -
      -
    getInstance(Date, Value) - -Static method in class net.fortuna.ical4j.util.Dates -
    Returns a new date instance of the specified type. -
    getInstance() - -Static method in class net.fortuna.ical4j.util.DecoderFactory -
      -
    getInstance() - -Static method in class net.fortuna.ical4j.util.EncoderFactory -
      -
    getInstance() - -Static method in class net.fortuna.ical4j.util.ParameterValidator -
      -
    getInstance() - -Static method in class net.fortuna.ical4j.util.PropertyValidator -
      -
    getInterval() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getLastModified() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getLastModified() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getLastModified() - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
      -
    getLastModified() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getLatestOnset(Date) - -Method in class net.fortuna.ical4j.model.component.Observance -
    Returns the latest applicable onset of this observance for the specified date. -
    getLatitude() - -Method in class net.fortuna.ical4j.model.property.Geo -
      -
    getLevel() - -Method in class net.fortuna.ical4j.model.property.Priority -
      -
    getLineNo() - -Method in exception net.fortuna.ical4j.data.ParserException -
      -
    getLinesUnfolded() - -Method in class net.fortuna.ical4j.data.UnfoldingReader -
      -
    getLocation() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getLocation() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getLocationTypes() - -Method in class net.fortuna.ical4j.model.property.LocationType -
      -
    getLongitude() - -Method in class net.fortuna.ical4j.model.property.Geo -
      -
    getMaxVersion() - -Method in class net.fortuna.ical4j.model.property.Version -
      -
    getMethod() - -Method in class net.fortuna.ical4j.model.Calendar -
    Returns the optional method property. -
    getMinuteList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getMinutes() - -Method in class net.fortuna.ical4j.model.Dur -
      -
    getMinVersion() - -Method in class net.fortuna.ical4j.model.property.Version -
      -
    getMonthDayList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getMonthList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getMonthlyOffset(Calendar) - -Static method in class net.fortuna.ical4j.model.WeekDay -
    Returns a weekday/offset representation of the specified calendar. -
    getName() - -Method in class net.fortuna.ical4j.model.Component -
      -
    getName() - -Method in class net.fortuna.ical4j.model.Content -
      -
    getName() - -Method in class net.fortuna.ical4j.model.Parameter -
      -
    getName() - -Method in class net.fortuna.ical4j.model.Property -
      -
    getNegativeMonthlyOffset(Calendar) - -Static method in class net.fortuna.ical4j.model.WeekDay -
    Returns a weekday/negative offset representation of the specified calendar. -
    getNextDate(Date, Date) - -Method in class net.fortuna.ical4j.model.Recur -
    Returns the the next date of this recurrence given a seed date - and start date. -
    getObservances() - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
      -
    getOccurrence(Date) - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Returns a single occurrence of a recurring event. -
    getOffset() - -Method in class net.fortuna.ical4j.model.property.TzOffsetFrom -
      -
    getOffset() - -Method in class net.fortuna.ical4j.model.property.TzOffsetTo -
      -
    getOffset(int, int, int, int, int, int) - -Method in class net.fortuna.ical4j.model.TimeZone -
    -
    getOffset(long) - -Method in class net.fortuna.ical4j.model.TimeZone -
    -
    getOffset() - -Method in class net.fortuna.ical4j.model.UtcOffset -
      -
    getOffset() - -Method in class net.fortuna.ical4j.model.WeekDay -
      -
    getOffsetFrom() - -Method in class net.fortuna.ical4j.model.component.Observance -
    Returns the mandatory tzoffsetfrom property. -
    getOffsetTo() - -Method in class net.fortuna.ical4j.model.component.Observance -
    Returns the mandatory tzoffsetto property. -
    getOrganizer() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getOrganizer() - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
      -
    getOrganizer() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getOrganizer() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getParameter(String) - -Method in class net.fortuna.ical4j.model.ParameterList -
    Returns the first parameter with the specified name. -
    getParameter(String) - -Method in class net.fortuna.ical4j.model.Property -
    Convenience method for retrieving a single parameter. -
    getParameters(String) - -Method in class net.fortuna.ical4j.model.ParameterList -
    Returns a list of parameters with the specified name. -
    getParameters() - -Method in class net.fortuna.ical4j.model.Property -
      -
    getParameters(String) - -Method in class net.fortuna.ical4j.model.Property -
    Convenience method for retrieving a list of named parameters. -
    getPercentage() - -Method in class net.fortuna.ical4j.model.property.PercentComplete -
      -
    getPercentComplete() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getPeriods() - -Method in class net.fortuna.ical4j.model.property.FreeBusy -
      -
    getPeriods() - -Method in class net.fortuna.ical4j.model.property.RDate -
      -
    getPriority() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getPriority() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getProductId() - -Method in class net.fortuna.ical4j.model.Calendar -
    Returns the mandatory prodid property. -
    getProperties() - -Method in class net.fortuna.ical4j.model.Calendar -
      -
    getProperties(String) - -Method in class net.fortuna.ical4j.model.Calendar -
    Convenience method for retrieving a list of named properties. -
    getProperties() - -Method in class net.fortuna.ical4j.model.Component -
      -
    getProperties(String) - -Method in class net.fortuna.ical4j.model.Component -
    Convenience method for retrieving a list of named properties. -
    getProperties(String) - -Method in class net.fortuna.ical4j.model.IndexedPropertyList -
    Returns a list of properties containing a parameter with the - specified value. -
    getProperties(String) - -Method in class net.fortuna.ical4j.model.PropertyList -
    Returns a list of properties with the specified name. -
    getProperty(String) - -Method in class net.fortuna.ical4j.model.Calendar -
    Convenience method for retrieving a named property. -
    getProperty(String) - -Method in class net.fortuna.ical4j.model.Component -
    Convenience method for retrieving a named property. -
    getProperty(String) - -Method in class net.fortuna.ical4j.model.IndexedPropertyList -
    Returns the first property containing a parameter with the specified - value. -
    getProperty(String) - -Method in class net.fortuna.ical4j.model.PropertyList -
    Returns the first property of specified name. -
    getProperty(String) - -Static method in class net.fortuna.ical4j.util.Configurator -
      -
    getRangeEnd() - -Method in class net.fortuna.ical4j.model.DateRange -
      -
    getRangeStart() - -Method in class net.fortuna.ical4j.model.DateRange -
      -
    getRawOffset() - -Method in class net.fortuna.ical4j.model.TimeZone -
    -
    getRecur() - -Method in class net.fortuna.ical4j.model.property.ExRule -
      -
    getRecur() - -Method in class net.fortuna.ical4j.model.property.RRule -
      -
    getRecurrenceId() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getRecurrenceId() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getRecurrenceId() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getRegistry() - -Method in class net.fortuna.ical4j.data.CalendarBuilder -
    Returns the timezone registry used in the construction of calendars. -
    getRepeat() - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    Returns the optional repeat property. -
    getResource(String) - -Static method in class net.fortuna.ical4j.util.ResourceLoader -
    Load a resource via the thread context classloader. -
    getResourceAsStream(String) - -Static method in class net.fortuna.ical4j.util.ResourceLoader -
    Load a resource via the thread context classloader. -
    getResources() - -Method in class net.fortuna.ical4j.model.property.Resources -
      -
    getRsvp() - -Method in class net.fortuna.ical4j.model.parameter.Rsvp -
      -
    getRules() - -Method in class net.fortuna.ical4j.filter.Filter -
      -
    getSecondList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getSeconds() - -Method in class net.fortuna.ical4j.model.Dur -
      -
    getSequence() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getSequence() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getSequence() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getSequenceNo() - -Method in class net.fortuna.ical4j.model.property.Sequence -
      -
    getSetPosList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getStart() - -Method in class net.fortuna.ical4j.model.Period -
      -
    getStartDate() - -Method in class net.fortuna.ical4j.model.component.Observance -
    Returns the mandatory dtstart property. -
    getStartDate() - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Convenience method to pull the DTSTART out of the property list. -
    getStartDate() - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
      -
    getStartDate() - -Method in class net.fortuna.ical4j.model.component.VJournal -
    Convenience method to pull the DTSTART out of the property list. -
    getStartDate() - -Method in class net.fortuna.ical4j.model.component.VToDo -
    Convenience method to pull the DTSTART out of the property list. -
    getStatus() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getStatus() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getStatus() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getStatusCode() - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
      -
    getSummary() - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    Returns the optional summary property. -
    getSummary() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getSummary() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getSummary() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getTime(Date) - -Method in class net.fortuna.ical4j.model.Dur -
    Returns a date representing the end of this duration from the specified start date. -
    getTimeZone() - -Method in class net.fortuna.ical4j.model.DateList -
      -
    getTimeZone() - -Method in class net.fortuna.ical4j.model.DateTime -
    Returns the current timezone associated with this date-time value. -
    getTimeZone() - -Method in class net.fortuna.ical4j.model.PeriodList -
      -
    getTimeZone() - -Method in class net.fortuna.ical4j.model.property.DateListProperty -
      -
    getTimeZone() - -Method in class net.fortuna.ical4j.model.property.DateProperty -
      -
    getTimeZone(String) - -Method in interface net.fortuna.ical4j.model.TimeZoneRegistry -
    Returns a timezone with the specified identifier. -
    getTimeZone(String) - -Method in class net.fortuna.ical4j.model.TimeZoneRegistryImpl -
    Returns a timezone with the specified identifier. -
    getTimeZoneId() - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
      -
    getTimeZoneUrl() - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
      -
    getTransparency() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getTrigger() - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    Returns the mandatory trigger property. -
    getType() - -Method in class net.fortuna.ical4j.model.DateList -
    Returns the VALUE parameter specifying the type of dates (ie. -
    getUid() - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Returns the UID property of this component if available. -
    getUid() - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
    Returns the UID property of this component if available. -
    getUid() - -Method in class net.fortuna.ical4j.model.component.VJournal -
    Returns the UID property of this component if available. -
    getUid() - -Method in class net.fortuna.ical4j.model.component.VToDo -
    Returns the UID property of this component if available. -
    getUid(Calendar) - -Static method in class net.fortuna.ical4j.util.Calendars -
    Returns a unique identifier as specified by components in the provided calendar. -
    getUntil() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getUri() - -Method in class net.fortuna.ical4j.model.parameter.AltRep -
      -
    getUri() - -Method in class net.fortuna.ical4j.model.parameter.Dir -
      -
    getUri() - -Method in class net.fortuna.ical4j.model.property.Attach -
      -
    getUri() - -Method in class net.fortuna.ical4j.model.property.TzUrl -
      -
    getUri() - -Method in class net.fortuna.ical4j.model.property.Url -
      -
    getUrl() - -Method in class net.fortuna.ical4j.model.component.VEvent -
      -
    getUrl() - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
      -
    getUrl() - -Method in class net.fortuna.ical4j.model.component.VJournal -
      -
    getUrl() - -Method in class net.fortuna.ical4j.model.component.VToDo -
      -
    getUtcTimeZone() - -Static method in class net.fortuna.ical4j.util.TimeZones -
    Get the UTC Timezone. -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
      -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.VAvailability -
    -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.VEvent -
    -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
    -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.VJournal -
    -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
    -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.VToDo -
    -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.VVenue -
    -
    getValidator(Method) - -Method in class net.fortuna.ical4j.model.component.XComponent -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.Content -
      -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Abbrev -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.AltRep -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Cn -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.CuType -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.DelegatedFrom -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.DelegatedTo -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Dir -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Encoding -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.FbType -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.FmtType -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Language -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Member -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.PartStat -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Range -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Related -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.RelType -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Role -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Rsvp -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.ScheduleAgent -
      -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.ScheduleStatus -
      -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.SentBy -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Type -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.TzId -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Value -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.Vvenue -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.parameter.XParameter -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Action -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Attach -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Attendee -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.BusyType -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.CalScale -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Categories -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Clazz -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Comment -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Contact -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Country -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.DateListProperty -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Description -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Duration -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.ExRule -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.ExtendedAddress -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.FreeBusy -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Geo -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Locality -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Location -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.LocationType -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Method -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Name -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Organizer -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.PercentComplete -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Postalcode -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Priority -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.ProdId -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.RDate -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Region -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.RelatedTo -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Repeat -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Resources -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.RRule -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Sequence -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Status -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.StreetAddress -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Summary -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Tel -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Transp -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Trigger -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.TzId -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.TzName -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.TzOffsetFrom -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.TzOffsetTo -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.TzUrl -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Uid -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Url -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.Version -
    -
    getValue() - -Method in class net.fortuna.ical4j.model.property.XProperty -
    -
    getVersion() - -Method in class net.fortuna.ical4j.model.Calendar -
    Returns the mandatory version property. -
    getVTimeZone() - -Method in class net.fortuna.ical4j.model.TimeZone -
      -
    getWeekDay(Calendar) - -Static method in class net.fortuna.ical4j.model.WeekDay -
    Returns a weekday representation of the specified calendar. -
    getWeekNoList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getWeeks() - -Method in class net.fortuna.ical4j.model.Dur -
      -
    getWeekStartDay() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    getYearDayList() - -Method in class net.fortuna.ical4j.model.Recur -
      -
    GMT_ID - -Static variable in class net.fortuna.ical4j.util.TimeZones -
    The timezone identifier for GMT time. -
    GREGORIAN - -Static variable in class net.fortuna.ical4j.model.property.CalScale -
    Constant for Gregorian calendar representation. -
    GROUP - -Static variable in class net.fortuna.ical4j.model.parameter.CuType -
    Group. -
    -
    -

    -H

    -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.Calendar -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.Component -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.component.VEvent -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.component.VToDo -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.DateList -
      -
    hashCode() - -Method in class net.fortuna.ical4j.model.DateTime -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.Dur -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.Parameter -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.ParameterList -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.Period -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.PeriodList -
      -
    hashCode() - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.Property -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.UtcOffset -
    -
    hashCode() - -Method in class net.fortuna.ical4j.model.WeekDay -
    -
    HasPropertyRule - Class in net.fortuna.ical4j.filter
    $Id$ - - Created on 5/02/2006 - - A rule that matches any component containing the specified property.
    HasPropertyRule(Property) - -Constructor for class net.fortuna.ical4j.filter.HasPropertyRule -
    Constructs a new instance with the specified property. -
    HasPropertyRule(Property, boolean) - -Constructor for class net.fortuna.ical4j.filter.HasPropertyRule -
    Constructs a new instance with the specified property. -
    HCalendarParser - Class in net.fortuna.ical4j.data
    A CalendarParser that parses XHTML documents that include calendar data marked up with the hCalendar - microformat.
    HCalendarParser() - -Constructor for class net.fortuna.ical4j.data.HCalendarParser -
      -
    HCalendarParserFactory - Class in net.fortuna.ical4j.data
    A parser factory for the hCal microformat.
    HCalendarParserFactory() - -Constructor for class net.fortuna.ical4j.data.HCalendarParserFactory -
      -
    HIGH - -Static variable in class net.fortuna.ical4j.model.property.Priority -
    High priority. -
    HostInfo - Interface in net.fortuna.ical4j.util
    Provides platform-independent host information.
    HOURLY - -Static variable in class net.fortuna.ical4j.model.Recur -
    Hour frequency resolution. -
    -
    -

    -I

    -
    -
    IBM_UTC_ID - -Static variable in class net.fortuna.ical4j.util.TimeZones -
    The timezone identifier for UTC time in the IBM JVM. -
    IN_PROCESS - -Static variable in class net.fortuna.ical4j.model.parameter.PartStat -
    In-process. -
    includes(Date) - -Method in class net.fortuna.ical4j.model.DateRange -
    Determines if the specified date occurs within this period (inclusive of - period start and end). -
    includes(Date, int) - -Method in class net.fortuna.ical4j.model.DateRange -
    Decides whether a date falls within this period. -
    includes(Date, boolean) - -Method in class net.fortuna.ical4j.model.Period -
    Deprecated. use DateRange.includes(Date, int) instead. -
    INCLUSIVE_END - -Static variable in class net.fortuna.ical4j.model.DateRange -
    A flag indicating whether to include the end of the period in test functions. -
    INCLUSIVE_START - -Static variable in class net.fortuna.ical4j.model.DateRange -
    A flag indicating whether to include the start of the period in test functions. -
    inDaylightTime(Date) - -Method in class net.fortuna.ical4j.model.TimeZone -
    Determines if the specified date is in daylight time according to - this timezone. -
    IndexedComponentList - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 4/02/2006 - - Provides indexing of components on a specific property.
    IndexedComponentList(ComponentList, String) - -Constructor for class net.fortuna.ical4j.model.IndexedComponentList -
    Creates a new instance indexed on properties with the specified name. -
    IndexedPropertyList - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 4/02/2006 - - Provides indexing of properties on a specific parameter.
    IndexedPropertyList(PropertyList, String) - -Constructor for class net.fortuna.ical4j.model.IndexedPropertyList -
    Creates a new instance indexed on the parameters with the specified name. -
    indexOf(Object) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    INDIVIDUAL - -Static variable in class net.fortuna.ical4j.model.parameter.CuType -
    Individual. -
    InetAddressHostInfo - Class in net.fortuna.ical4j.util
     
    InetAddressHostInfo() - -Constructor for class net.fortuna.ical4j.util.InetAddressHostInfo -
      -
    InetAddressHostInfo(InetAddress) - -Constructor for class net.fortuna.ical4j.util.InetAddressHostInfo -
      -
    INTEGER - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Integer value type. -
    intersects(DateRange) - -Method in class net.fortuna.ical4j.model.DateRange -
    Decides whether this period intersects with another one. -
    INVALID_SCHEME - -Static variable in class net.fortuna.ical4j.util.Uris -
    URI Scheme used when relaxed parsing is enabled and the given input stream lead to an invalid URI. -
    isCalendarProperty() - -Method in class net.fortuna.ical4j.model.Property -
    Indicates whether this property is a calendar property. -
    isEmpty() - -Method in class net.fortuna.ical4j.model.AddressList -
      -
    isEmpty() - -Method in class net.fortuna.ical4j.model.DateList -
      -
    isEmpty() - -Method in class net.fortuna.ical4j.model.LocationTypeList -
      -
    isEmpty() - -Method in class net.fortuna.ical4j.model.ParameterList -
      -
    isEmpty() - -Method in class net.fortuna.ical4j.model.Period -
    An empty period is one that consumes no time. -
    isEmpty() - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    isEmpty() - -Method in class net.fortuna.ical4j.model.TextList -
      -
    isHintEnabled(String) - -Static method in class net.fortuna.ical4j.util.CompatibilityHints -
      -
    isNegative() - -Method in class net.fortuna.ical4j.model.Dur -
      -
    Iso8601 - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 30/06/2005 - - Base class for date and time representations as defined - by the ISO 8601 standard.
    Iso8601(long, String, int, TimeZone) - -Constructor for class net.fortuna.ical4j.model.Iso8601 -
      -
    Iso8601(String, int, TimeZone) - -Constructor for class net.fortuna.ical4j.model.Iso8601 -
      -
    Iso8601(Date, String, int, TimeZone) - -Constructor for class net.fortuna.ical4j.model.Iso8601 -
      -
    isQuotable() - -Method in class net.fortuna.ical4j.model.parameter.DelegatedFrom -
    Indicates whether the current parameter value should be quoted. -
    isQuotable() - -Method in class net.fortuna.ical4j.model.parameter.DelegatedTo -
    Indicates whether the current parameter value should be quoted. -
    isQuotable() - -Method in class net.fortuna.ical4j.model.Parameter -
    Indicates whether the current parameter value should be quoted. -
    isQuotable() - -Method in class net.fortuna.ical4j.model.parameter.Member -
    Indicates whether the current parameter value should be quoted. -
    isUnmodifiable() - -Method in class net.fortuna.ical4j.model.PeriodList -
      -
    isUtc() - -Method in class net.fortuna.ical4j.model.DateList -
    Indicates whether this list is in local or UTC format. -
    isUtc() - -Method in class net.fortuna.ical4j.model.DateTime -
      -
    isUtc() - -Method in class net.fortuna.ical4j.model.PeriodList -
    Indicates whether this list is in local or UTC format. -
    isUtc() - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    Indicates whether the current date value is specified in UTC time. -
    isUtc() - -Method in class net.fortuna.ical4j.model.Time -
      -
    isUtc(TimeZone) - -Static method in class net.fortuna.ical4j.util.TimeZones -
    Indicates whether the specified timezone is equivalent to - UTC time. -
    isValidating() - -Method in class net.fortuna.ical4j.data.AbstractOutputter -
      -
    iterator() - -Method in class net.fortuna.ical4j.model.AddressList -
      -
    iterator() - -Method in class net.fortuna.ical4j.model.DateList -
      -
    iterator() - -Method in class net.fortuna.ical4j.model.LocationTypeList -
      -
    iterator() - -Method in class net.fortuna.ical4j.model.ParameterList -
      -
    iterator() - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    iterator() - -Method in class net.fortuna.ical4j.model.TextList -
      -
    -
    -

    -K

    -
    -
    KEY_FACTORY_CLASS - -Static variable in class net.fortuna.ical4j.data.CalendarParserFactory -
    The system property used to specify an alternate CalendarParser implementation. -
    KEY_FACTORY_CLASS - -Static variable in class net.fortuna.ical4j.model.TimeZoneRegistryFactory -
    The system property used to specify an alternate - TimeZoneRegistryFactory implementation. -
    KEY_FACTORY_CLASS - -Static variable in class net.fortuna.ical4j.util.DecoderFactory -
    The system property used to specify an alternate - DecoderFactory implementation. -
    KEY_FACTORY_CLASS - -Static variable in class net.fortuna.ical4j.util.EncoderFactory -
    The system property used to specify an alternate - EncoderFactory implementation. -
    KEY_MAX_INCREMENT_COUNT - -Static variable in class net.fortuna.ical4j.model.Recur -
    When calculating dates matching this recur (getDates() or getNextDate), - this property defines the maximum number of attempt to find a matching date by - incrementing the seed. -
    KEY_NOTES_COMPATIBILITY - -Static variable in class net.fortuna.ical4j.util.CompatibilityHints -
    A system property key used to enable compatibility with Lotus Notes-generated iCalendar files. -
    KEY_OUTLOOK_COMPATIBILITY - -Static variable in class net.fortuna.ical4j.util.CompatibilityHints -
    A system property key used to enable compatibility with Outlook/Exchange-generated iCalendar files. -
    KEY_RELAXED_PARSING - -Static variable in class net.fortuna.ical4j.util.CompatibilityHints -
    A system property key to enable relaxed parsing. -
    KEY_RELAXED_UNFOLDING - -Static variable in class net.fortuna.ical4j.util.CompatibilityHints -
    A system property key to enable relaxed unfolding. -
    KEY_RELAXED_VALIDATION - -Static variable in class net.fortuna.ical4j.util.CompatibilityHints -
    A system property key to enable relaxed validation. -
    -
    -

    -L

    -
    -
    Language - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Language parameter.
    LANGUAGE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Language for text. -
    Language(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Language -
      -
    LAST_MODIFIED - -Static variable in class net.fortuna.ical4j.model.Property -
    Last modified date property name. -
    lastIndexOf(Object) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    LastModified - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a LAST-MODIFIED iCalendar component property.
    LastModified() - -Constructor for class net.fortuna.ical4j.model.property.LastModified -
    Default constructor. -
    LastModified(String) - -Constructor for class net.fortuna.ical4j.model.property.LastModified -
      -
    LastModified(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.LastModified -
      -
    LastModified(DateTime) - -Constructor for class net.fortuna.ical4j.model.property.LastModified -
      -
    LastModified(ParameterList, DateTime) - -Constructor for class net.fortuna.ical4j.model.property.LastModified -
      -
    LINE_SEPARATOR - -Static variable in class net.fortuna.ical4j.util.Strings -
    A string used to denote the start (and end) of iCalendar content lines. -
    listIterator() - -Method in class net.fortuna.ical4j.model.DateList -
      -
    listIterator(int) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    load(String) - -Static method in class net.fortuna.ical4j.util.Calendars -
    Loads a calendar from the specified file. -
    load(URL) - -Static method in class net.fortuna.ical4j.util.Calendars -
    Loads a calendar from the specified URL. -
    Locality - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCALITY iCalendar component property.
    LOCALITY - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE locality property name. -
    Locality() - -Constructor for class net.fortuna.ical4j.model.property.Locality -
    Default constructor. -
    Locality(String) - -Constructor for class net.fortuna.ical4j.model.property.Locality -
      -
    Locality(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Locality -
      -
    Location - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION iCalendar component property.
    LOCATION - -Static variable in class net.fortuna.ical4j.model.Property -
    Location property name. -
    Location() - -Constructor for class net.fortuna.ical4j.model.property.Location -
    Default constructor. -
    Location(String) - -Constructor for class net.fortuna.ical4j.model.property.Location -
      -
    Location(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Location -
      -
    LOCATION_TYPE - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE location type property name. -
    LocationType - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION_TYPE iCalendar component property.
    LocationType() - -Constructor for class net.fortuna.ical4j.model.property.LocationType -
    Default constructor. -
    LocationType(String) - -Constructor for class net.fortuna.ical4j.model.property.LocationType -
      -
    LocationType(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.LocationType -
      -
    LocationType(LocationTypeList) - -Constructor for class net.fortuna.ical4j.model.property.LocationType -
      -
    LocationType(ParameterList, LocationTypeList) - -Constructor for class net.fortuna.ical4j.model.property.LocationType -
      -
    LocationTypeList - Class in net.fortuna.ical4j.model
    $Id LocationTypeList.java $ [23-Apr-2004] - - Defines a list of iCalendar location types.
    LocationTypeList() - -Constructor for class net.fortuna.ical4j.model.LocationTypeList -
    Default constructor. -
    LocationTypeList(String) - -Constructor for class net.fortuna.ical4j.model.LocationTypeList -
    Parses the specified string representation to create a list of categories. -
    LOW - -Static variable in class net.fortuna.ical4j.model.property.Priority -
    Low priority. -
    -
    -

    -M

    -
    -
    match(Object) - -Method in class net.fortuna.ical4j.filter.AbstractDateRule -
    Indicates whether the specified object passes the conditions required to match this rule. -
    match(Date) - -Method in class net.fortuna.ical4j.filter.AbstractDateRule -
      -
    match(Object) - -Method in class net.fortuna.ical4j.filter.ComponentRule -
    Indicates whether the specified object passes the conditions required to match this rule. -
    match(Component) - -Method in class net.fortuna.ical4j.filter.ComponentRule -
      -
    match(Date) - -Method in class net.fortuna.ical4j.filter.DateInRangeRule -
    -
    match(Component) - -Method in class net.fortuna.ical4j.filter.HasPropertyRule -
    -
    match(Component) - -Method in class net.fortuna.ical4j.filter.PeriodRule -
    -
    match(Object) - -Method in interface net.fortuna.ical4j.filter.Rule -
    Indicates whether the specified object passes the conditions required to match this rule. -
    MATCH_ALL - -Static variable in class net.fortuna.ical4j.filter.Filter -
    Indicates that all rules must be matched to include an object in the filtered collection. -
    MATCH_ANY - -Static variable in class net.fortuna.ical4j.filter.Filter -
    Indicates that any rule may be matched to include an object in the filtered collection. -
    MAX_DAYS_PER_MONTH - -Static variable in class net.fortuna.ical4j.util.Dates -
    Maximum number of days per month. -
    MAX_DAYS_PER_YEAR - -Static variable in class net.fortuna.ical4j.util.Dates -
    Maximum number of days per year. -
    MAX_FOLD_LENGTH - -Static variable in class net.fortuna.ical4j.data.FoldingWriter -
    Lines of text SHOULD NOT be longer than 75 octets, excluding the line break. -
    MAX_WEEKS_PER_YEAR - -Static variable in class net.fortuna.ical4j.util.Dates -
    Maximum number of weeks per year. -
    MEDIUM - -Static variable in class net.fortuna.ical4j.model.property.Priority -
    Medium priority. -
    Member - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Group or List Membership parameter.
    MEMBER - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Group or list membership. -
    Member(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Member -
      -
    Member(AddressList) - -Constructor for class net.fortuna.ical4j.model.parameter.Member -
      -
    merge(Calendar, Calendar) - -Static method in class net.fortuna.ical4j.util.Calendars -
    Merge all properties and components from two specified calendars into one instance. -
    Method - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a METHOD iCalendar property.
    METHOD - -Static variable in class net.fortuna.ical4j.model.Property -
    iTIP method property name. -
    Method() - -Constructor for class net.fortuna.ical4j.model.property.Method -
    Default constructor. -
    Method(String) - -Constructor for class net.fortuna.ical4j.model.property.Method -
      -
    Method(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Method -
      -
    MILLIS_PER_DAY - -Static variable in class net.fortuna.ical4j.util.Dates -
    Number of milliseconds in one day. -
    MILLIS_PER_HOUR - -Static variable in class net.fortuna.ical4j.util.Dates -
    Number of milliseconds in one hour. -
    MILLIS_PER_MINUTE - -Static variable in class net.fortuna.ical4j.util.Dates -
    Number of milliseconds in one minute. -
    MILLIS_PER_SECOND - -Static variable in class net.fortuna.ical4j.util.Dates -
    Number of milliseconds in one second. -
    MILLIS_PER_WEEK - -Static variable in class net.fortuna.ical4j.util.Dates -
    Number of milliseconds in one week. -
    MINUTELY - -Static variable in class net.fortuna.ical4j.model.Recur -
    Minute frequency resolution. -
    MO - -Static variable in class net.fortuna.ical4j.model.WeekDay -
    Monday. -
    MONTHLY - -Static variable in class net.fortuna.ical4j.model.Recur -
    Month frequency resolution. -
    -
    -

    -N

    -
    -
    Name - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a NAME iCalendar component property.
    NAME - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE name property name. -
    Name() - -Constructor for class net.fortuna.ical4j.model.property.Name -
    Default constructor. -
    Name(String) - -Constructor for class net.fortuna.ical4j.model.property.Name -
      -
    Name(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Name -
      -
    NEEDS_ACTION - -Static variable in class net.fortuna.ical4j.model.parameter.PartStat -
    Needs action. -
    negate() - -Method in class net.fortuna.ical4j.model.Dur -
    Provides a negation of this instance. -
    net.fortuna.ical4j.data - package net.fortuna.ical4j.data
    Contains types providing RFC2445 input, output and parsing functionality.
    net.fortuna.ical4j.filter - package net.fortuna.ical4j.filter
    Filtering rules that may be used on lists of components, properties or parameters.
    net.fortuna.ical4j.model - package net.fortuna.ical4j.model
    Contains core types used to define the iCalendar model.
    net.fortuna.ical4j.model.component - package net.fortuna.ical4j.model.component
    Contains types used to represent the iCalendar component model.
    net.fortuna.ical4j.model.parameter - package net.fortuna.ical4j.model.parameter
    Contains types used to represent the iCalendar parameter model.
    net.fortuna.ical4j.model.property - package net.fortuna.ical4j.model.property
    Contains types used to represent the iCalendar property model.
    net.fortuna.ical4j.transform - package net.fortuna.ical4j.transform
    Contains types used to transform an iCalendar component model according to RFC2446.
    net.fortuna.ical4j.util - package net.fortuna.ical4j.util
    Contains utility types that provide supporting functionality for iCal4j.
    NON_PARTICIPANT - -Static variable in class net.fortuna.ical4j.model.parameter.Role -
    Non-participant. -
    NONE - -Static variable in class net.fortuna.ical4j.model.parameter.ScheduleAgent -
      -
    normalise() - -Method in class net.fortuna.ical4j.model.PeriodList -
    Returns a normalised version of this period list. -
    NumberList - Class in net.fortuna.ical4j.model
    $Id$ [29-May-2004] - - Defines a list of numbers.
    NumberList() - -Constructor for class net.fortuna.ical4j.model.NumberList -
    Default constructor. -
    NumberList(int, int, boolean) - -Constructor for class net.fortuna.ical4j.model.NumberList -
    Constructor with limits. -
    NumberList(String) - -Constructor for class net.fortuna.ical4j.model.NumberList -
    Constructor. -
    NumberList(String, int, int, boolean) - -Constructor for class net.fortuna.ical4j.model.NumberList -
      -
    Numbers - Class in net.fortuna.ical4j.util
    $Id$ - - Created on 6/08/2005 - - A utility class for number processing.
    -
    -

    -O

    -
    -
    Observance - Class in net.fortuna.ical4j.model.component
    $Id$ [05-Apr-2004] - - Defines an iCalendar sub-component representing a timezone observance.
    Observance(String) - -Constructor for class net.fortuna.ical4j.model.component.Observance -
    Constructs a timezone observance with the specified name and no properties. -
    Observance(String, PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.Observance -
    Constructor protected to enforce use of sub-classes from this library. -
    OPAQUE - -Static variable in class net.fortuna.ical4j.model.property.Transp -
    Opaque. -
    OPT_PARTICIPANT - -Static variable in class net.fortuna.ical4j.model.parameter.Role -
    Optional participant. -
    Organizer - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines an ORGANIZER iCalendar component property.
    ORGANIZER - -Static variable in class net.fortuna.ical4j.model.Property -
    Organiser property name. -
    Organizer() - -Constructor for class net.fortuna.ical4j.model.property.Organizer -
    Default constructor. -
    Organizer(String) - -Constructor for class net.fortuna.ical4j.model.property.Organizer -
    Constructs a new instance with the specified value. -
    Organizer(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Organizer -
      -
    Organizer(URI) - -Constructor for class net.fortuna.ical4j.model.property.Organizer -
      -
    Organizer(ParameterList, URI) - -Constructor for class net.fortuna.ical4j.model.property.Organizer -
      -
    output(Calendar, OutputStream) - -Method in class net.fortuna.ical4j.data.CalendarOutputter -
    Outputs an iCalender string to the specified output stream. -
    output(Calendar, Writer) - -Method in class net.fortuna.ical4j.data.CalendarOutputter -
    Outputs an iCalender string to the specified writer. -
    -
    -

    -P

    -
    -
    PARAM_QUOTE_PATTERN - -Static variable in class net.fortuna.ical4j.util.Strings -
    Defines a regular expression representing all parameter strings that - should be quoted. -
    parameter(String, String) - -Method in interface net.fortuna.ical4j.data.ContentHandler -
    Triggers the handling of a parameter. -
    Parameter - Class in net.fortuna.ical4j.model
    Defines an iCalendar parameter.
    Parameter(String, ParameterFactory) - -Constructor for class net.fortuna.ical4j.model.Parameter -
      -
    ParameterFactory - Interface in net.fortuna.ical4j.model
    Implementors provide parameter creation services.
    ParameterFactoryImpl - Class in net.fortuna.ical4j.model
    A factory for creating iCalendar parameters.
    ParameterFactoryImpl() - -Constructor for class net.fortuna.ical4j.model.ParameterFactoryImpl -
      -
    ParameterFactoryRegistry - Class in net.fortuna.ical4j.model
     
    ParameterFactoryRegistry() - -Constructor for class net.fortuna.ical4j.model.ParameterFactoryRegistry -
      -
    ParameterList - Class in net.fortuna.ical4j.model
    $Id$ [Apr 5, 2004] - - Defines a list of iCalendar parameters.
    ParameterList() - -Constructor for class net.fortuna.ical4j.model.ParameterList -
    Default constructor. -
    ParameterList(boolean) - -Constructor for class net.fortuna.ical4j.model.ParameterList -
    Constructor. -
    ParameterList(ParameterList, boolean) - -Constructor for class net.fortuna.ical4j.model.ParameterList -
    Creates a deep copy of the specified parameter list. -
    ParameterValidator - Class in net.fortuna.ical4j.util
    $Id$ [15-May-2004] - - Defines methods for validating parameters and parameter - lists.
    PARENT - -Static variable in class net.fortuna.ical4j.model.parameter.RelType -
    Parent. -
    parse(InputStream, ContentHandler) - -Method in interface net.fortuna.ical4j.data.CalendarParser -
    Parse the iCalendar data from the specified input stream. -
    parse(Reader, ContentHandler) - -Method in interface net.fortuna.ical4j.data.CalendarParser -
    Parse the iCalendar data from the specified reader. -
    parse(InputStream, ContentHandler) - -Method in class net.fortuna.ical4j.data.CalendarParserImpl -
    Parse the iCalendar data from the specified input stream. -
    parse(Reader, ContentHandler) - -Method in class net.fortuna.ical4j.data.CalendarParserImpl -
    Parse the iCalendar data from the specified reader. -
    parse(InputStream, ContentHandler) - -Method in class net.fortuna.ical4j.data.HCalendarParser -
    Parse the iCalendar data from the specified input stream. -
    parse(Reader, ContentHandler) - -Method in class net.fortuna.ical4j.data.HCalendarParser -
    Parse the iCalendar data from the specified reader. -
    parseInt(String) - -Static method in class net.fortuna.ical4j.util.Numbers -
    Wraps java.lang.Integer.parseInt() to accept values with - a PLUS character (i.e. -
    ParserException - Exception in net.fortuna.ical4j.data
    - $Id$ [Apr 5, 2004]
    ParserException(int) - -Constructor for exception net.fortuna.ical4j.data.ParserException -
      -
    ParserException(String, int) - -Constructor for exception net.fortuna.ical4j.data.ParserException -
    Constructor with message. -
    ParserException(String, int, Throwable) - -Constructor for exception net.fortuna.ical4j.data.ParserException -
    Constructor with message and cause. -
    PartStat - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Participation Status parameter.
    PARTSTAT - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Participation status. -
    PartStat(String) - -Constructor for class net.fortuna.ical4j.model.parameter.PartStat -
      -
    PERCENT_COMPLETE - -Static variable in class net.fortuna.ical4j.model.Property -
    Percentage complete property name. -
    PercentComplete - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a PERCENT-COMPLETE iCalendar component property.
    PercentComplete() - -Constructor for class net.fortuna.ical4j.model.property.PercentComplete -
    Default constructor. -
    PercentComplete(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.PercentComplete -
      -
    PercentComplete(int) - -Constructor for class net.fortuna.ical4j.model.property.PercentComplete -
      -
    PercentComplete(ParameterList, int) - -Constructor for class net.fortuna.ical4j.model.property.PercentComplete -
      -
    PERIOD - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Period value type. -
    Period - Class in net.fortuna.ical4j.model
    $Id$ [Apr 14, 2004] - - Defines a period of time.
    Period(String) - -Constructor for class net.fortuna.ical4j.model.Period -
    Constructor. -
    Period(DateTime, DateTime) - -Constructor for class net.fortuna.ical4j.model.Period -
    Constructs a new period with the specied start and end date. -
    Period(DateTime, Dur) - -Constructor for class net.fortuna.ical4j.model.Period -
    Constructs a new period with the specified start date and duration. -
    PeriodList - Class in net.fortuna.ical4j.model
    $Id$ [23-Apr-2004] - - Defines a list of iCalendar periods.
    PeriodList() - -Constructor for class net.fortuna.ical4j.model.PeriodList -
    Default constructor. -
    PeriodList(boolean) - -Constructor for class net.fortuna.ical4j.model.PeriodList -
      -
    PeriodList(boolean, boolean) - -Constructor for class net.fortuna.ical4j.model.PeriodList -
      -
    PeriodList(String) - -Constructor for class net.fortuna.ical4j.model.PeriodList -
    Parses the specified string representation to create a list of periods. -
    PeriodRule - Class in net.fortuna.ical4j.filter
    $Id$ - - Created on 2/02/2006 - - A rule that matches any component that occurs in the specified time period.
    PeriodRule(Period) - -Constructor for class net.fortuna.ical4j.filter.PeriodRule -
    Constructs a new instance using the specified period. -
    Postalcode - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a POSTALCODE iCalendar component property.
    POSTALCODE - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE postal code property name. -
    Postalcode() - -Constructor for class net.fortuna.ical4j.model.property.Postalcode -
    Default constructor. -
    Postalcode(String) - -Constructor for class net.fortuna.ical4j.model.property.Postalcode -
      -
    Postalcode(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Postalcode -
      -
    PRECISION_DAY - -Static variable in class net.fortuna.ical4j.util.Dates -
    Constant indicating precision to the day. -
    PRECISION_SECOND - -Static variable in class net.fortuna.ical4j.util.Dates -
    Constant indicating precision to the second. -
    PREFIX - -Static variable in class net.fortuna.ical4j.model.parameter.TzId -
    Timezone identifier prefix. -
    PREFIX - -Static variable in class net.fortuna.ical4j.model.property.TzId -
    Timezone identifier prefix. -
    PRELIM_SUCCESS - -Static variable in class net.fortuna.ical4j.model.property.RequestStatus -
    Preliminary success status. -
    Priority - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a PRIORITY iCalendar component property.
    PRIORITY - -Static variable in class net.fortuna.ical4j.model.Property -
    Prority property name. -
    Priority() - -Constructor for class net.fortuna.ical4j.model.property.Priority -
    Default constructor. -
    Priority(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Priority -
      -
    Priority(int) - -Constructor for class net.fortuna.ical4j.model.property.Priority -
      -
    Priority(ParameterList, int) - -Constructor for class net.fortuna.ical4j.model.property.Priority -
      -
    PRIVATE - -Static variable in class net.fortuna.ical4j.model.property.Clazz -
    Constant for private classification. -
    PROCEDURE - -Static variable in class net.fortuna.ical4j.model.property.Action -
    Constant action for a procedure. -
    ProdId - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a PRODID iCalendar property.
    PRODID - -Static variable in class net.fortuna.ical4j.model.Property -
    Product identifier property name. -
    ProdId() - -Constructor for class net.fortuna.ical4j.model.property.ProdId -
    Default constructor. -
    ProdId(String) - -Constructor for class net.fortuna.ical4j.model.property.ProdId -
      -
    ProdId(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.ProdId -
      -
    property - -Variable in class net.fortuna.ical4j.data.CalendarBuilder -
    The current property instance created by the builder. -
    Property - Class in net.fortuna.ical4j.model
    Defines an iCalendar property.
    Property(String, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.Property -
    Constructor. -
    Property(String, ParameterList, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.Property -
      -
    Property(Property) - -Constructor for class net.fortuna.ical4j.model.Property -
    Deprecated. Use Property.copy() instead -
    PropertyFactory - Interface in net.fortuna.ical4j.model
    A factory for creating iCalendar properties.
    PropertyFactoryImpl - Class in net.fortuna.ical4j.model
    A factory for creating iCalendar properties.
    PropertyFactoryImpl() - -Constructor for class net.fortuna.ical4j.model.PropertyFactoryImpl -
    Constructor made private to prevent instantiation. -
    PropertyFactoryRegistry - Class in net.fortuna.ical4j.model
     
    PropertyFactoryRegistry() - -Constructor for class net.fortuna.ical4j.model.PropertyFactoryRegistry -
      -
    PropertyList - Class in net.fortuna.ical4j.model
    $Id$ [Apr 5, 2004] - - Defines a list of iCalendar properties.
    PropertyList() - -Constructor for class net.fortuna.ical4j.model.PropertyList -
    Default constructor. -
    PropertyList(int) - -Constructor for class net.fortuna.ical4j.model.PropertyList -
    Creates a new instance with the specified initial capacity. -
    PropertyList(PropertyList) - -Constructor for class net.fortuna.ical4j.model.PropertyList -
    Creates a deep copy of the specified property list. -
    PropertyValidator - Class in net.fortuna.ical4j.util
    $Id$ [15-May-2004] - - Defines methods for validating properties and property lists.
    propertyValue(String) - -Method in interface net.fortuna.ical4j.data.ContentHandler -
    Triggers the handling of a property value. -
    PUBLIC - -Static variable in class net.fortuna.ical4j.model.property.Clazz -
    Constant for public classification. -
    PUBLISH - -Static variable in class net.fortuna.ical4j.model.property.Method -
    Used to publish a calendar entry to one or more Calendar Users. -
    PublishTransformer - Class in net.fortuna.ical4j.transform
    $Id$ - - Created: 26/09/2004 - - Transforms a calendar for publishing.
    PublishTransformer() - -Constructor for class net.fortuna.ical4j.transform.PublishTransformer -
      -
    -
    -

    -Q

    -
    -
    quote(Object) - -Static method in class net.fortuna.ical4j.util.Strings -
    Convenience method for adding quotes. -
    QUOTED_PRINTABLE - -Static variable in class net.fortuna.ical4j.model.parameter.Encoding -
    Quoted printable encoding. -
    -
    -

    -R

    -
    -
    Range - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Recurrence Identifier Range parameter.
    RANGE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Recurrence identifier range. -
    Range(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Range -
      -
    RDate - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines an RDATE iCalendar component property.
    RDATE - -Static variable in class net.fortuna.ical4j.model.Property -
    Recurrence date property name. -
    RDate() - -Constructor for class net.fortuna.ical4j.model.property.RDate -
    Default constructor. -
    RDate(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.RDate -
      -
    RDate(DateList) - -Constructor for class net.fortuna.ical4j.model.property.RDate -
    Constructor. -
    RDate(ParameterList, DateList) - -Constructor for class net.fortuna.ical4j.model.property.RDate -
    Constructor. -
    RDate(PeriodList) - -Constructor for class net.fortuna.ical4j.model.property.RDate -
    Constructor. -
    RDate(ParameterList, PeriodList) - -Constructor for class net.fortuna.ical4j.model.property.RDate -
    Constructor. -
    read() - -Method in class net.fortuna.ical4j.data.UnfoldingReader -
    -
    read(char[], int, int) - -Method in class net.fortuna.ical4j.data.UnfoldingReader -
    -
    RECUR - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Recurrence value type. -
    Recur - Class in net.fortuna.ical4j.model
    $Id$ [18-Apr-2004] - - Defines a recurrence.
    Recur() - -Constructor for class net.fortuna.ical4j.model.Recur -
    Default constructor. -
    Recur(String) - -Constructor for class net.fortuna.ical4j.model.Recur -
    Constructs a new instance from the specified string value. -
    Recur(String, Date) - -Constructor for class net.fortuna.ical4j.model.Recur -
      -
    Recur(String, int) - -Constructor for class net.fortuna.ical4j.model.Recur -
      -
    RECURRENCE_ID - -Static variable in class net.fortuna.ical4j.model.Property -
    Recurrence identifier property name. -
    RecurrenceId - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a RECURRENCE-ID iCalendar component property.
    RecurrenceId() - -Constructor for class net.fortuna.ical4j.model.property.RecurrenceId -
    Default constructor. -
    RecurrenceId(TimeZone) - -Constructor for class net.fortuna.ical4j.model.property.RecurrenceId -
    Creates a new RECURRENCE_ID property initialised with the specified timezone. -
    RecurrenceId(String) - -Constructor for class net.fortuna.ical4j.model.property.RecurrenceId -
    Creates a new instance initialised with the parsed value. -
    RecurrenceId(String, TimeZone) - -Constructor for class net.fortuna.ical4j.model.property.RecurrenceId -
    Creates a new RECURRENCE_ID property initialised with the specified timezone and value. -
    RecurrenceId(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.RecurrenceId -
      -
    RecurrenceId(Date) - -Constructor for class net.fortuna.ical4j.model.property.RecurrenceId -
    Constructor. -
    RecurrenceId(ParameterList, Date) - -Constructor for class net.fortuna.ical4j.model.property.RecurrenceId -
    Constructor. -
    REDUCED_FOLD_LENGTH - -Static variable in class net.fortuna.ical4j.data.FoldingWriter -
    reduced to 73 to be consistent with Apple iCal.. -
    REFRESH - -Static variable in class net.fortuna.ical4j.model.property.Method -
    The Refresh method is used by an "Attendee" to request the latest version of a calendar entry. -
    Region - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    REGION - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE region property name. -
    Region() - -Constructor for class net.fortuna.ical4j.model.property.Region -
    Default constructor. -
    Region(String) - -Constructor for class net.fortuna.ical4j.model.property.Region -
      -
    Region(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Region -
      -
    register(String, ParameterFactory) - -Method in class net.fortuna.ical4j.model.ParameterFactoryRegistry -
      -
    register(String, PropertyFactory) - -Method in class net.fortuna.ical4j.model.PropertyFactoryRegistry -
      -
    register(TimeZone) - -Method in interface net.fortuna.ical4j.model.TimeZoneRegistry -
    Registers a new timezone for use with iCalendar objects. -
    register(TimeZone, boolean) - -Method in interface net.fortuna.ical4j.model.TimeZoneRegistry -
    Registers a new timezone for use with iCalendar objects. -
    register(TimeZone) - -Method in class net.fortuna.ical4j.model.TimeZoneRegistryImpl -
    Registers a new timezone for use with iCalendar objects. -
    register(TimeZone, boolean) - -Method in class net.fortuna.ical4j.model.TimeZoneRegistryImpl -
    Registers a new timezone for use with iCalendar objects. -
    registerDefaultFactory(String, Object) - -Method in class net.fortuna.ical4j.model.AbstractContentFactory -
    Register a standard content factory. -
    registerExtendedFactory(String, Object) - -Method in class net.fortuna.ical4j.model.AbstractContentFactory -
    Register a non-standard content factory. -
    Related - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines an Alarm Trigger Relationship parameter.
    RELATED - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Alarm trigger relationship. -
    Related(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Related -
      -
    RELATED_TO - -Static variable in class net.fortuna.ical4j.model.Property -
    Relationship property name. -
    RelatedTo - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a RELATED-TO iCalendar component property.
    RelatedTo() - -Constructor for class net.fortuna.ical4j.model.property.RelatedTo -
    Default constructor. -
    RelatedTo(String) - -Constructor for class net.fortuna.ical4j.model.property.RelatedTo -
      -
    RelatedTo(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.RelatedTo -
      -
    RelType - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Relationship Type parameter.
    RELTYPE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Relationship type. -
    RelType(String) - -Constructor for class net.fortuna.ical4j.model.parameter.RelType -
      -
    remove(URI) - -Method in class net.fortuna.ical4j.model.AddressList -
    Remove an address from the list. -
    remove(Component) - -Method in class net.fortuna.ical4j.model.ComponentList -
    Remove a component from the list. -
    remove(Date) - -Method in class net.fortuna.ical4j.model.DateList -
    Remove a date from the list. -
    remove(int) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    remove(Object) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    remove(String) - -Method in class net.fortuna.ical4j.model.LocationTypeList -
    Remove a locationType from the list. -
    remove(Integer) - -Method in class net.fortuna.ical4j.model.NumberList -
      -
    remove(Parameter) - -Method in class net.fortuna.ical4j.model.ParameterList -
    Remove a parameter from the list. -
    remove(Period) - -Method in class net.fortuna.ical4j.model.PeriodList -
    Remove a period from the list. -
    remove(Object) - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    remove(Property) - -Method in class net.fortuna.ical4j.model.PropertyList -
    Remove a property from the list. -
    remove(String) - -Method in class net.fortuna.ical4j.model.TextList -
    Remove a text from the list. -
    remove(WeekDay) - -Method in class net.fortuna.ical4j.model.WeekDayList -
      -
    removeAll(Collection) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    removeAll(String) - -Method in class net.fortuna.ical4j.model.ParameterList -
    Remove all parameters with the specified name. -
    removeAll(Collection) - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    Repeat - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a REPEAT iCalendar component property.
    REPEAT - -Static variable in class net.fortuna.ical4j.model.Property -
    Repeat rule property name. -
    Repeat() - -Constructor for class net.fortuna.ical4j.model.property.Repeat -
    Default constructor. -
    Repeat(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Repeat -
      -
    Repeat(int) - -Constructor for class net.fortuna.ical4j.model.property.Repeat -
      -
    Repeat(ParameterList, int) - -Constructor for class net.fortuna.ical4j.model.property.Repeat -
      -
    replace(Parameter) - -Method in class net.fortuna.ical4j.model.ParameterList -
    Replace any parameters of the same type with the one specified. -
    REPLY - -Static variable in class net.fortuna.ical4j.model.property.Method -
    A Reply is used in response to a Request to convey "Attendee" status to the "Organizer". -
    REQ_PARTICIPANT - -Static variable in class net.fortuna.ical4j.model.parameter.Role -
    Required participant. -
    REQUEST - -Static variable in class net.fortuna.ical4j.model.property.Method -
    Used to schedule a calendar entry with other Calendar Users. -
    REQUEST_STATUS - -Static variable in class net.fortuna.ical4j.model.Property -
    Request status property name. -
    RequestStatus - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a REQUEST-STATUS iCalendar component property.
    RequestStatus() - -Constructor for class net.fortuna.ical4j.model.property.RequestStatus -
    Default constructor. -
    RequestStatus(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.RequestStatus -
      -
    RequestStatus(String, String, String) - -Constructor for class net.fortuna.ical4j.model.property.RequestStatus -
      -
    RequestStatus(ParameterList, String, String, String) - -Constructor for class net.fortuna.ical4j.model.property.RequestStatus -
      -
    RESOURCE - -Static variable in class net.fortuna.ical4j.model.parameter.CuType -
    Resource. -
    ResourceLoader - Class in net.fortuna.ical4j.util
     
    ResourceLoader() - -Constructor for class net.fortuna.ical4j.util.ResourceLoader -
      -
    Resources - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a RESOURCES iCalendar component property.
    RESOURCES - -Static variable in class net.fortuna.ical4j.model.Property -
    Resources property name. -
    Resources() - -Constructor for class net.fortuna.ical4j.model.property.Resources -
    Default constructor. -
    Resources(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Resources -
      -
    Resources(TextList) - -Constructor for class net.fortuna.ical4j.model.property.Resources -
      -
    Resources(ParameterList, TextList) - -Constructor for class net.fortuna.ical4j.model.property.Resources -
      -
    retainAll(Collection) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    retainAll(Collection) - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    Role - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Participation Role parameter.
    ROLE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Participation role. -
    Role(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Role -
      -
    ROOM - -Static variable in class net.fortuna.ical4j.model.parameter.CuType -
    Room. -
    round(long, int) - -Static method in class net.fortuna.ical4j.util.Dates -
    Deprecated. It is not all that useful to perform rounding without specifying an - explicit timezone. -
    round(long, int, TimeZone) - -Static method in class net.fortuna.ical4j.util.Dates -
    Rounds a time value to remove any precision smaller than specified. -
    RRule - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines an RRULE iCalendar component property.
    RRULE - -Static variable in class net.fortuna.ical4j.model.Property -
    Recurrence rule property name. -
    RRule() - -Constructor for class net.fortuna.ical4j.model.property.RRule -
    Default constructor. -
    RRule(String) - -Constructor for class net.fortuna.ical4j.model.property.RRule -
      -
    RRule(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.RRule -
      -
    RRule(Recur) - -Constructor for class net.fortuna.ical4j.model.property.RRule -
      -
    RRule(ParameterList, Recur) - -Constructor for class net.fortuna.ical4j.model.property.RRule -
      -
    Rsvp - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines an RSVP parameter.
    RSVP - -Static variable in class net.fortuna.ical4j.model.Parameter -
    RSVP expectation. -
    Rsvp(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Rsvp -
      -
    Rsvp(Boolean) - -Constructor for class net.fortuna.ical4j.model.parameter.Rsvp -
      -
    Rule - Interface in net.fortuna.ical4j.filter
    $Id$ - - Created: Feb 1, 2006 - - Implementors dictate whether a given object is classified as a "match" for the enclosing filter.
    -
    -

    -S

    -
    -
    SA - -Static variable in class net.fortuna.ical4j.model.WeekDay -
    Saturday. -
    SCHEDULE_AGENT - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Schedule agent. -
    SCHEDULE_STATUS - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Schedule status. -
    ScheduleAgent - Class in net.fortuna.ical4j.model.parameter
    Defines the scheduling agent for CalDAV scheduling.
    ScheduleAgent(String) - -Constructor for class net.fortuna.ical4j.model.parameter.ScheduleAgent -
      -
    ScheduleStatus - Class in net.fortuna.ical4j.model.parameter
    Defines the scheduling status for CalDAV scheduling.
    ScheduleStatus(String) - -Constructor for class net.fortuna.ical4j.model.parameter.ScheduleStatus -
      -
    SCHEDULING_ERROR - -Static variable in class net.fortuna.ical4j.model.property.RequestStatus -
    Scheduling error status. -
    SECONDLY - -Static variable in class net.fortuna.ical4j.model.Recur -
    Second frequency resolution. -
    SENT_BY - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Sent by. -
    SentBy - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Sent By parameter.
    SentBy(String) - -Constructor for class net.fortuna.ical4j.model.parameter.SentBy -
      -
    SentBy(URI) - -Constructor for class net.fortuna.ical4j.model.parameter.SentBy -
      -
    Sequence - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a SEQUENCE iCalendar component property.
    SEQUENCE - -Static variable in class net.fortuna.ical4j.model.Property -
    Sequence property name. -
    Sequence() - -Constructor for class net.fortuna.ical4j.model.property.Sequence -
    Default constructor. -
    Sequence(String) - -Constructor for class net.fortuna.ical4j.model.property.Sequence -
      -
    Sequence(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Sequence -
      -
    Sequence(int) - -Constructor for class net.fortuna.ical4j.model.property.Sequence -
      -
    Sequence(ParameterList, int) - -Constructor for class net.fortuna.ical4j.model.property.Sequence -
      -
    SERVER - -Static variable in class net.fortuna.ical4j.model.parameter.ScheduleAgent -
      -
    set(int, Object) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    setBinary(byte[]) - -Method in class net.fortuna.ical4j.model.property.Attach -
      -
    setCalAddress(URI) - -Method in class net.fortuna.ical4j.model.property.Attendee -
      -
    setCalAddress(URI) - -Method in class net.fortuna.ical4j.model.property.Organizer -
      -
    setCount(int) - -Method in class net.fortuna.ical4j.model.property.Repeat -
      -
    setCount(int) - -Method in class net.fortuna.ical4j.model.Recur -
      -
    setDate(Date) - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    Sets the date value of this property. -
    setDateTime(DateTime) - -Method in class net.fortuna.ical4j.model.property.Trigger -
      -
    setDateTime(DateTime) - -Method in class net.fortuna.ical4j.model.property.UtcProperty -
      -
    setDescription(String) - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
      -
    setDuration(Dur) - -Method in class net.fortuna.ical4j.model.property.Duration -
      -
    setDuration(Dur) - -Method in class net.fortuna.ical4j.model.property.Trigger -
      -
    setExData(String) - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
      -
    setFrequency(String) - -Method in class net.fortuna.ical4j.model.Recur -
      -
    setHintEnabled(String, boolean) - -Static method in class net.fortuna.ical4j.util.CompatibilityHints -
      -
    setInterval(int) - -Method in class net.fortuna.ical4j.model.Recur -
      -
    setLatitude(BigDecimal) - -Method in class net.fortuna.ical4j.model.property.Geo -
      -
    setLevel(int) - -Method in class net.fortuna.ical4j.model.property.Priority -
      -
    setLongitude(BigDecimal) - -Method in class net.fortuna.ical4j.model.property.Geo -
      -
    setMaxVersion(String) - -Method in class net.fortuna.ical4j.model.property.Version -
      -
    setMinVersion(String) - -Method in class net.fortuna.ical4j.model.property.Version -
      -
    setOffset(UtcOffset) - -Method in class net.fortuna.ical4j.model.property.TzOffsetFrom -
      -
    setOffset(UtcOffset) - -Method in class net.fortuna.ical4j.model.property.TzOffsetTo -
      -
    setPercentage(int) - -Method in class net.fortuna.ical4j.model.property.PercentComplete -
      -
    setRawOffset(int) - -Method in class net.fortuna.ical4j.model.TimeZone -
    -
    setRecur(Recur) - -Method in class net.fortuna.ical4j.model.property.ExRule -
      -
    setRules(Rule[]) - -Method in class net.fortuna.ical4j.filter.Filter -
      -
    setStatusCode(String) - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
      -
    setTime(long) - -Method in class net.fortuna.ical4j.model.DateTime -
    -
    setTime(long) - -Method in class net.fortuna.ical4j.model.Iso8601 -
    -
    setTimeZone(TimeZone) - -Method in class net.fortuna.ical4j.model.DateList -
    Applies the specified timezone to all dates in the list. -
    setTimeZone(TimeZone) - -Method in class net.fortuna.ical4j.model.DateTime -
    Sets the timezone associated with this date-time instance. -
    setTimeZone(TimeZone) - -Method in class net.fortuna.ical4j.model.Period -
    Updates the start and (possible) end times of this period to reflect - the specified timezone status. -
    setTimeZone(TimeZone) - -Method in class net.fortuna.ical4j.model.PeriodList -
    Applies the specified timezone to all dates in the list. -
    setTimeZone(TimeZone) - -Method in class net.fortuna.ical4j.model.property.DateListProperty -
    Sets the timezone associated with this property. -
    setTimeZone(TimeZone) - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    Publically available method to update the current timezone. -
    setTimeZone(TimeZone) - -Method in class net.fortuna.ical4j.model.property.RDate -
    Sets the timezone associated with this property. -
    setTimeZone(TimeZone) - -Method in class net.fortuna.ical4j.model.property.UtcProperty -
    Publically available method to update the current timezone. -
    setUntil(Date) - -Method in class net.fortuna.ical4j.model.Recur -
      -
    setUri(URI) - -Method in class net.fortuna.ical4j.model.property.Attach -
      -
    setUri(URI) - -Method in class net.fortuna.ical4j.model.property.TzUrl -
      -
    setUri(URI) - -Method in class net.fortuna.ical4j.model.property.Url -
      -
    setUtc(boolean) - -Method in class net.fortuna.ical4j.model.DateList -
    Sets whether this list is in UTC or local time format. -
    setUtc(boolean) - -Method in class net.fortuna.ical4j.model.DateTime -
    Updates this date-time to display in UTC time if the argument is true. -
    setUtc(boolean) - -Method in class net.fortuna.ical4j.model.Period -
    Updates the start and (possible) end times of this period to reflect - the specified UTC timezone status. -
    setUtc(boolean) - -Method in class net.fortuna.ical4j.model.PeriodList -
    Sets whether this list is in UTC or local time format. -
    setUtc(boolean) - -Method in class net.fortuna.ical4j.model.property.DateListProperty -
    Resets the timezone associated with the property. -
    setUtc(boolean) - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    Resets the VTIMEZONE associated with the property. -
    setValidating(boolean) - -Method in class net.fortuna.ical4j.data.AbstractOutputter -
      -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Action -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Attach -
    Sets the current value of the Attach instance. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Attendee -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.BusyType -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.CalScale -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Categories -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Clazz -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Comment -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Contact -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Country -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.DateListProperty -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    Default setValue() implementation. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Description -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Duration -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.ExRule -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.ExtendedAddress -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.FreeBusy -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Geo -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Locality -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Location -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.LocationType -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Method -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Name -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Organizer -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.PercentComplete -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Postalcode -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Priority -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.ProdId -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.RDate -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Region -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.RelatedTo -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Repeat -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Resources -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.RRule -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Sequence -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.Property -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Status -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.StreetAddress -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Summary -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Tel -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Transp -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Trigger -
    Default setValue() implementation. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.TzId -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.TzName -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.TzOffsetFrom -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.TzOffsetTo -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.TzUrl -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Uid -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Url -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.Version -
    Sets the current value of the property. -
    setValue(String) - -Method in class net.fortuna.ical4j.model.property.XProperty -
    Sets the current value of the property. -
    setWeekStartDay(String) - -Method in class net.fortuna.ical4j.model.Recur -
      -
    SEVEN_BIT - -Static variable in class net.fortuna.ical4j.model.parameter.Encoding -
    7 bit encoding. -
    SIBLING - -Static variable in class net.fortuna.ical4j.model.parameter.RelType -
    Sibling. -
    SimpleHostInfo - Class in net.fortuna.ical4j.util
     
    SimpleHostInfo(String) - -Constructor for class net.fortuna.ical4j.util.SimpleHostInfo -
      -
    size() - -Method in class net.fortuna.ical4j.model.AddressList -
      -
    size() - -Method in class net.fortuna.ical4j.model.DateList -
      -
    size() - -Method in class net.fortuna.ical4j.model.LocationTypeList -
      -
    size() - -Method in class net.fortuna.ical4j.model.ParameterList -
      -
    size() - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    size() - -Method in class net.fortuna.ical4j.model.TextList -
      -
    split(Calendar) - -Static method in class net.fortuna.ical4j.util.Calendars -
    Splits a calendar object into distinct calendar objects for unique - identifers (UID). -
    STANDARD - -Static variable in class net.fortuna.ical4j.model.component.Observance -
    one of 'standardc' or 'daylightc' MUST occur and each MAY occur more than once. -
    Standard - Class in net.fortuna.ical4j.model.component
    $Id$ [05-Apr-2004] - - Defines an iCalendar standard timezone observance component.
    Standard() - -Constructor for class net.fortuna.ical4j.model.component.Standard -
    Default constructor. -
    Standard(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.Standard -
    Constructor. -
    START - -Static variable in class net.fortuna.ical4j.model.parameter.Related -
    Trigger start. -
    startCalendar() - -Method in interface net.fortuna.ical4j.data.ContentHandler -
    Triggers the start of handling a calendar. -
    startComponent(String) - -Method in interface net.fortuna.ical4j.data.ContentHandler -
    Triggers the start of handling a component. -
    startProperty(String) - -Method in interface net.fortuna.ical4j.data.ContentHandler -
    Triggers the start of handling a property. -
    Status - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a STATUS iCalendar component property.
    STATUS - -Static variable in class net.fortuna.ical4j.model.Property -
    Status property name. -
    Status() - -Constructor for class net.fortuna.ical4j.model.property.Status -
    Default constructor. -
    Status(String) - -Constructor for class net.fortuna.ical4j.model.property.Status -
      -
    Status(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Status -
      -
    STREET_ADDRESS - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE street address property name. -
    StreetAddress - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a STREET_ADDRESS iCalendar component property.
    StreetAddress() - -Constructor for class net.fortuna.ical4j.model.property.StreetAddress -
    Default constructor. -
    StreetAddress(String) - -Constructor for class net.fortuna.ical4j.model.property.StreetAddress -
      -
    StreetAddress(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.StreetAddress -
      -
    Strings - Class in net.fortuna.ical4j.util
    $Id$ [23-Apr-2004] - - Utility methods for working with parameters.
    SU - -Static variable in class net.fortuna.ical4j.model.WeekDay -
    Sunday. -
    subComponent - -Variable in class net.fortuna.ical4j.data.CalendarBuilder -
    The current sub-component instance created by the builder. -
    subList(int, int) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    subtract(Period) - -Method in class net.fortuna.ical4j.model.Period -
    Creates a set of periods resulting from the subtraction of the specified - period from this one. -
    subtract(PeriodList) - -Method in class net.fortuna.ical4j.model.PeriodList -
    Subtracts the intersection of this list with the specified list of - periods from this list and returns the results as a new period list. -
    SUCCESS - -Static variable in class net.fortuna.ical4j.model.property.RequestStatus -
    Success status. -
    Summary - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a SUMMARY iCalendar component property.
    SUMMARY - -Static variable in class net.fortuna.ical4j.model.Property -
    Summary property name. -
    Summary() - -Constructor for class net.fortuna.ical4j.model.property.Summary -
    Default constructor. -
    Summary(String) - -Constructor for class net.fortuna.ical4j.model.property.Summary -
      -
    Summary(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Summary -
      -
    -
    -

    -T

    -
    -
    Tel - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a TEL iCalendar component property.
    TEL - -Static variable in class net.fortuna.ical4j.model.Property -
    VVENUE telephone property name. -
    Tel() - -Constructor for class net.fortuna.ical4j.model.property.Tel -
    Default constructor. -
    Tel(String) - -Constructor for class net.fortuna.ical4j.model.property.Tel -
      -
    Tel(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Tel -
      -
    TENTATIVE - -Static variable in class net.fortuna.ical4j.model.parameter.PartStat -
    Tentative. -
    TEXT - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Text value type. -
    TextList - Class in net.fortuna.ical4j.model
    $Id$ [23-Apr-2004] - - Defines a list of iCalendar text elements.
    TextList() - -Constructor for class net.fortuna.ical4j.model.TextList -
    Default constructor. -
    TextList(String) - -Constructor for class net.fortuna.ical4j.model.TextList -
    Parses the specified string representation to create a list of categories. -
    TextList(String[]) - -Constructor for class net.fortuna.ical4j.model.TextList -
      -
    TH - -Static variable in class net.fortuna.ical4j.model.WeekDay -
    Thursday. -
    THISANDFUTURE - -Static variable in class net.fortuna.ical4j.model.parameter.Range -
    This and future. -
    THISANDPRIOR - -Static variable in class net.fortuna.ical4j.model.parameter.Range -
    This and prior. -
    TIME - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    Time value type. -
    Time - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 30/06/2005 - - A type used to represent iCalendar time values.
    Time(TimeZone) - -Constructor for class net.fortuna.ical4j.model.Time -
      -
    Time(TimeZone, boolean) - -Constructor for class net.fortuna.ical4j.model.Time -
      -
    Time(long, TimeZone) - -Constructor for class net.fortuna.ical4j.model.Time -
      -
    Time(long, TimeZone, boolean) - -Constructor for class net.fortuna.ical4j.model.Time -
      -
    Time(Date, TimeZone) - -Constructor for class net.fortuna.ical4j.model.Time -
      -
    Time(Date, TimeZone, boolean) - -Constructor for class net.fortuna.ical4j.model.Time -
      -
    Time(String, TimeZone) - -Constructor for class net.fortuna.ical4j.model.Time -
      -
    Time(String, TimeZone, boolean) - -Constructor for class net.fortuna.ical4j.model.Time -
      -
    TimeZone - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 13/09/2005 - - A Java timezone implementation based on an underlying VTimeZone - definition.
    TimeZone(VTimeZone) - -Constructor for class net.fortuna.ical4j.model.TimeZone -
    Constructs a new instance based on the specified VTimeZone. -
    TimeZoneRegistry - Interface in net.fortuna.ical4j.model
    $Id$ - - Created on 18/09/2005 - - Implementors provide a list of timezone definitions applicable for use - with iCalendar objects.
    TimeZoneRegistryFactory - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 18/09/2005 - - Provides access to the configured TimeZoneRegistry instance.
    TimeZoneRegistryFactory() - -Constructor for class net.fortuna.ical4j.model.TimeZoneRegistryFactory -
      -
    TimeZoneRegistryImpl - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 18/09/2005 - - The default implementation of a TimeZoneRegistry.
    TimeZoneRegistryImpl() - -Constructor for class net.fortuna.ical4j.model.TimeZoneRegistryImpl -
    Default constructor. -
    TimeZoneRegistryImpl(String) - -Constructor for class net.fortuna.ical4j.model.TimeZoneRegistryImpl -
    Creates a new instance using the specified resource prefix. -
    TimeZones - Class in net.fortuna.ical4j.util
    $Id$ [5/07/2004] - - Utility methods relevant to Java timezones.
    toArray() - -Method in class net.fortuna.ical4j.model.DateList -
      -
    toArray(Object[]) - -Method in class net.fortuna.ical4j.model.DateList -
      -
    toArray() - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    toArray(Object[]) - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.AddressList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.Calendar -
    -
    toString() - -Method in class net.fortuna.ical4j.model.Component -
    -
    toString() - -Method in class net.fortuna.ical4j.model.component.VAvailability -
    -
    toString() - -Method in class net.fortuna.ical4j.model.component.VEvent -
    -
    toString() - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
    -
    toString() - -Method in class net.fortuna.ical4j.model.component.VToDo -
    -
    toString() - -Method in class net.fortuna.ical4j.model.component.VVenue -
    -
    toString() - -Method in class net.fortuna.ical4j.model.ComponentList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.DateList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.DateTime -
    -
    toString() - -Method in class net.fortuna.ical4j.model.Dur -
    -
    toString() - -Method in class net.fortuna.ical4j.model.Iso8601 -
    -
    toString() - -Method in class net.fortuna.ical4j.model.LocationTypeList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.NumberList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.Parameter -
    -
    toString() - -Method in class net.fortuna.ical4j.model.ParameterList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.Period -
    -
    toString() - -Method in class net.fortuna.ical4j.model.PeriodList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.Property -
    -
    toString() - -Method in class net.fortuna.ical4j.model.PropertyList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.Recur -
    -
    toString() - -Method in class net.fortuna.ical4j.model.TextList -
    -
    toString() - -Method in class net.fortuna.ical4j.model.UtcOffset -
    -
    toString() - -Method in class net.fortuna.ical4j.model.WeekDay -
    -
    toString() - -Method in class net.fortuna.ical4j.model.WeekDayList -
    -
    transform(Calendar) - -Method in class net.fortuna.ical4j.transform.PublishTransformer -
    Transforms the specified calendar according to the implementation of this method. -
    transform(Calendar) - -Method in class net.fortuna.ical4j.transform.Transformer -
    Transforms the specified calendar according to the implementation of this method. -
    transform(Component) - -Method in class net.fortuna.ical4j.transform.Transformer -
    Transforms the specified component according to the transformer implementation. -
    Transformer - Class in net.fortuna.ical4j.transform
    $Id$ - - Created: 23/09/2004 - - Base class of calendar transformations.
    Transformer() - -Constructor for class net.fortuna.ical4j.transform.Transformer -
      -
    Transp - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a TRANSP iCalendar component property.
    TRANSP - -Static variable in class net.fortuna.ical4j.model.Property -
    Transparency property name. -
    Transp() - -Constructor for class net.fortuna.ical4j.model.property.Transp -
    Default constructor. -
    Transp(String) - -Constructor for class net.fortuna.ical4j.model.property.Transp -
      -
    Transp(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Transp -
      -
    TRANSPARENT - -Static variable in class net.fortuna.ical4j.model.property.Transp -
    Transparent. -
    Trigger - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a TRIGGER iCalendar component property.
    TRIGGER - -Static variable in class net.fortuna.ical4j.model.Property -
    Alarm trigger property name. -
    Trigger() - -Constructor for class net.fortuna.ical4j.model.property.Trigger -
    Default constructor. -
    Trigger(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Trigger -
      -
    Trigger(Dur) - -Constructor for class net.fortuna.ical4j.model.property.Trigger -
      -
    Trigger(ParameterList, Dur) - -Constructor for class net.fortuna.ical4j.model.property.Trigger -
      -
    Trigger(DateTime) - -Constructor for class net.fortuna.ical4j.model.property.Trigger -
      -
    Trigger(ParameterList, DateTime) - -Constructor for class net.fortuna.ical4j.model.property.Trigger -
      -
    TRUE - -Static variable in class net.fortuna.ical4j.model.parameter.Rsvp -
    RSVP is required. -
    TU - -Static variable in class net.fortuna.ical4j.model.WeekDay -
    Tuesday. -
    Type - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Type parameter.
    TYPE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Type. -
    Type(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Type -
      -
    TzId - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Time Zone Identifier parameter.
    TZID - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Reference to time zone object. -
    TzId(String) - -Constructor for class net.fortuna.ical4j.model.parameter.TzId -
      -
    TzId - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a TZID iCalendar component property.
    TZID - -Static variable in class net.fortuna.ical4j.model.Property -
    Timezone identifier property name. -
    TzId() - -Constructor for class net.fortuna.ical4j.model.property.TzId -
    Default constructor. -
    TzId(String) - -Constructor for class net.fortuna.ical4j.model.property.TzId -
      -
    TzId(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.TzId -
      -
    TzName - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a TZNAME iCalendar component property.
    TZNAME - -Static variable in class net.fortuna.ical4j.model.Property -
    Timezone name property name. -
    TzName() - -Constructor for class net.fortuna.ical4j.model.property.TzName -
    Default constructor. -
    TzName(String) - -Constructor for class net.fortuna.ical4j.model.property.TzName -
      -
    TzName(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.TzName -
      -
    TzOffsetFrom - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETFROM iCalendar component property.
    TZOFFSETFROM - -Static variable in class net.fortuna.ical4j.model.Property -
    Prior timezone offset property name. -
    TzOffsetFrom() - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom -
    Default constructor. -
    TzOffsetFrom(String) - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom -
      -
    TzOffsetFrom(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom -
      -
    TzOffsetFrom(UtcOffset) - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom -
      -
    TzOffsetFrom(ParameterList, UtcOffset) - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom -
      -
    TzOffsetTo - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETTO iCalendar component property.
    TZOFFSETTO - -Static variable in class net.fortuna.ical4j.model.Property -
    New timezone offset property name. -
    TzOffsetTo() - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo -
    Default constructor. -
    TzOffsetTo(String) - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo -
      -
    TzOffsetTo(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo -
      -
    TzOffsetTo(UtcOffset) - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo -
      -
    TzOffsetTo(ParameterList, UtcOffset) - -Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo -
      -
    TzUrl - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a TZURL iCalendar component property.
    TZURL - -Static variable in class net.fortuna.ical4j.model.Property -
    URL for timezone definition property name. -
    TzUrl() - -Constructor for class net.fortuna.ical4j.model.property.TzUrl -
    Default constructor. -
    TzUrl(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.TzUrl -
      -
    TzUrl(URI) - -Constructor for class net.fortuna.ical4j.model.property.TzUrl -
      -
    TzUrl(ParameterList, URI) - -Constructor for class net.fortuna.ical4j.model.property.TzUrl -
      -
    -
    -

    -U

    -
    -
    Uid - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a UID iCalendar component property.
    UID - -Static variable in class net.fortuna.ical4j.model.Property -
    Unique identifier property name. -
    Uid() - -Constructor for class net.fortuna.ical4j.model.property.Uid -
    Default constructor. -
    Uid(String) - -Constructor for class net.fortuna.ical4j.model.property.Uid -
      -
    Uid(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Uid -
      -
    UidGenerator - Class in net.fortuna.ical4j.util
    $Id$ - - Created on 11/03/2007 - - Generates Uid properties in a similar fashion to that recommended in section 4.8.4.7 of the specification.
    UidGenerator(String) - -Constructor for class net.fortuna.ical4j.util.UidGenerator -
      -
    UidGenerator(HostInfo, String) - -Constructor for class net.fortuna.ical4j.util.UidGenerator -
      -
    UNDEFINED - -Static variable in class net.fortuna.ical4j.model.property.Priority -
    Undefined priority. -
    unescape(String) - -Static method in class net.fortuna.ical4j.util.Strings -
    Convenience method for replacing escaped special characters - with their original form. -
    UnfoldingReader - Class in net.fortuna.ical4j.data
    - $Id$ [06-Apr-2004]
    UnfoldingReader(Reader) - -Constructor for class net.fortuna.ical4j.data.UnfoldingReader -
    Creates a new unfolding reader instance. -
    UnfoldingReader(Reader, int) - -Constructor for class net.fortuna.ical4j.data.UnfoldingReader -
      -
    UnfoldingReader(Reader, boolean) - -Constructor for class net.fortuna.ical4j.data.UnfoldingReader -
      -
    UnfoldingReader(Reader, int, boolean) - -Constructor for class net.fortuna.ical4j.data.UnfoldingReader -
    Creates a new unfolding reader instance. -
    UNKNOWN - -Static variable in class net.fortuna.ical4j.model.parameter.CuType -
    Unknown. -
    unquote(String) - -Static method in class net.fortuna.ical4j.util.Strings -
    Convenience method for removing surrounding quotes - from a string value. -
    URI - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    URI value type. -
    Uris - Class in net.fortuna.ical4j.util
    $Id$ - - Created on 11/09/2005 - - Utility methods for working with URIs.
    Url - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a URL iCalendar component property.
    URL - -Static variable in class net.fortuna.ical4j.model.Property -
    Uniform resource locator property name. -
    Url() - -Constructor for class net.fortuna.ical4j.model.property.Url -
    Default constructor. -
    Url(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Url -
      -
    Url(URI) - -Constructor for class net.fortuna.ical4j.model.property.Url -
      -
    Url(ParameterList, URI) - -Constructor for class net.fortuna.ical4j.model.property.Url -
      -
    useDaylightTime() - -Method in class net.fortuna.ical4j.model.TimeZone -
    -
    UTC_ID - -Static variable in class net.fortuna.ical4j.util.TimeZones -
    The timezone identifier for UTC time. -
    UTC_OFFSET - -Static variable in class net.fortuna.ical4j.model.parameter.Value -
    UTC offset value type. -
    UtcOffset - Class in net.fortuna.ical4j.model
    $Id$ - - Created on 26/06/2005 - - Represents a timezone offset from UTC time.
    UtcOffset(String) - -Constructor for class net.fortuna.ical4j.model.UtcOffset -
      -
    UtcOffset(long) - -Constructor for class net.fortuna.ical4j.model.UtcOffset -
      -
    UtcProperty - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created on 8/08/2005 - - Superclass for all properties with date-time values that must be specified in UTC time.
    UtcProperty(String, ParameterList, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.UtcProperty -
      -
    UtcProperty(String, PropertyFactory) - -Constructor for class net.fortuna.ical4j.model.property.UtcProperty -
      -
    -
    -

    -V

    -
    -
    VAlarm - Class in net.fortuna.ical4j.model.component
    $Id$ [Apr 5, 2004] - - Defines an iCalendar VALARM component.
    VALARM - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    VAlarm() - -Constructor for class net.fortuna.ical4j.model.component.VAlarm -
    Default constructor. -
    VAlarm(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.VAlarm -
    Constructor. -
    VAlarm(DateTime) - -Constructor for class net.fortuna.ical4j.model.component.VAlarm -
    Constructs a new VALARM instance that will trigger at the specified time. -
    VAlarm(Dur) - -Constructor for class net.fortuna.ical4j.model.component.VAlarm -
    Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component. -
    validate() - -Method in class net.fortuna.ical4j.model.Calendar -
    Perform validation on the calendar, its properties and its components in its current state. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.Calendar -
    Perform validation on the calendar in its current state. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.Available -
    Perform validation on a component. -
    validate(Method) - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Performs method-specific ITIP validation. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.Observance -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.VAlarm -
    Perform validation on a component. -
    validate() - -Method in class net.fortuna.ical4j.model.Component -
    Perform validation on a component and its properties. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.Component -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.VAvailability -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.VEvent -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.VFreeBusy -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.VJournal -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.VTimeZone -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.VToDo -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.VVenue -
    Perform validation on a component. -
    validate(boolean) - -Method in class net.fortuna.ical4j.model.component.XComponent -
    Perform validation on a component. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Action -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Attach -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Attendee -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.BusyType -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.CalScale -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Categories -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Clazz -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Comment -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Contact -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Country -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.DateProperty -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Description -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.DtEnd -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.DtStart -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Due -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Duration -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.ExDate -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.ExRule -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.ExtendedAddress -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.FreeBusy -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Geo -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Locality -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Location -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.LocationType -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Method -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Name -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Organizer -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.PercentComplete -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Postalcode -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Priority -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.ProdId -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.RDate -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.RecurrenceId -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Region -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.RelatedTo -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Repeat -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.RequestStatus -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Resources -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.RRule -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Sequence -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Status -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.StreetAddress -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Summary -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Tel -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Transp -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Trigger -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.TzId -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.TzName -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.TzOffsetFrom -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.TzOffsetTo -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.TzUrl -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Uid -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Url -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.UtcProperty -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.Property -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.Version -
    Perform validation on a property. -
    validate() - -Method in class net.fortuna.ical4j.model.property.XProperty -
    Perform validation on a property. -
    validate() - -Method in interface net.fortuna.ical4j.model.Validator -
    Validates the associated model against an applicable standard. -
    validateAdd() - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Deprecated.   -
    validateCancel() - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Deprecated.   -
    validateCounter() - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Deprecated.   -
    validateDeclineCounter() - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Deprecated.   -
    validateProperties() - -Method in class net.fortuna.ical4j.model.Component -
    Invoke validation on the component properties in its current state. -
    validatePublish() - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Deprecated.   -
    validateRefresh() - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Deprecated.   -
    validateReply() - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Deprecated.   -
    validateRequest() - -Method in class net.fortuna.ical4j.model.component.CalendarComponent -
    Deprecated.   -
    ValidationException - Exception in net.fortuna.ical4j.model
    $Id$ [23-Apr-2004] - - An exception thrown during validation.
    ValidationException() - -Constructor for exception net.fortuna.ical4j.model.ValidationException -
    Default constructor. -
    ValidationException(String) - -Constructor for exception net.fortuna.ical4j.model.ValidationException -
    Constructor with message. -
    ValidationException(String, Object[]) - -Constructor for exception net.fortuna.ical4j.model.ValidationException -
    Constructor with message pattern and arguments. -
    Validator - Interface in net.fortuna.ical4j.model
     
    Value - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Value Data Type parameter.
    VALUE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Property value data type. -
    Value(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Value -
      -
    valueOf(Object) - -Static method in class net.fortuna.ical4j.util.Strings -
    Wraps java.lang.String.valueOf() to return an empty string - where the specified object is null. -
    VAvailability - Class in net.fortuna.ical4j.model.component
    $Id$ [Apr 5, 2004] - - Defines an iCalendar VAVAILABILITY component.
    VAVAILABILITY - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    VAvailability() - -Constructor for class net.fortuna.ical4j.model.component.VAvailability -
    Default constructor. -
    VAvailability(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.VAvailability -
    Constructs a new instance containing the specified properties. -
    VAvailability(PropertyList, ComponentList) - -Constructor for class net.fortuna.ical4j.model.component.VAvailability -
    Constructor. -
    VCALENDAR - -Static variable in class net.fortuna.ical4j.model.Calendar -
    Calendar token. -
    Version - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [Apr 6, 2004] - - Defines a VERSION iCalendar property.
    VERSION - -Static variable in class net.fortuna.ical4j.model.Property -
    iCalendar version property name. -
    Version() - -Constructor for class net.fortuna.ical4j.model.property.Version -
    Default constructor. -
    Version(ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.Version -
      -
    Version(String, String) - -Constructor for class net.fortuna.ical4j.model.property.Version -
      -
    Version(ParameterList, String, String) - -Constructor for class net.fortuna.ical4j.model.property.Version -
      -
    VERSION_2_0 - -Static variable in class net.fortuna.ical4j.model.property.Version -
    iCalendar version 2.0. -
    VEvent - Class in net.fortuna.ical4j.model.component
    $Id$ [Apr 5, 2004] - - Defines an iCalendar VEVENT component.
    VEVENT - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    VEvent() - -Constructor for class net.fortuna.ical4j.model.component.VEvent -
    Default constructor. -
    VEvent(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.VEvent -
    Constructor. -
    VEvent(PropertyList, ComponentList) - -Constructor for class net.fortuna.ical4j.model.component.VEvent -
    Constructor. -
    VEvent(Date, String) - -Constructor for class net.fortuna.ical4j.model.component.VEvent -
    Constructs a new VEVENT instance starting at the specified time with the specified summary. -
    VEvent(Date, Date, String) - -Constructor for class net.fortuna.ical4j.model.component.VEvent -
    Constructs a new VEVENT instance starting and ending at the specified times with the specified summary. -
    VEvent(Date, Dur, String) - -Constructor for class net.fortuna.ical4j.model.component.VEvent -
    Constructs a new VEVENT instance starting at the specified times, for the specified duration, with the specified - summary. -
    VEVENT_CANCELLED - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Cancelled VEVENT status. -
    VEVENT_CONFIRMED - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Confirmed VEVENT status. -
    VEVENT_TENTATIVE - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Tentative VEVENT status. -
    VFreeBusy - Class in net.fortuna.ical4j.model.component
    $Id$ [Apr 5, 2004] - - Defines an iCalendar VFREEBUSY component.
    VFREEBUSY - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    VFreeBusy() - -Constructor for class net.fortuna.ical4j.model.component.VFreeBusy -
    Default constructor. -
    VFreeBusy(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.VFreeBusy -
    Constructor. -
    VFreeBusy(DateTime, DateTime) - -Constructor for class net.fortuna.ical4j.model.component.VFreeBusy -
    Constructs a new VFreeBusy instance with the specified start and end boundaries. -
    VFreeBusy(DateTime, DateTime, Dur) - -Constructor for class net.fortuna.ical4j.model.component.VFreeBusy -
    Constructs a new VFreeBusy instance with the specified start and end boundaries. -
    VFreeBusy(VFreeBusy, ComponentList) - -Constructor for class net.fortuna.ical4j.model.component.VFreeBusy -
    Constructs a new VFreeBusy instance representing a reply to the specified VFREEBUSY request according to the - specified list of components. -
    VJournal - Class in net.fortuna.ical4j.model.component
    $Id$ [Apr 5, 2004] - - Defines an iCalendar VJOURNAL component.
    VJOURNAL - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    VJournal() - -Constructor for class net.fortuna.ical4j.model.component.VJournal -
    Default constructor. -
    VJournal(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.VJournal -
    Constructor. -
    VJournal(Date, String) - -Constructor for class net.fortuna.ical4j.model.component.VJournal -
    Constructs a new VJOURNAL instance associated with the specified time with the specified summary. -
    VJOURNAL_CANCELLED - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Cancelled VJOURNAL status. -
    VJOURNAL_DRAFT - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Draft VJOURNAL status. -
    VJOURNAL_FINAL - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Final VJOURNAL status. -
    VTimeZone - Class in net.fortuna.ical4j.model.component
    $Id$ [Apr 5, 2004] - - Defines an iCalendar VTIMEZONE component.
    VTIMEZONE - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    VTimeZone() - -Constructor for class net.fortuna.ical4j.model.component.VTimeZone -
    Default constructor. -
    VTimeZone(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.VTimeZone -
    Constructs a new instance containing the specified properties. -
    VTimeZone(ComponentList) - -Constructor for class net.fortuna.ical4j.model.component.VTimeZone -
    Constructs a new vtimezone component with no properties and the specified list of type components. -
    VTimeZone(PropertyList, ComponentList) - -Constructor for class net.fortuna.ical4j.model.component.VTimeZone -
    Constructor. -
    VToDo - Class in net.fortuna.ical4j.model.component
    $Id$ [Apr 5, 2004] - - Defines an iCalendar VTODO component.
    VTODO - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    VToDo() - -Constructor for class net.fortuna.ical4j.model.component.VToDo -
    Default constructor. -
    VToDo(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.VToDo -
    Constructor. -
    VToDo(Date, String) - -Constructor for class net.fortuna.ical4j.model.component.VToDo -
    Constructs a new VTODO instance starting at the specified time with the specified summary. -
    VToDo(Date, Date, String) - -Constructor for class net.fortuna.ical4j.model.component.VToDo -
    Constructs a new VTODO instance starting and ending at the specified times with the specified summary. -
    VToDo(Date, Dur, String) - -Constructor for class net.fortuna.ical4j.model.component.VToDo -
    Constructs a new VTODO instance starting at the specified times, for the specified duration, with the specified - summary. -
    VTODO_CANCELLED - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Cancelled VTODO status. -
    VTODO_COMPLETED - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Completed VTODO status. -
    VTODO_IN_PROCESS - -Static variable in class net.fortuna.ical4j.model.property.Status -
    In-process VTODO status. -
    VTODO_NEEDS_ACTION - -Static variable in class net.fortuna.ical4j.model.property.Status -
    Tentative VTODO status. -
    VVenue - Class in net.fortuna.ical4j.model.component
    $Id $ [Apr 5, 2004] - - Defines an iCalendar VVENUE component.
    VVENUE - -Static variable in class net.fortuna.ical4j.model.Component -
    Component token. -
    VVenue() - -Constructor for class net.fortuna.ical4j.model.component.VVenue -
    Default constructor. -
    VVenue(PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.VVenue -
    Constructs a new instance containing the specified properties. -
    Vvenue - Class in net.fortuna.ical4j.model.parameter
    $Id$ [18-Apr-2004] - - Defines a Vvenue parameter.
    VVENUE - -Static variable in class net.fortuna.ical4j.model.Parameter -
    Reference to vvenue component. -
    Vvenue(String) - -Constructor for class net.fortuna.ical4j.model.parameter.Vvenue -
      -
    -
    -

    -W

    -
    -
    WE - -Static variable in class net.fortuna.ical4j.model.WeekDay -
    Wednesday. -
    WeekDay - Class in net.fortuna.ical4j.model
    $Id$ - - Created: 19/12/2004 - - Defines a day of the week with a possible offset related to - a MONTHLY or YEARLY occurrence.
    WeekDay(String) - -Constructor for class net.fortuna.ical4j.model.WeekDay -
      -
    WeekDay(WeekDay, int) - -Constructor for class net.fortuna.ical4j.model.WeekDay -
    Constructs a new weekday instance based on the specified - instance and offset. -
    WeekDayList - Class in net.fortuna.ical4j.model
    $Id$ [29-May-2004] - - Defines a list of days.
    WeekDayList() - -Constructor for class net.fortuna.ical4j.model.WeekDayList -
    Default constructor. -
    WeekDayList(int) - -Constructor for class net.fortuna.ical4j.model.WeekDayList -
    Creates a new instance with the specified initial capacity. -
    WeekDayList(String) - -Constructor for class net.fortuna.ical4j.model.WeekDayList -
    Constructor. -
    WEEKLY - -Static variable in class net.fortuna.ical4j.model.Recur -
    Week frequency resolution. -
    wrap(Component) - -Static method in class net.fortuna.ical4j.util.Calendars -
    Wraps a component in a calendar. -
    write(int) - -Method in class net.fortuna.ical4j.data.FoldingWriter -
    -
    write(char[], int, int) - -Method in class net.fortuna.ical4j.data.FoldingWriter -
    -
    write(String, int, int) - -Method in class net.fortuna.ical4j.data.FoldingWriter -
    -
    -
    -

    -X

    -
    -
    XComponent - Class in net.fortuna.ical4j.model.component
    $Id$ - - Created on 3/11/2005 - - Implementation of an experimental component as defined in RFC2445.
    XComponent(String) - -Constructor for class net.fortuna.ical4j.model.component.XComponent -
    Creates a new experimental component with the specified name. -
    XComponent(String, PropertyList) - -Constructor for class net.fortuna.ical4j.model.component.XComponent -
    Creates a new experimental component with the specified name and properties. -
    XParameter - Class in net.fortuna.ical4j.model.parameter
    $Id$ [15/06/2004] - - Defines an extension parameter.
    XParameter(String, String) - -Constructor for class net.fortuna.ical4j.model.parameter.XParameter -
      -
    XProperty - Class in net.fortuna.ical4j.model.property
    $Id$ - - Created: [15/06/2004] - - Defines an extension property.
    XProperty(String) - -Constructor for class net.fortuna.ical4j.model.property.XProperty -
    Constructs an uninitialised non-standard property. -
    XProperty(String, String) - -Constructor for class net.fortuna.ical4j.model.property.XProperty -
      -
    XProperty(String, ParameterList, String) - -Constructor for class net.fortuna.ical4j.model.property.XProperty -
      -
    -
    -

    -Y

    -
    -
    YEARLY - -Static variable in class net.fortuna.ical4j.model.Recur -
    Year frequency resolution. -
    -
    -A B C D E F G H I K L M N O P Q R S T U V W X Y - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/index.html b/libs/ical4j-1.0.4/docs/apidocs/index.html deleted file mode 100644 index c682a332..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -iCal4j 1.0.4 API - - - - - - - - - - - -<H2> -Frame Alert</H2> - -<P> -This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. -<BR> -Link to<A HREF="overview-summary.html">Non-frame version.</A> - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/AbstractOutputter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/AbstractOutputter.html deleted file mode 100644 index 3f7de19d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/AbstractOutputter.html +++ /dev/null @@ -1,384 +0,0 @@ - - - - - - - -AbstractOutputter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class AbstractOutputter

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.data.AbstractOutputter
    -
    -
    -
    Direct Known Subclasses:
    CalendarOutputter
    -
    -
    -
    -
    public abstract class AbstractOutputter
    extends Object
    - - -

    -Base class for model outputters. - -

    - $Id$
    -
    - Created on 29/12/2008
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben
    -
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -protected static CharsetDEFAULT_CHARSET - -
    -          The default character set used to generate output.
    -protected  intfoldLength - -
    -          The maximum line length allowed.
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    AbstractOutputter() - -
    -          Default constructor.
    AbstractOutputter(boolean validating) - -
    -           
    AbstractOutputter(boolean validating, - int foldLength) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanisValidating() - -
    -           
    - voidsetValidating(boolean validating) - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -DEFAULT_CHARSET

    -
    -protected static final Charset DEFAULT_CHARSET
    -
    -
    The default character set used to generate output. -

    -

    -
    -
    -
    - -

    -foldLength

    -
    -protected int foldLength
    -
    -
    The maximum line length allowed. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -AbstractOutputter

    -
    -public AbstractOutputter()
    -
    -
    Default constructor. -

    -

    -
    - -

    -AbstractOutputter

    -
    -public AbstractOutputter(boolean validating)
    -
    -
    -
    Parameters:
    validating - indicates whether to validate calendar when outputting to stream
    -
    -
    - -

    -AbstractOutputter

    -
    -public AbstractOutputter(boolean validating,
    -                         int foldLength)
    -
    -
    -
    Parameters:
    validating - indicates whether to validate calendar when outputting to stream
    foldLength - maximum number of characters before a line is folded
    -
    - - - - - - - - -
    -Method Detail
    - -

    -isValidating

    -
    -public final boolean isValidating()
    -
    -
    - -
    Returns:
    Returns the validating.
    -
    -
    -
    - -

    -setValidating

    -
    -public final void setValidating(boolean validating)
    -
    -
    -
    Parameters:
    validating - The validating to set.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarBuilder.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarBuilder.html deleted file mode 100644 index a890283f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarBuilder.html +++ /dev/null @@ -1,534 +0,0 @@ - - - - - - - -CalendarBuilder (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class CalendarBuilder

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.data.CalendarBuilder
    -
    -
    -
    -
    public class CalendarBuilder
    extends Object
    - - -

    -Parses and builds an iCalendar model from an input stream. Note that this class is not thread-safe. -

    - -

    -

    -
    Version:
    -
    2.0
    -
    Author:
    -
    Ben Fortuna - -
    - $Id$
    -
    - Created: Apr 5, 2004
    - 
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -protected  Calendarcalendar - -
    -          The calendar instance created by the builder.
    -protected  Componentcomponent - -
    -          The current component instance created by the builder.
    -protected  Propertyproperty - -
    -          The current property instance created by the builder.
    -protected  ComponentsubComponent - -
    -          The current sub-component instance created by the builder.
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    CalendarBuilder() - -
    -          Default constructor.
    CalendarBuilder(CalendarParser parser) - -
    -          Constructs a new calendar builder using the specified calendar parser.
    CalendarBuilder(CalendarParser parser, - PropertyFactoryRegistry propertyFactoryRegistry, - ParameterFactoryRegistry parameterFactoryRegistry, - TimeZoneRegistry tzRegistry) - -
    -           
    CalendarBuilder(CalendarParser parser, - TimeZoneRegistry tzRegistry) - -
    -          Constructs a new instance using the specified parser and registry.
    CalendarBuilder(TimeZoneRegistry tzRegistry) - -
    -          Constructs a new calendar builder using the specified timezone registry.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Calendarbuild(InputStream in) - -
    -          Builds an iCalendar model from the specified input stream.
    - Calendarbuild(Reader in) - -
    -          Builds an iCalendar model from the specified reader.
    - Calendarbuild(UnfoldingReader uin) - -
    -          Build an iCalendar model by parsing data from the specified reader.
    - TimeZoneRegistrygetRegistry() - -
    -          Returns the timezone registry used in the construction of calendars.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -calendar

    -
    -protected Calendar calendar
    -
    -
    The calendar instance created by the builder. -

    -

    -
    -
    -
    - -

    -component

    -
    -protected Component component
    -
    -
    The current component instance created by the builder. -

    -

    -
    -
    -
    - -

    -subComponent

    -
    -protected Component subComponent
    -
    -
    The current sub-component instance created by the builder. -

    -

    -
    -
    -
    - -

    -property

    -
    -protected Property property
    -
    -
    The current property instance created by the builder. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -CalendarBuilder

    -
    -public CalendarBuilder()
    -
    -
    Default constructor. -

    -

    -
    - -

    -CalendarBuilder

    -
    -public CalendarBuilder(CalendarParser parser)
    -
    -
    Constructs a new calendar builder using the specified calendar parser. -

    -

    -
    Parameters:
    parser - a calendar parser used to parse calendar files
    -
    -
    - -

    -CalendarBuilder

    -
    -public CalendarBuilder(TimeZoneRegistry tzRegistry)
    -
    -
    Constructs a new calendar builder using the specified timezone registry. -

    -

    -
    Parameters:
    tzRegistry - a timezone registry to populate with discovered timezones
    -
    -
    - -

    -CalendarBuilder

    -
    -public CalendarBuilder(CalendarParser parser,
    -                       TimeZoneRegistry tzRegistry)
    -
    -
    Constructs a new instance using the specified parser and registry. -

    -

    -
    Parameters:
    parser - a calendar parser used to construct the calendar
    tzRegistry - a timezone registry used to retrieve TimeZones and - register additional timezone information found - in the calendar
    -
    -
    - -

    -CalendarBuilder

    -
    -public CalendarBuilder(CalendarParser parser,
    -                       PropertyFactoryRegistry propertyFactoryRegistry,
    -                       ParameterFactoryRegistry parameterFactoryRegistry,
    -                       TimeZoneRegistry tzRegistry)
    -
    -
    -
    Parameters:
    parser - a custom calendar parser
    propertyFactoryRegistry - registry for non-standard property factories
    parameterFactoryRegistry - registry for non-standard parameter factories
    tzRegistry - a custom timezone registry
    -
    - - - - - - - - -
    -Method Detail
    - -

    -build

    -
    -public Calendar build(InputStream in)
    -               throws IOException,
    -                      ParserException
    -
    -
    Builds an iCalendar model from the specified input stream. -

    -

    -
    Parameters:
    in - an input stream to read calendar data from -
    Returns:
    a calendar parsed from the specified input stream -
    Throws: -
    IOException - where an error occurs reading data from the specified stream -
    ParserException - where an error occurs parsing data from the stream
    -
    -
    -
    - -

    -build

    -
    -public Calendar build(Reader in)
    -               throws IOException,
    -                      ParserException
    -
    -
    Builds an iCalendar model from the specified reader. An UnfoldingReader is applied to the - specified reader to ensure the data stream is correctly unfolded where appropriate. -

    -

    -
    Parameters:
    in - a reader to read calendar data from -
    Returns:
    a calendar parsed from the specified reader -
    Throws: -
    IOException - where an error occurs reading data from the specified reader -
    ParserException - where an error occurs parsing data from the reader
    -
    -
    -
    - -

    -build

    -
    -public Calendar build(UnfoldingReader uin)
    -               throws IOException,
    -                      ParserException
    -
    -
    Build an iCalendar model by parsing data from the specified reader. -

    -

    -
    Parameters:
    uin - an unfolding reader to read data from -
    Returns:
    a calendar parsed from the specified reader -
    Throws: -
    IOException - where an error occurs reading data from the specified reader -
    ParserException - where an error occurs parsing data from the reader
    -
    -
    -
    - -

    -getRegistry

    -
    -public final TimeZoneRegistry getRegistry()
    -
    -
    Returns the timezone registry used in the construction of calendars. -

    -

    - -
    Returns:
    a timezone registry
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarOutputter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarOutputter.html deleted file mode 100644 index b28ddec5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarOutputter.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - -CalendarOutputter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class CalendarOutputter

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.data.AbstractOutputter
    -      extended by net.fortuna.ical4j.data.CalendarOutputter
    -
    -
    -
    -
    public class CalendarOutputter
    extends AbstractOutputter
    - - -

    -

    - $Id$ [Apr 5, 2004]
    - 
    - - Writes an iCalendar model to an output stream. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.data.AbstractOutputter
    DEFAULT_CHARSET, foldLength
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    CalendarOutputter() - -
    -          Default constructor.
    CalendarOutputter(boolean validating) - -
    -           
    CalendarOutputter(boolean validating, - int foldLength) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - voidoutput(Calendar calendar, - OutputStream out) - -
    -          Outputs an iCalender string to the specified output stream.
    - voidoutput(Calendar calendar, - Writer out) - -
    -          Outputs an iCalender string to the specified writer.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.data.AbstractOutputter
    isValidating, setValidating
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CalendarOutputter

    -
    -public CalendarOutputter()
    -
    -
    Default constructor. -

    -

    -
    - -

    -CalendarOutputter

    -
    -public CalendarOutputter(boolean validating)
    -
    -
    -
    Parameters:
    validating - indicates whether to validate calendar when outputting to stream
    -
    -
    - -

    -CalendarOutputter

    -
    -public CalendarOutputter(boolean validating,
    -                         int foldLength)
    -
    -
    -
    Parameters:
    validating - indicates whether to validate calendar when outputting to stream
    foldLength - maximum number of characters before a line is folded
    -
    - - - - - - - - -
    -Method Detail
    - -

    -output

    -
    -public final void output(Calendar calendar,
    -                         OutputStream out)
    -                  throws IOException,
    -                         ValidationException
    -
    -
    Outputs an iCalender string to the specified output stream. -

    -

    -
    Parameters:
    calendar - calendar to write to ouput stream
    out - an output stream -
    Throws: -
    IOException - thrown when unable to write to output stream -
    ValidationException - where calendar validation fails
    -
    -
    -
    - -

    -output

    -
    -public final void output(Calendar calendar,
    -                         Writer out)
    -                  throws IOException,
    -                         ValidationException
    -
    -
    Outputs an iCalender string to the specified writer. -

    -

    -
    Parameters:
    calendar - calendar to write to writer
    out - a writer -
    Throws: -
    IOException - thrown when unable to write to writer -
    ValidationException - where calendar validation fails
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParser.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParser.html deleted file mode 100644 index c6f9957d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParser.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - -CalendarParser (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Interface CalendarParser

    -
    -
    All Known Implementing Classes:
    CalendarParserImpl, HCalendarParser
    -
    -
    -
    -
    public interface CalendarParser
    - - -

    -

    - $Id$
    - 
    - Created [Nov 5, 2004]
    - 
    - - Implementors provide iCalendar parsing functionality. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidparse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidparse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -parse

    -
    -void parse(InputStream in,
    -           ContentHandler handler)
    -           throws IOException,
    -                  ParserException
    -
    -
    Parse the iCalendar data from the specified input stream. -

    -

    -
    Parameters:
    in - an input stream from which to read iCalendar data
    handler - the content handler to notify during parsing -
    Throws: -
    IOException - thrown when unable to read from the specified stream -
    ParserException - thrown if an error occurs during parsing
    -
    -
    -
    - -

    -parse

    -
    -void parse(Reader in,
    -           ContentHandler handler)
    -           throws IOException,
    -                  ParserException
    -
    -
    Parse the iCalendar data from the specified reader. -

    -

    -
    Parameters:
    in - a reader from which to read iCalendar data
    handler - the content handler to notify during parsing -
    Throws: -
    IOException - thrown when unable to read from the specified reader -
    ParserException - thrown if an error occurs during parsing
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParserFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParserFactory.html deleted file mode 100644 index 9055b29e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParserFactory.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - -CalendarParserFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class CalendarParserFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.data.CalendarParserFactory
    -
    -
    -
    Direct Known Subclasses:
    DefaultCalendarParserFactory, HCalendarParserFactory
    -
    -
    -
    -
    public abstract class CalendarParserFactory
    extends Object
    - - -

    -

    - $Id$
    -
    - Created on 08/02/2007
    - 
    - - Provides access to the configured CalendarParser instance. Alternative factory implementations may be - specified via the following system property: - -
    - net.fortuna.ical4j.parser=<factory_class_name>
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static StringKEY_FACTORY_CLASS - -
    -          The system property used to specify an alternate CalendarParser implementation.
    -  - - - - - - - - - - -
    -Constructor Summary
    CalendarParserFactory() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -abstract  CalendarParsercreateParser() - -
    -          Returns a new instance of the configured CalendarParser.
    -static CalendarParserFactorygetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -KEY_FACTORY_CLASS

    -
    -public static final String KEY_FACTORY_CLASS
    -
    -
    The system property used to specify an alternate CalendarParser implementation. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -CalendarParserFactory

    -
    -public CalendarParserFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getInstance

    -
    -public static CalendarParserFactory getInstance()
    -
    -
    - -
    Returns:
    a shared factory instance
    -
    -
    -
    - -

    -createParser

    -
    -public abstract CalendarParser createParser()
    -
    -
    Returns a new instance of the configured CalendarParser. -

    -

    - -
    Returns:
    a calendar parser instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParserImpl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParserImpl.html deleted file mode 100644 index 635d1581..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/CalendarParserImpl.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - -CalendarParserImpl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class CalendarParserImpl

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.data.CalendarParserImpl
    -
    -
    -
    All Implemented Interfaces:
    CalendarParser
    -
    -
    -
    -
    public class CalendarParserImpl
    extends Object
    implements CalendarParser
    - - -

    -

    - $Id$
    - 
    -  Created [Nov 5, 2004]
    - 
    - - The default implementation of a calendar parser. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    CalendarParserImpl() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - voidparse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidparse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CalendarParserImpl

    -
    -public CalendarParserImpl()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -parse

    -
    -public final void parse(InputStream in,
    -                        ContentHandler handler)
    -                 throws IOException,
    -                        ParserException
    -
    -
    Parse the iCalendar data from the specified input stream. -

    -

    -
    Specified by:
    parse in interface CalendarParser
    -
    -
    -
    Parameters:
    in - an input stream from which to read iCalendar data
    handler - the content handler to notify during parsing -
    Throws: -
    IOException - thrown when unable to read from the specified stream -
    ParserException - thrown if an error occurs during parsing
    -
    -
    -
    - -

    -parse

    -
    -public final void parse(Reader in,
    -                        ContentHandler handler)
    -                 throws IOException,
    -                        ParserException
    -
    -
    Parse the iCalendar data from the specified reader. -

    -

    -
    Specified by:
    parse in interface CalendarParser
    -
    -
    -
    Parameters:
    in - a reader from which to read iCalendar data
    handler - the content handler to notify during parsing -
    Throws: -
    IOException - thrown when unable to read from the specified reader -
    ParserException - thrown if an error occurs during parsing
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/ContentHandler.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/ContentHandler.html deleted file mode 100644 index 1ae922be..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/ContentHandler.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - -ContentHandler (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Interface ContentHandler

    -
    -
    -
    public interface ContentHandler
    - - -

    -

    - $Id$ [Nov 5,
    - 2004]
    - 
    - - Implementors provide functionality applicable during the parsing of an iCalendar data stream (e.g. building an object - model). -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidendCalendar() - -
    -          Triggers the end of handling a calendar.
    - voidendComponent(String name) - -
    -          Triggers the end of handling a component.
    - voidendProperty(String name) - -
    -          Triggers the end of handling a property.
    - voidparameter(String name, - String value) - -
    -          Triggers the handling of a parameter.
    - voidpropertyValue(String value) - -
    -          Triggers the handling of a property value.
    - voidstartCalendar() - -
    -          Triggers the start of handling a calendar.
    - voidstartComponent(String name) - -
    -          Triggers the start of handling a component.
    - voidstartProperty(String name) - -
    -          Triggers the start of handling a property.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -startCalendar

    -
    -void startCalendar()
    -
    -
    Triggers the start of handling a calendar. -

    -

    -
    -
    -
    -
    - -

    -endCalendar

    -
    -void endCalendar()
    -
    -
    Triggers the end of handling a calendar. -

    -

    -
    -
    -
    -
    - -

    -startComponent

    -
    -void startComponent(String name)
    -
    -
    Triggers the start of handling a component. -

    -

    -
    Parameters:
    name - a component name
    -
    -
    -
    - -

    -endComponent

    -
    -void endComponent(String name)
    -
    -
    Triggers the end of handling a component. -

    -

    -
    Parameters:
    name - a component name
    -
    -
    -
    - -

    -startProperty

    -
    -void startProperty(String name)
    -
    -
    Triggers the start of handling a property. -

    -

    -
    Parameters:
    name - a property name
    -
    -
    -
    - -

    -propertyValue

    -
    -void propertyValue(String value)
    -                   throws URISyntaxException,
    -                          ParseException,
    -                          IOException
    -
    -
    Triggers the handling of a property value. -

    -

    -
    Parameters:
    value - a property value -
    Throws: -
    URISyntaxException - where the property value is not a valid URI for applicable properties -
    ParseException - where the date value cannot be parsed for applicable properties -
    IOException - where data cannot be read for applicable properties
    -
    -
    -
    - -

    -endProperty

    -
    -void endProperty(String name)
    -
    -
    Triggers the end of handling a property. -

    -

    -
    Parameters:
    name - a property name
    -
    -
    -
    - -

    -parameter

    -
    -void parameter(String name,
    -               String value)
    -               throws URISyntaxException
    -
    -
    Triggers the handling of a parameter. -

    -

    -
    Parameters:
    name - a parameter name
    value - a parameter value -
    Throws: -
    URISyntaxException - where the parameter value is not a valid URI for applicable parameters
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/DefaultCalendarParserFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/DefaultCalendarParserFactory.html deleted file mode 100644 index cd63a3ba..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/DefaultCalendarParserFactory.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - -DefaultCalendarParserFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class DefaultCalendarParserFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.data.CalendarParserFactory
    -      extended by net.fortuna.ical4j.data.DefaultCalendarParserFactory
    -
    -
    -
    -
    public class DefaultCalendarParserFactory
    extends CalendarParserFactory
    - - -

    -

    - $Id$
    -
    - Created on 08/02/2007
    - 
    - - Default factory implementation for calendar parsers. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.data.CalendarParserFactory
    KEY_FACTORY_CLASS
    -  - - - - - - - - - - -
    -Constructor Summary
    DefaultCalendarParserFactory() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - CalendarParsercreateParser() - -
    -          Returns a new instance of the configured CalendarParser.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.data.CalendarParserFactory
    getInstance
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DefaultCalendarParserFactory

    -
    -public DefaultCalendarParserFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -createParser

    -
    -public CalendarParser createParser()
    -
    -
    Returns a new instance of the configured CalendarParser. -

    -

    -
    Specified by:
    createParser in class CalendarParserFactory
    -
    -
    - -
    Returns:
    a calendar parser instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/FoldingWriter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/FoldingWriter.html deleted file mode 100644 index b722d056..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/FoldingWriter.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - -FoldingWriter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class FoldingWriter

    -
    -java.lang.Object
    -  extended by java.io.Writer
    -      extended by java.io.FilterWriter
    -          extended by net.fortuna.ical4j.data.FoldingWriter
    -
    -
    -
    All Implemented Interfaces:
    Closeable, Flushable, Appendable
    -
    -
    -
    -
    public class FoldingWriter
    extends FilterWriter
    - - -

    -

    - $Id$ [Apr 6, 2004]
    - 
    - - A writer that performs iCalendar folding as it writes. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static intMAX_FOLD_LENGTH - -
    -          Lines of text SHOULD NOT be longer than 75 octets, excluding the line break.
    -static intREDUCED_FOLD_LENGTH - -
    -          reduced to 73 to be consistent with Apple iCal..
    - - - - - - - -
    Fields inherited from class java.io.FilterWriter
    out
    - - - - - - - -
    Fields inherited from class java.io.Writer
    lock
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    FoldingWriter(Writer writer) - -
    -           
    FoldingWriter(Writer writer, - int foldLength) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidwrite(char[] buffer, - int offset, - int length) - -
    -          
    - voidwrite(int c) - -
    -          
    - voidwrite(String str, - int off, - int len) - -
    -          
    - - - - - - - -
    Methods inherited from class java.io.FilterWriter
    close, flush
    - - - - - - - -
    Methods inherited from class java.io.Writer
    append, append, append, write, write
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -REDUCED_FOLD_LENGTH

    -
    -public static final int REDUCED_FOLD_LENGTH
    -
    -
    reduced to 73 to be consistent with Apple iCal.. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MAX_FOLD_LENGTH

    -
    -public static final int MAX_FOLD_LENGTH
    -
    -
    Lines of text SHOULD NOT be longer than 75 octets, excluding the line break. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -FoldingWriter

    -
    -public FoldingWriter(Writer writer,
    -                     int foldLength)
    -
    -
    -
    Parameters:
    writer - a writer to write output to
    foldLength - the maximum line length
    -
    -
    - -

    -FoldingWriter

    -
    -public FoldingWriter(Writer writer)
    -
    -
    -
    Parameters:
    writer - a writer to write output to
    -
    - - - - - - - - -
    -Method Detail
    - -

    -write

    -
    -public final void write(int c)
    -                 throws IOException
    -
    -
    -

    -

    -
    Overrides:
    write in class FilterWriter
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    -
    - -

    -write

    -
    -public final void write(char[] buffer,
    -                        int offset,
    -                        int length)
    -                 throws IOException
    -
    -
    -

    -

    -
    Overrides:
    write in class FilterWriter
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    -
    - -

    -write

    -
    -public final void write(String str,
    -                        int off,
    -                        int len)
    -                 throws IOException
    -
    -
    -

    -

    -
    Overrides:
    write in class FilterWriter
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/HCalendarParser.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/HCalendarParser.html deleted file mode 100644 index 686749ea..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/HCalendarParser.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - -HCalendarParser (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class HCalendarParser

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.data.HCalendarParser
    -
    -
    -
    All Implemented Interfaces:
    CalendarParser
    -
    -
    -
    -
    public class HCalendarParser
    extends Object
    implements CalendarParser
    - - -

    -A CalendarParser that parses XHTML documents that include calendar data marked up with the hCalendar - microformat. -

    - The parser treats the entire document as a single "vcalendar" context, ignoring any vcalendar elements - and adding all components in the document to a single generated calendar. -

    -

    - Since hCalendar does not include product information, the PRODID property is omitted from the generated - calendar. The hCalendar profile is supposed to define the iCalendar version that it represents, but it does not, so - version 2.0 is assumed. -

    -

    Supported Components

    -

    - This parser recognizes only "vevent" components. -

    -

    Supported Properties

    -

    - This parser recognizes the following properties: -

    -
      -
    • "dtstart"
    • -
    • "dtend"
    • -
    • "duration"
    • -
    • "summary"
    • -
    • "uid"
    • -
    • "dtstamp"
    • -
    • "category"
    • -
    • "location"
    • -
    • "url"
    • -
    • "description"
    • -
    • "last-modified"
    • -
    • "status"
    • -
    • "class"
    • -
    • "attendee"
    • -
    • "contact"
    • -
    • "organizer"
    • -
    -

    - hCalendar allows for some properties to be represented by nested microformat records, including hCard, adr and geo. - This parser does not recognize these records. It simply accumulates the text content of any child elements of the - property element and uses the resulting string as the property value. -

    -

    Date and Date-Time Properties

    -

    - hCalendar date-time values are formatted according to RFC 3339. There is no representation in this specification for - time zone ids. All date-times are specified either in UTC or with an offset that can be used to convert the local - time into UTC. Neither does hCal provide a reprsentation for floating date-times. Therefore, all date-time values - produced by this parser are in UTC. -

    -

    - Some examples in the wild provide date and date-time values in iCalendar format rather than RFC 3339 format. Although - not technically legal according to spec, these values are accepted. In this case, floating date-times are produced by - the parser. -

    -

    Supported Parameters

    -

    - hCalendar does not define attributes, nested elements or other information elements representing parameter data. - Therefore, this parser does not set any property parameters except as implied by property value data (e.g. - VALUE=DATE-TIME or VALUE=DATE for date-time properties). -

    -

    - -

    -


    - -

    - - - - - - - - - - - -
    -Constructor Summary
    HCalendarParser() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - voidparse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidparse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -HCalendarParser

    -
    -public HCalendarParser()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -parse

    -
    -public void parse(InputStream in,
    -                  ContentHandler handler)
    -           throws IOException,
    -                  ParserException
    -
    -
    Parse the iCalendar data from the specified input stream. -

    -

    -
    Specified by:
    parse in interface CalendarParser
    -
    -
    -
    Parameters:
    in - an input stream from which to read iCalendar data
    handler - the content handler to notify during parsing -
    Throws: -
    IOException - thrown when unable to read from the specified stream -
    ParserException - thrown if an error occurs during parsing
    -
    -
    -
    - -

    -parse

    -
    -public void parse(Reader in,
    -                  ContentHandler handler)
    -           throws IOException,
    -                  ParserException
    -
    -
    Parse the iCalendar data from the specified reader. -

    -

    -
    Specified by:
    parse in interface CalendarParser
    -
    -
    -
    Parameters:
    in - a reader from which to read iCalendar data
    handler - the content handler to notify during parsing -
    Throws: -
    IOException - thrown when unable to read from the specified reader -
    ParserException - thrown if an error occurs during parsing
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/HCalendarParserFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/HCalendarParserFactory.html deleted file mode 100644 index e76e1a65..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/HCalendarParserFactory.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - -HCalendarParserFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class HCalendarParserFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.data.CalendarParserFactory
    -      extended by net.fortuna.ical4j.data.HCalendarParserFactory
    -
    -
    -
    -
    public class HCalendarParserFactory
    extends CalendarParserFactory
    - - -

    -A parser factory for the hCal microformat. - -

    - $Id$
    -
    - Created on 18/11/2007
    - 
    -

    - -

    -

    -
    Author:
    -
    fortuna
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.data.CalendarParserFactory
    KEY_FACTORY_CLASS
    -  - - - - - - - - - - -
    -Constructor Summary
    HCalendarParserFactory() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - CalendarParsercreateParser() - -
    -          Returns a new instance of the configured CalendarParser.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.data.CalendarParserFactory
    getInstance
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -HCalendarParserFactory

    -
    -public HCalendarParserFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -createParser

    -
    -public CalendarParser createParser()
    -
    -
    Returns a new instance of the configured CalendarParser. -

    -

    -
    Specified by:
    createParser in class CalendarParserFactory
    -
    -
    - -
    Returns:
    a calendar parser instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/ParserException.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/ParserException.html deleted file mode 100644 index 67761c09..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/ParserException.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - - - - -ParserException (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class ParserException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by net.fortuna.ical4j.data.ParserException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class ParserException
    extends Exception
    - - -

    -

    - $Id$ [Apr 5, 2004]
    - 
    - - An exception thrown when an error occurs in parsing iCalendar data. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ParserException(int lineNo) - -
    -           
    ParserException(String message, - int lineNo) - -
    -          Constructor with message.
    ParserException(String message, - int lineNo, - Throwable cause) - -
    -          Constructor with message and cause.
    -  - - - - - - - - - - - -
    -Method Summary
    - intgetLineNo() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ParserException

    -
    -public ParserException(int lineNo)
    -
    -
    -
    Parameters:
    lineNo - line number where parsing error ocurred
    -
    -
    - -

    -ParserException

    -
    -public ParserException(String message,
    -                       int lineNo)
    -
    -
    Constructor with message. -

    -

    -
    Parameters:
    message - a descriptive message for the exception
    lineNo - line number where parsing error ocurred
    -
    -
    - -

    -ParserException

    -
    -public ParserException(String message,
    -                       int lineNo,
    -                       Throwable cause)
    -
    -
    Constructor with message and cause. -

    -

    -
    Parameters:
    message - a descriptive message for the exception
    lineNo - line number where parsing error ocurred
    cause - a throwable that is the cause of this exception
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLineNo

    -
    -public final int getLineNo()
    -
    -
    - -
    Returns:
    the lineNo
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/UnfoldingReader.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/UnfoldingReader.html deleted file mode 100644 index 259329e8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/UnfoldingReader.html +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - - -UnfoldingReader (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.data -
    -Class UnfoldingReader

    -
    -java.lang.Object
    -  extended by java.io.Reader
    -      extended by java.io.FilterReader
    -          extended by java.io.PushbackReader
    -              extended by net.fortuna.ical4j.data.UnfoldingReader
    -
    -
    -
    All Implemented Interfaces:
    Closeable, Readable
    -
    -
    -
    -
    public class UnfoldingReader
    extends PushbackReader
    - - -

    -

    - $Id$ [06-Apr-2004]
    - 
    - - A reader which performs iCalendar unfolding as it reads. Note that unfolding rules may be "relaxed" to allow - unfolding of non-conformant *.ics files. By specifying the system property "ical4j.unfolding.relaxed=true" iCalendar - files created with Mozilla Calendar/Sunbird may be correctly unfolded. - - To wrap this reader with a BufferedReader you must ensure you specify an identical buffer size - to that used in the BufferedReader. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.io.FilterReader
    in
    - - - - - - - -
    Fields inherited from class java.io.Reader
    lock
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    UnfoldingReader(Reader in) - -
    -          Creates a new unfolding reader instance.
    UnfoldingReader(Reader in, - boolean relaxed) - -
    -           
    UnfoldingReader(Reader in, - int size) - -
    -           
    UnfoldingReader(Reader in, - int size, - boolean relaxed) - -
    -          Creates a new unfolding reader instance.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetLinesUnfolded() - -
    -           
    - intread() - -
    -          
    - intread(char[] cbuf, - int off, - int len) - -
    -          
    - - - - - - - -
    Methods inherited from class java.io.PushbackReader
    close, mark, markSupported, ready, reset, skip, unread, unread, unread
    - - - - - - - -
    Methods inherited from class java.io.Reader
    read, read
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -UnfoldingReader

    -
    -public UnfoldingReader(Reader in)
    -
    -
    Creates a new unfolding reader instance. Relaxed unfolding flag is read from system property. -

    -

    -
    Parameters:
    in - the reader to unfold from
    -
    -
    - -

    -UnfoldingReader

    -
    -public UnfoldingReader(Reader in,
    -                       int size)
    -
    -
    -
    Parameters:
    in - reader source for data
    size - the buffer size
    -
    -
    - -

    -UnfoldingReader

    -
    -public UnfoldingReader(Reader in,
    -                       boolean relaxed)
    -
    -
    -
    Parameters:
    in - reader source for data
    relaxed - indicates whether relaxed unfolding is enabled
    -
    -
    - -

    -UnfoldingReader

    -
    -public UnfoldingReader(Reader in,
    -                       int size,
    -                       boolean relaxed)
    -
    -
    Creates a new unfolding reader instance. -

    -

    -
    Parameters:
    in - a reader to read from
    size - the buffer size
    relaxed - specifies whether unfolding is relaxed
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLinesUnfolded

    -
    -public final int getLinesUnfolded()
    -
    -
    - -
    Returns:
    number of lines unfolded so far while reading
    -
    -
    -
    - -

    -read

    -
    -public final int read()
    -               throws IOException
    -
    -
    -

    -

    -
    Overrides:
    read in class PushbackReader
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    -
    - -

    -read

    -
    -public int read(char[] cbuf,
    -                int off,
    -                int len)
    -         throws IOException
    -
    -
    -

    -

    -
    Overrides:
    read in class PushbackReader
    -
    -
    - -
    Throws: -
    IOException
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/AbstractOutputter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/AbstractOutputter.html deleted file mode 100644 index 56eb9a5f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/AbstractOutputter.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.AbstractOutputter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.AbstractOutputter

    -
    - - - - - - - - - -
    -Packages that use AbstractOutputter
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    -  -

    - - - - - -
    -Uses of AbstractOutputter in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - -
    Subclasses of AbstractOutputter in net.fortuna.ical4j.data
    - classCalendarOutputter - -
    -           - $Id$ [Apr 5, 2004]
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarBuilder.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarBuilder.html deleted file mode 100644 index ea5b79b2..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarBuilder.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.CalendarBuilder (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.CalendarBuilder

    -
    -No usage of net.fortuna.ical4j.data.CalendarBuilder -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarOutputter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarOutputter.html deleted file mode 100644 index 3c602300..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarOutputter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.CalendarOutputter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.CalendarOutputter

    -
    -No usage of net.fortuna.ical4j.data.CalendarOutputter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParser.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParser.html deleted file mode 100644 index 30bd02e0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParser.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.data.CalendarParser (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.data.CalendarParser

    -
    - - - - - - - - - -
    -Packages that use CalendarParser
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    -  -

    - - - - - -
    -Uses of CalendarParser in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - - - - - -
    Classes in net.fortuna.ical4j.data that implement CalendarParser
    - classCalendarParserImpl - -
    -           - $Id$ - - Created [Nov 5, 2004]
    - classHCalendarParser - -
    -          A CalendarParser that parses XHTML documents that include calendar data marked up with the hCalendar - microformat.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.data that return CalendarParser
    - CalendarParserHCalendarParserFactory.createParser() - -
    -          Returns a new instance of the configured CalendarParser.
    - CalendarParserDefaultCalendarParserFactory.createParser() - -
    -          Returns a new instance of the configured CalendarParser.
    -abstract  CalendarParserCalendarParserFactory.createParser() - -
    -          Returns a new instance of the configured CalendarParser.
    -  -

    - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.data with parameters of type CalendarParser
    CalendarBuilder(CalendarParser parser) - -
    -          Constructs a new calendar builder using the specified calendar parser.
    CalendarBuilder(CalendarParser parser, - PropertyFactoryRegistry propertyFactoryRegistry, - ParameterFactoryRegistry parameterFactoryRegistry, - TimeZoneRegistry tzRegistry) - -
    -           
    CalendarBuilder(CalendarParser parser, - TimeZoneRegistry tzRegistry) - -
    -          Constructs a new instance using the specified parser and registry.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserFactory.html deleted file mode 100644 index 9e15467a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserFactory.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.CalendarParserFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.CalendarParserFactory

    -
    - - - - - - - - - -
    -Packages that use CalendarParserFactory
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    -  -

    - - - - - -
    -Uses of CalendarParserFactory in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - - - - - -
    Subclasses of CalendarParserFactory in net.fortuna.ical4j.data
    - classDefaultCalendarParserFactory - -
    -           - $Id$ - - Created on 08/02/2007
    - classHCalendarParserFactory - -
    -          A parser factory for the hCal microformat.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.data that return CalendarParserFactory
    -static CalendarParserFactoryCalendarParserFactory.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserImpl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserImpl.html deleted file mode 100644 index 154e9c8e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserImpl.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.CalendarParserImpl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.CalendarParserImpl

    -
    -No usage of net.fortuna.ical4j.data.CalendarParserImpl -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/ContentHandler.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/ContentHandler.html deleted file mode 100644 index 933915c6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/ContentHandler.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.data.ContentHandler (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.data.ContentHandler

    -
    - - - - - - - - - -
    -Packages that use ContentHandler
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    -  -

    - - - - - -
    -Uses of ContentHandler in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.data with parameters of type ContentHandler
    - voidHCalendarParser.parse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidCalendarParserImpl.parse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidCalendarParser.parse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidHCalendarParser.parse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    - voidCalendarParserImpl.parse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    - voidCalendarParser.parse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/DefaultCalendarParserFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/DefaultCalendarParserFactory.html deleted file mode 100644 index a6a0ed8c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/DefaultCalendarParserFactory.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.DefaultCalendarParserFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.DefaultCalendarParserFactory

    -
    -No usage of net.fortuna.ical4j.data.DefaultCalendarParserFactory -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/FoldingWriter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/FoldingWriter.html deleted file mode 100644 index 18ae22e0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/FoldingWriter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.FoldingWriter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.FoldingWriter

    -
    -No usage of net.fortuna.ical4j.data.FoldingWriter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParser.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParser.html deleted file mode 100644 index b4d5b5fc..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParser.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.HCalendarParser (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.HCalendarParser

    -
    -No usage of net.fortuna.ical4j.data.HCalendarParser -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParserFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParserFactory.html deleted file mode 100644 index fdcbc573..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParserFactory.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.HCalendarParserFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.HCalendarParserFactory

    -
    -No usage of net.fortuna.ical4j.data.HCalendarParserFactory -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/ParserException.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/ParserException.html deleted file mode 100644 index 2cf2ae27..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/ParserException.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.ParserException (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.ParserException

    -
    - - - - - - - - - - - - - -
    -Packages that use ParserException
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of ParserException in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.data that throw ParserException
    - CalendarCalendarBuilder.build(InputStream in) - -
    -          Builds an iCalendar model from the specified input stream.
    - CalendarCalendarBuilder.build(Reader in) - -
    -          Builds an iCalendar model from the specified reader.
    - CalendarCalendarBuilder.build(UnfoldingReader uin) - -
    -          Build an iCalendar model by parsing data from the specified reader.
    - voidHCalendarParser.parse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidCalendarParserImpl.parse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidCalendarParser.parse(InputStream in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified input stream.
    - voidHCalendarParser.parse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    - voidCalendarParserImpl.parse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    - voidCalendarParser.parse(Reader in, - ContentHandler handler) - -
    -          Parse the iCalendar data from the specified reader.
    -  -

    - - - - - -
    -Uses of ParserException in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that throw ParserException
    -static CalendarCalendars.load(String filename) - -
    -          Loads a calendar from the specified file.
    -static CalendarCalendars.load(URL url) - -
    -          Loads a calendar from the specified URL.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/UnfoldingReader.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/UnfoldingReader.html deleted file mode 100644 index d95c6709..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/class-use/UnfoldingReader.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.data.UnfoldingReader (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.data.UnfoldingReader

    -
    - - - - - - - - - -
    -Packages that use UnfoldingReader
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    -  -

    - - - - - -
    -Uses of UnfoldingReader in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.data with parameters of type UnfoldingReader
    - CalendarCalendarBuilder.build(UnfoldingReader uin) - -
    -          Build an iCalendar model by parsing data from the specified reader.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-frame.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-frame.html deleted file mode 100644 index c5fc6fb8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-frame.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - -net.fortuna.ical4j.data (iCal4j 1.0.4 API) - - - - - - - - - - - -net.fortuna.ical4j.data - - - - -
    -Interfaces  - -
    -CalendarParser -
    -ContentHandler
    - - - - - - -
    -Classes  - -
    -AbstractOutputter -
    -CalendarBuilder -
    -CalendarOutputter -
    -CalendarParserFactory -
    -CalendarParserImpl -
    -DefaultCalendarParserFactory -
    -FoldingWriter -
    -HCalendarParser -
    -HCalendarParserFactory -
    -UnfoldingReader
    - - - - - - -
    -Exceptions  - -
    -ParserException
    - - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-summary.html deleted file mode 100644 index 7638ee0d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-summary.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - -net.fortuna.ical4j.data (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package net.fortuna.ical4j.data -

    -Contains types providing RFC2445 input, output and parsing functionality. -

    -See: -
    -          Description -

    - - - - - - - - - - - - - -
    -Interface Summary
    CalendarParser - $Id$ - - Created [Nov 5, 2004]
    ContentHandler - $Id$ [Nov 5, - 2004]
    -  - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    AbstractOutputterBase class for model outputters.
    CalendarBuilderParses and builds an iCalendar model from an input stream.
    CalendarOutputter - $Id$ [Apr 5, 2004]
    CalendarParserFactory - $Id$ - - Created on 08/02/2007
    CalendarParserImpl - $Id$ - - Created [Nov 5, 2004]
    DefaultCalendarParserFactory - $Id$ - - Created on 08/02/2007
    FoldingWriter - $Id$ [Apr 6, 2004]
    HCalendarParserA CalendarParser that parses XHTML documents that include calendar data marked up with the hCalendar - microformat.
    HCalendarParserFactoryA parser factory for the hCal microformat.
    UnfoldingReader - $Id$ [06-Apr-2004]
    -  - -

    - - - - - - - - - -
    -Exception Summary
    ParserException - $Id$ [Apr 5, 2004]
    -  - -

    -

    -Package net.fortuna.ical4j.data Description -

    - -

    -Contains types providing RFC2445 input, output and parsing functionality. -

    - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-tree.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-tree.html deleted file mode 100644 index a8997d69..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-tree.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -net.fortuna.ical4j.data Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package net.fortuna.ical4j.data -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-use.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-use.html deleted file mode 100644 index 38cf0a32..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/data/package-use.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - -Uses of Package net.fortuna.ical4j.data (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    net.fortuna.ical4j.data

    -
    - - - - - - - - - - - - - -
    -Packages that use net.fortuna.ical4j.data
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.data used by net.fortuna.ical4j.data
    AbstractOutputter - -
    -          Base class for model outputters.
    CalendarParser - -
    -           - $Id$ - - Created [Nov 5, 2004]
    CalendarParserFactory - -
    -           - $Id$ - - Created on 08/02/2007
    ContentHandler - -
    -           - $Id$ [Nov 5, - 2004]
    ParserException - -
    -           - $Id$ [Apr 5, 2004]
    UnfoldingReader - -
    -           - $Id$ [06-Apr-2004]
    -  -

    - - - - - - - - -
    -Classes in net.fortuna.ical4j.data used by net.fortuna.ical4j.util
    ParserException - -
    -           - $Id$ [Apr 5, 2004]
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/AbstractDateRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/AbstractDateRule.html deleted file mode 100644 index 37637e1b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/AbstractDateRule.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -AbstractDateRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.filter -
    -Class AbstractDateRule

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.filter.AbstractDateRule
    -
    -
    -
    All Implemented Interfaces:
    Rule
    -
    -
    -
    Direct Known Subclasses:
    DateInRangeRule
    -
    -
    -
    -
    public abstract class AbstractDateRule
    extends Object
    implements Rule
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    AbstractDateRule() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -protected abstract  booleanmatch(Date date) - -
    -           
    - booleanmatch(Object o) - -
    -          Indicates whether the specified object passes the conditions required to match this rule.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -AbstractDateRule

    -
    -public AbstractDateRule()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -match

    -
    -public boolean match(Object o)
    -
    -
    Indicates whether the specified object passes the conditions required to match this rule. -

    -

    -
    Specified by:
    match in interface Rule
    -
    -
    -
    Parameters:
    o - an object to match -
    Returns:
    boolean indicated if the specified object matches this rule
    -
    -
    -
    - -

    -match

    -
    -protected abstract boolean match(Date date)
    -
    -
    -
    -
    -
    -
    Parameters:
    date - the date to check -
    Returns:
    true if the date matches rule requirements, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/ComponentRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/ComponentRule.html deleted file mode 100644 index 77438d87..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/ComponentRule.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - - -ComponentRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.filter -
    -Class ComponentRule

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.filter.ComponentRule
    -
    -
    -
    All Implemented Interfaces:
    Rule
    -
    -
    -
    Direct Known Subclasses:
    HasPropertyRule, PeriodRule
    -
    -
    -
    -
    public abstract class ComponentRule
    extends Object
    implements Rule
    - - -

    -$Id$ - - Created on 2/02/2006 - - An abstract rule implementation serving as the base class for component matching rule implementations. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ComponentRule() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -abstract  booleanmatch(Component component) - -
    -           
    - booleanmatch(Object o) - -
    -          Indicates whether the specified object passes the conditions required to match this rule.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ComponentRule

    -
    -public ComponentRule()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -match

    -
    -public final boolean match(Object o)
    -
    -
    Indicates whether the specified object passes the conditions required to match this rule. -

    -

    -
    Specified by:
    match in interface Rule
    -
    -
    -
    Parameters:
    o - an object to match -
    Returns:
    boolean indicated if the specified object matches this rule
    -
    -
    -
    - -

    -match

    -
    -public abstract boolean match(Component component)
    -
    -
    -
    -
    -
    -
    Parameters:
    component - a component to match on -
    Returns:
    true if the component matches the rule, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/DateInRangeRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/DateInRangeRule.html deleted file mode 100644 index a83dc6d8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/DateInRangeRule.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - -DateInRangeRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.filter -
    -Class DateInRangeRule

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.filter.AbstractDateRule
    -      extended by net.fortuna.ical4j.filter.DateInRangeRule
    -
    -
    -
    All Implemented Interfaces:
    Rule
    -
    -
    -
    -
    public class DateInRangeRule
    extends AbstractDateRule
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    DateInRangeRule(DateRange range, - int inclusiveMask) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    -protected  booleanmatch(Date date) - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.filter.AbstractDateRule
    match
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateInRangeRule

    -
    -public DateInRangeRule(DateRange range,
    -                       int inclusiveMask)
    -
    -
    -
    Parameters:
    range - the range to check
    inclusiveMask - indicates inclusiveness of start and end of the range
    -
    - - - - - - - - -
    -Method Detail
    - -

    -match

    -
    -protected boolean match(Date date)
    -
    -
    -

    -

    -
    Specified by:
    match in class AbstractDateRule
    -
    -
    -
    Parameters:
    date - the date to check -
    Returns:
    true if the date matches rule requirements, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/Filter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/Filter.html deleted file mode 100644 index 0612a12a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/Filter.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - -Filter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.filter -
    -Class Filter

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.filter.Filter
    -
    -
    -
    -
    public class Filter
    extends Object
    - - -

    -$Id$ - - Created: Feb 1, 2006 - - Performs collection filtering based on a set of rules. A filter may dictate whether at least one rule or all rules - are matched. - - NOTE: Implementation of filter rules has changed in recent releases to fix behaviour. Please ensure you update - your code to use explicit constructors. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static intMATCH_ALL - -
    -          Indicates that all rules must be matched to include an object in the filtered collection.
    -static intMATCH_ANY - -
    -          Indicates that any rule may be matched to include an object in the filtered collection.
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Filter(Rule rule) - -
    -          Deprecated. Prior implementations of this class did not work as advertised, so - to avoid confusion please use constructors that explicitly specify the desired behaviour
    Filter(Rule[] rules, - int type) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Collectionfilter(Collection c) - -
    -          Filter the given collection into a new collection.
    - Object[]filter(Object[] objects) - -
    -          Returns a filtered subset of the specified array.
    - Rule[]getRules() - -
    -           
    - voidsetRules(Rule[] rules) - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -MATCH_ANY

    -
    -public static final int MATCH_ANY
    -
    -
    Indicates that any rule may be matched to include an object in the filtered collection. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MATCH_ALL

    -
    -public static final int MATCH_ALL
    -
    -
    Indicates that all rules must be matched to include an object in the filtered collection. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Filter

    -
    -public Filter(Rule rule)
    -
    -
    Deprecated. Prior implementations of this class did not work as advertised, so - to avoid confusion please use constructors that explicitly specify the desired behaviour -

    -

    Constructor. -

    -

    -
    Parameters:
    rule - a rule that defines this filter
    -
    -
    - -

    -Filter

    -
    -public Filter(Rule[] rules,
    -              int type)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    rules - an array of rules that define this filter
    type - the type of matching to apply
    See Also:
    MATCH_ALL, -MATCH_ANY
    -
    - - - - - - - - -
    -Method Detail
    - -

    -filter

    -
    -public final Collection filter(Collection c)
    -
    -
    Filter the given collection into a new collection. -

    -

    -
    Parameters:
    c - a collection to filter -
    Returns:
    a filtered collection
    -
    -
    -
    - -

    -filter

    -
    -public final Object[] filter(Object[] objects)
    -
    -
    Returns a filtered subset of the specified array. -

    -

    -
    Parameters:
    objects - an array to filter -
    Returns:
    a filtered array
    -
    -
    -
    - -

    -getRules

    -
    -public final Rule[] getRules()
    -
    -
    - -
    Returns:
    Returns the rules.
    -
    -
    -
    - -

    -setRules

    -
    -public final void setRules(Rule[] rules)
    -
    -
    -
    Parameters:
    rules - The rules to set.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/HasPropertyRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/HasPropertyRule.html deleted file mode 100644 index 3fa7a3e1..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/HasPropertyRule.html +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - -HasPropertyRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.filter -
    -Class HasPropertyRule

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.filter.ComponentRule
    -      extended by net.fortuna.ical4j.filter.HasPropertyRule
    -
    -
    -
    All Implemented Interfaces:
    Rule
    -
    -
    -
    -
    public class HasPropertyRule
    extends ComponentRule
    - - -

    -$Id$ - - Created on 5/02/2006 - - A rule that matches any component containing the specified property. Note that this rule ignores any parameters - matching only on the value of the property. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    HasPropertyRule(Property property) - -
    -          Constructs a new instance with the specified property.
    HasPropertyRule(Property property, - boolean matchEquals) - -
    -          Constructs a new instance with the specified property.
    -  - - - - - - - - - - - -
    -Method Summary
    - booleanmatch(Component component) - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.filter.ComponentRule
    match
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -HasPropertyRule

    -
    -public HasPropertyRule(Property property)
    -
    -
    Constructs a new instance with the specified property. Ignores any parameters matching only on the value of the - property. -

    -

    -
    Parameters:
    property - a property instance to check for
    -
    -
    - -

    -HasPropertyRule

    -
    -public HasPropertyRule(Property property,
    -                       boolean matchEquals)
    -
    -
    Constructs a new instance with the specified property. -

    -

    -
    Parameters:
    property - the property to match
    matchEquals - if true, matches must contain an identical property (as indicated by - Property.equals()
    -
    - - - - - - - - -
    -Method Detail
    - -

    -match

    -
    -public final boolean match(Component component)
    -
    -
    -

    -

    -
    Specified by:
    match in class ComponentRule
    -
    -
    -
    Parameters:
    component - a component to match on -
    Returns:
    true if the component matches the rule, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/PeriodRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/PeriodRule.html deleted file mode 100644 index d324df14..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/PeriodRule.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - -PeriodRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.filter -
    -Class PeriodRule

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.filter.ComponentRule
    -      extended by net.fortuna.ical4j.filter.PeriodRule
    -
    -
    -
    All Implemented Interfaces:
    Rule
    -
    -
    -
    -
    public class PeriodRule
    extends ComponentRule
    - - -

    -$Id$ - - Created on 2/02/2006 - - A rule that matches any component that occurs in the specified time period. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    PeriodRule(Period period) - -
    -          Constructs a new instance using the specified period.
    -  - - - - - - - - - - - -
    -Method Summary
    - booleanmatch(Component component) - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.filter.ComponentRule
    match
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PeriodRule

    -
    -public PeriodRule(Period period)
    -
    -
    Constructs a new instance using the specified period. -

    -

    -
    Parameters:
    period - a period instance to match on
    -
    - - - - - - - - -
    -Method Detail
    - -

    -match

    -
    -public final boolean match(Component component)
    -
    -
    -

    -

    -
    Specified by:
    match in class ComponentRule
    -
    -
    -
    Parameters:
    component - a component to match on -
    Returns:
    true if the component matches the rule, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/Rule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/Rule.html deleted file mode 100644 index 6e02f659..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/Rule.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - -Rule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.filter -
    -Interface Rule

    -
    -
    All Known Implementing Classes:
    AbstractDateRule, ComponentRule, DateInRangeRule, HasPropertyRule, PeriodRule
    -
    -
    -
    -
    public interface Rule
    - - -

    -$Id$ - - Created: Feb 1, 2006 - - Implementors dictate whether a given object is classified as a "match" for the enclosing filter. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    - booleanmatch(Object o) - -
    -          Indicates whether the specified object passes the conditions required to match this rule.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -match

    -
    -boolean match(Object o)
    -
    -
    Indicates whether the specified object passes the conditions required to match this rule. -

    -

    -
    Parameters:
    o - an object to match -
    Returns:
    boolean indicated if the specified object matches this rule
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/AbstractDateRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/AbstractDateRule.html deleted file mode 100644 index 4df04a7e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/AbstractDateRule.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.filter.AbstractDateRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.filter.AbstractDateRule

    -
    - - - - - - - - - -
    -Packages that use AbstractDateRule
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    -  -

    - - - - - -
    -Uses of AbstractDateRule in net.fortuna.ical4j.filter
    -  -

    - - - - - - - - - -
    Subclasses of AbstractDateRule in net.fortuna.ical4j.filter
    - classDateInRangeRule - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/ComponentRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/ComponentRule.html deleted file mode 100644 index c3277779..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/ComponentRule.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.filter.ComponentRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.filter.ComponentRule

    -
    - - - - - - - - - -
    -Packages that use ComponentRule
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    -  -

    - - - - - -
    -Uses of ComponentRule in net.fortuna.ical4j.filter
    -  -

    - - - - - - - - - - - - - -
    Subclasses of ComponentRule in net.fortuna.ical4j.filter
    - classHasPropertyRule - -
    -          $Id$ - - Created on 5/02/2006 - - A rule that matches any component containing the specified property.
    - classPeriodRule - -
    -          $Id$ - - Created on 2/02/2006 - - A rule that matches any component that occurs in the specified time period.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/DateInRangeRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/DateInRangeRule.html deleted file mode 100644 index b87bd96b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/DateInRangeRule.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.filter.DateInRangeRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.filter.DateInRangeRule

    -
    -No usage of net.fortuna.ical4j.filter.DateInRangeRule -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/Filter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/Filter.html deleted file mode 100644 index 7e2c13cb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/Filter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.filter.Filter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.filter.Filter

    -
    -No usage of net.fortuna.ical4j.filter.Filter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/HasPropertyRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/HasPropertyRule.html deleted file mode 100644 index 833cb0d3..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/HasPropertyRule.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.filter.HasPropertyRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.filter.HasPropertyRule

    -
    -No usage of net.fortuna.ical4j.filter.HasPropertyRule -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/PeriodRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/PeriodRule.html deleted file mode 100644 index f05eeea4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/PeriodRule.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.filter.PeriodRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.filter.PeriodRule

    -
    -No usage of net.fortuna.ical4j.filter.PeriodRule -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/Rule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/Rule.html deleted file mode 100644 index 1c32101f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/class-use/Rule.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.filter.Rule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.filter.Rule

    -
    - - - - - - - - - -
    -Packages that use Rule
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    -  -

    - - - - - -
    -Uses of Rule in net.fortuna.ical4j.filter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Classes in net.fortuna.ical4j.filter that implement Rule
    - classAbstractDateRule - -
    -           
    - classComponentRule - -
    -          $Id$ - - Created on 2/02/2006 - - An abstract rule implementation serving as the base class for component matching rule implementations.
    - classDateInRangeRule - -
    -           
    - classHasPropertyRule - -
    -          $Id$ - - Created on 5/02/2006 - - A rule that matches any component containing the specified property.
    - classPeriodRule - -
    -          $Id$ - - Created on 2/02/2006 - - A rule that matches any component that occurs in the specified time period.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.filter that return Rule
    - Rule[]Filter.getRules() - -
    -           
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.filter with parameters of type Rule
    - voidFilter.setRules(Rule[] rules) - -
    -           
    -  -

    - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.filter with parameters of type Rule
    Filter(Rule rule) - -
    -          Deprecated. Prior implementations of this class did not work as advertised, so - to avoid confusion please use constructors that explicitly specify the desired behaviour
    Filter(Rule[] rules, - int type) - -
    -          Constructor.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-frame.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-frame.html deleted file mode 100644 index 7ba5b5c9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-frame.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - -net.fortuna.ical4j.filter (iCal4j 1.0.4 API) - - - - - - - - - - - -net.fortuna.ical4j.filter - - - - -
    -Interfaces  - -
    -Rule
    - - - - - - -
    -Classes  - -
    -AbstractDateRule -
    -ComponentRule -
    -DateInRangeRule -
    -Filter -
    -HasPropertyRule -
    -PeriodRule
    - - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-summary.html deleted file mode 100644 index f014b3e4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-summary.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - -net.fortuna.ical4j.filter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package net.fortuna.ical4j.filter -

    -Filtering rules that may be used on lists of components, properties or parameters. -

    -See: -
    -          Description -

    - - - - - - - - - -
    -Interface Summary
    Rule$Id$ - - Created: Feb 1, 2006 - - Implementors dictate whether a given object is classified as a "match" for the enclosing filter.
    -  - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    AbstractDateRule 
    ComponentRule$Id$ - - Created on 2/02/2006 - - An abstract rule implementation serving as the base class for component matching rule implementations.
    DateInRangeRule 
    Filter$Id$ - - Created: Feb 1, 2006 - - Performs collection filtering based on a set of rules.
    HasPropertyRule$Id$ - - Created on 5/02/2006 - - A rule that matches any component containing the specified property.
    PeriodRule$Id$ - - Created on 2/02/2006 - - A rule that matches any component that occurs in the specified time period.
    -  - -

    -

    -Package net.fortuna.ical4j.filter Description -

    - -

    -Filtering rules that may be used on lists of components, properties or parameters. -

    - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-tree.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-tree.html deleted file mode 100644 index 16065d51..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-tree.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - -net.fortuna.ical4j.filter Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package net.fortuna.ical4j.filter -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    -
      -
    • net.fortuna.ical4j.filter.Rule
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-use.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-use.html deleted file mode 100644 index 64f0cc5c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/filter/package-use.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - -Uses of Package net.fortuna.ical4j.filter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    net.fortuna.ical4j.filter

    -
    - - - - - - - - - -
    -Packages that use net.fortuna.ical4j.filter
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    -  -

    - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.filter used by net.fortuna.ical4j.filter
    AbstractDateRule - -
    -           
    ComponentRule - -
    -          $Id$ - - Created on 2/02/2006 - - An abstract rule implementation serving as the base class for component matching rule implementations.
    Rule - -
    -          $Id$ - - Created: Feb 1, 2006 - - Implementors dictate whether a given object is classified as a "match" for the enclosing filter.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/AbstractContentFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/AbstractContentFactory.html deleted file mode 100644 index bd04dd56..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/AbstractContentFactory.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - -AbstractContentFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class AbstractContentFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.AbstractContentFactory
    -
    -
    -
    Direct Known Subclasses:
    ParameterFactoryImpl, PropertyFactoryImpl
    -
    -
    -
    -
    public abstract class AbstractContentFactory
    extends Object
    - - -

    -$Id$ - - Created on 28/01/2007 - - Abstract implementation of a content factory. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    AbstractContentFactory() - -
    -          Default constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  booleanallowIllegalNames() - -
    -           
    -protected  ObjectgetFactory(String key) - -
    -           
    -protected  voidregisterDefaultFactory(String key, - Object factory) - -
    -          Register a standard content factory.
    -protected  voidregisterExtendedFactory(String key, - Object factory) - -
    -          Register a non-standard content factory.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -AbstractContentFactory

    -
    -public AbstractContentFactory()
    -
    -
    Default constructor. -

    -

    - - - - - - - - -
    -Method Detail
    - -

    -registerDefaultFactory

    -
    -protected final void registerDefaultFactory(String key,
    -                                            Object factory)
    -
    -
    Register a standard content factory. -

    -

    -
    -
    -
    -
    - -

    -registerExtendedFactory

    -
    -protected final void registerExtendedFactory(String key,
    -                                             Object factory)
    -
    -
    Register a non-standard content factory. -

    -

    -
    -
    -
    -
    - -

    -getFactory

    -
    -protected final Object getFactory(String key)
    -
    -
    -
    Parameters:
    key - a factory key -
    Returns:
    a factory associated with the specified key, giving preference to - standard factories
    -
    -
    -
    - -

    -allowIllegalNames

    -
    -protected boolean allowIllegalNames()
    -
    -
    - -
    Returns:
    true if non-standard names are allowed, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/AddressList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/AddressList.html deleted file mode 100644 index 531e4403..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/AddressList.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - -AddressList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class AddressList

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.AddressList
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class AddressList
    extends Object
    implements Serializable
    - - -

    -$Id$ [23-Apr-2004] - - Defines a list of iCalendar addresses. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    AddressList() - -
    -          Default constructor.
    AddressList(String aValue) - -
    -          Parses the specified string representation to create a list of addresses.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(URI address) - -
    -          Add an address to the list.
    - booleanisEmpty() - -
    -           
    - Iteratoriterator() - -
    -           
    - booleanremove(URI address) - -
    -          Remove an address from the list.
    - intsize() - -
    -           
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -AddressList

    -
    -public AddressList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -AddressList

    -
    -public AddressList(String aValue)
    -            throws URISyntaxException
    -
    -
    Parses the specified string representation to create a list of addresses. -

    -

    -
    Parameters:
    aValue - a string representation of a list of addresses -
    Throws: -
    URISyntaxException - where the specified string is not a valid representation
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(URI address)
    -
    -
    Add an address to the list. -

    -

    -
    -
    -
    -
    Parameters:
    address - the address to add -
    Returns:
    true
    See Also:
    List.add(java.lang.Object)
    -
    -
    -
    - -

    -isEmpty

    -
    -public final boolean isEmpty()
    -
    -
    -
    -
    -
    - -
    Returns:
    boolean indicates if the list is empty
    See Also:
    List.isEmpty()
    -
    -
    -
    - -

    -iterator

    -
    -public final Iterator iterator()
    -
    -
    -
    -
    -
    - -
    Returns:
    an iterator
    See Also:
    List.iterator()
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(URI address)
    -
    -
    Remove an address from the list. -

    -

    -
    -
    -
    -
    Parameters:
    address - the address to remove -
    Returns:
    true if the list contained the specified address
    See Also:
    List.remove(java.lang.Object)
    -
    -
    -
    - -

    -size

    -
    -public final int size()
    -
    -
    -
    -
    -
    - -
    Returns:
    the number of addresses in the list
    See Also:
    List.size()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Calendar.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Calendar.html deleted file mode 100644 index 9fb709ae..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Calendar.html +++ /dev/null @@ -1,822 +0,0 @@ - - - - - - - -Calendar (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Calendar

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Calendar
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Calendar
    extends Object
    implements Serializable
    - - -

    -$Id$ [Apr 5, 2004] - - Defines an iCalendar calendar. - -

    -    4.6 Calendar Components
    -    
    -       The body of the iCalendar object consists of a sequence of calendar
    -       properties and one or more calendar components. The calendar
    -       properties are attributes that apply to the calendar as a whole. The
    -       calendar components are collections of properties that express a
    -       particular calendar semantic. For example, the calendar component can
    -       specify an event, a to-do, a journal entry, time zone information, or
    -       free/busy time information, or an alarm.
    -    
    -       The body of the iCalendar object is defined by the following
    -       notation:
    -    
    -         icalbody   = calprops component
    -    
    -         calprops   = 2*(
    -    
    -                    ; 'prodid' and 'version' are both REQUIRED,
    -                    ; but MUST NOT occur more than once
    -    
    -                    prodid /version /
    -    
    -                    ; 'calscale' and 'method' are optional,
    -                    ; but MUST NOT occur more than once
    -    
    -                    calscale        /
    -                    method          /
    -    
    -                    x-prop
    -    
    -                    )
    -    
    -         component  = 1*(eventc / todoc / journalc / freebusyc /
    -                    / timezonec / iana-comp / x-comp)
    -    
    -         iana-comp  = "BEGIN" ":" iana-token CRLF
    -    
    -                      1*contentline
    -    
    -                      "END" ":" iana-token CRLF
    -    
    -         x-comp     = "BEGIN" ":" x-name CRLF
    -    
    -                      1*contentline
    -    
    -                      "END" ":" x-name CRLF
    - 
    - - Example 1 - Creating a new calendar: - -
    
    - Calendar calendar = new Calendar();
    - calendar.getProperties().add(new ProdId("-//Ben Fortuna//iCal4j 1.0//EN"));
    - calendar.getProperties().add(Version.VERSION_2_0);
    - calendar.getProperties().add(CalScale.GREGORIAN);
    - 
    - // Add events, etc..
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringBEGIN - -
    -          Begin token.
    -static StringEND - -
    -          End token.
    -static StringVCALENDAR - -
    -          Calendar token.
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Calendar() - -
    -          Default constructor.
    Calendar(Calendar c) - -
    -          Creates a deep copy of the specified calendar.
    Calendar(ComponentList components) - -
    -          Constructs a new calendar with no properties and the specified components.
    Calendar(PropertyList p, - ComponentList c) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object arg0) - -
    -          
    - CalScalegetCalendarScale() - -
    -          Returns the optional calscale property.
    - ComponentgetComponent(String name) - -
    -          Convenience method for retrieving a named component.
    - ComponentListgetComponents() - -
    -           
    - ComponentListgetComponents(String name) - -
    -          Convenience method for retrieving a list of named components.
    - MethodgetMethod() - -
    -          Returns the optional method property.
    - ProdIdgetProductId() - -
    -          Returns the mandatory prodid property.
    - PropertyListgetProperties() - -
    -           
    - PropertyListgetProperties(String name) - -
    -          Convenience method for retrieving a list of named properties.
    - PropertygetProperty(String name) - -
    -          Convenience method for retrieving a named property.
    - VersiongetVersion() - -
    -          Returns the mandatory version property.
    - inthashCode() - -
    -          
    - StringtoString() - -
    -          
    - voidvalidate() - -
    -          Perform validation on the calendar, its properties and its components in its current state.
    - voidvalidate(boolean recurse) - -
    -          Perform validation on the calendar in its current state.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -BEGIN

    -
    -public static final String BEGIN
    -
    -
    Begin token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VCALENDAR

    -
    -public static final String VCALENDAR
    -
    -
    Calendar token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -END

    -
    -public static final String END
    -
    -
    End token. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Calendar

    -
    -public Calendar()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Calendar

    -
    -public Calendar(ComponentList components)
    -
    -
    Constructs a new calendar with no properties and the specified components. -

    -

    -
    Parameters:
    components - a list of components to add to the calendar
    -
    -
    - -

    -Calendar

    -
    -public Calendar(PropertyList p,
    -                ComponentList c)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    p - a list of properties
    c - a list of components
    -
    -
    - -

    -Calendar

    -
    -public Calendar(Calendar c)
    -         throws ParseException,
    -                IOException,
    -                URISyntaxException
    -
    -
    Creates a deep copy of the specified calendar. -

    -

    -
    Parameters:
    c - the calendar to copy -
    Throws: -
    IOException - where an error occurs reading calendar data -
    ParseException - where calendar parsing fails -
    URISyntaxException - where an invalid URI string is encountered
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -getComponents

    -
    -public final ComponentList getComponents()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the components.
    -
    -
    -
    - -

    -getComponents

    -
    -public final ComponentList getComponents(String name)
    -
    -
    Convenience method for retrieving a list of named components. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of components to retrieve -
    Returns:
    a component list containing only components with the specified name
    -
    -
    -
    - -

    -getComponent

    -
    -public final Component getComponent(String name)
    -
    -
    Convenience method for retrieving a named component. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of the component to retrieve -
    Returns:
    the first matching component in the component list with the specified name
    -
    -
    -
    - -

    -getProperties

    -
    -public final PropertyList getProperties()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the properties.
    -
    -
    -
    - -

    -getProperties

    -
    -public final PropertyList getProperties(String name)
    -
    -
    Convenience method for retrieving a list of named properties. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of properties to retrieve -
    Returns:
    a property list containing only properties with the specified name
    -
    -
    -
    - -

    -getProperty

    -
    -public final Property getProperty(String name)
    -
    -
    Convenience method for retrieving a named property. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of the property to retrieve -
    Returns:
    the first matching property in the property list with the specified name
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on the calendar, its properties and its components in its current state. -

    -

    -
    -
    -
    - -
    Throws: -
    ValidationException - where the calendar is not in a valid state
    -
    -
    -
    - -

    -validate

    -
    -public void validate(boolean recurse)
    -              throws ValidationException
    -
    -
    Perform validation on the calendar in its current state. -

    -

    -
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the calendar's properties and components -
    Throws: -
    ValidationException - where the calendar is not in a valid state
    -
    -
    -
    - -

    -getProductId

    -
    -public final ProdId getProductId()
    -
    -
    Returns the mandatory prodid property. -

    -

    -
    -
    -
    - -
    Returns:
    the PRODID property, or null if property doesn't exist
    -
    -
    -
    - -

    -getVersion

    -
    -public final Version getVersion()
    -
    -
    Returns the mandatory version property. -

    -

    -
    -
    -
    - -
    Returns:
    the VERSION property, or null if property doesn't exist
    -
    -
    -
    - -

    -getCalendarScale

    -
    -public final CalScale getCalendarScale()
    -
    -
    Returns the optional calscale property. -

    -

    -
    -
    -
    - -
    Returns:
    the CALSCALE property, or null if property doesn't exist
    -
    -
    -
    - -

    -getMethod

    -
    -public final Method getMethod()
    -
    -
    Returns the optional method property. -

    -

    -
    -
    -
    - -
    Returns:
    the METHOD property, or null if property doesn't exist
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public final int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/CalendarDateFormatFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/CalendarDateFormatFactory.html deleted file mode 100644 index 2b5c17e0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/CalendarDateFormatFactory.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -CalendarDateFormatFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class CalendarDateFormatFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.CalendarDateFormatFactory
    -
    -
    -
    -
    public final class CalendarDateFormatFactory
    extends Object
    - - -

    -$Id$ [06-Apr-2004] - - Creates DateFormat objects optimized for common iCalendar date patterns. -

    - -

    -

    -
    Author:
    -
    Dave Nault dnault@laszlosystems.com
    -
    See Also:
    getInstance(String)
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    -static DateFormatgetInstance(String pattern) - -
    -          Returns DateFormat objects optimized for common iCalendar date patterns.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -getInstance

    -
    -public static DateFormat getInstance(String pattern)
    -
    -
    Returns DateFormat objects optimized for common iCalendar date patterns. The DateFormats are *not* thread safe. - Attempts to get or set the Calendar or NumberFormat of an optimized DateFormat will result in an - UnsupportedOperation exception being thrown. -

    -

    -
    Parameters:
    pattern - a SimpleDateFormat-compatible pattern -
    Returns:
    an optimized DateFormat instance if possible, otherwise a normal SimpleDateFormat instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/CalendarException.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/CalendarException.html deleted file mode 100644 index b0e29879..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/CalendarException.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - -CalendarException (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class CalendarException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by java.lang.RuntimeException
    -              extended by net.fortuna.ical4j.model.CalendarException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class CalendarException
    extends RuntimeException
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    CalendarException(String message) - -
    -           
    CalendarException(Throwable cause) - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -CalendarException

    -
    -public CalendarException(String message)
    -
    -
    -
    Parameters:
    message - an exception detail message
    -
    -
    - -

    -CalendarException

    -
    -public CalendarException(Throwable cause)
    -
    -
    -
    Parameters:
    cause - the cause exception
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Component.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Component.html deleted file mode 100644 index b588b2d7..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Component.html +++ /dev/null @@ -1,851 +0,0 @@ - - - - - - - -Component (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Component

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    Available, CalendarComponent, Observance
    -
    -
    -
    -
    public abstract class Component
    extends Object
    implements Serializable
    - - -

    -$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
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringAVAILABLE - -
    -          Component token.
    -static StringBEGIN - -
    -          Component start token.
    -static StringEND - -
    -          Component end token.
    -static StringEXPERIMENTAL_PREFIX - -
    -          Prefix for non-standard components.
    -static StringVALARM - -
    -          Component token.
    -static StringVAVAILABILITY - -
    -          Component token.
    -static StringVEVENT - -
    -          Component token.
    -static StringVFREEBUSY - -
    -          Component token.
    -static StringVJOURNAL - -
    -          Component token.
    -static StringVTIMEZONE - -
    -          Component token.
    -static StringVTODO - -
    -          Component token.
    -static StringVVENUE - -
    -          Component token.
    -  - - - - - - - - - - - - - - - -
    -Constructor Summary
    -protected Component(String s) - -
    -          Constructs a new component containing no properties.
    -protected Component(String s, - PropertyList p) - -
    -          Constructor made protected to enforce the use of ComponentFactory for component instantiation.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - PeriodListcalculateRecurrenceSet(Period period) - -
    -          Calculates the recurrence set for this component using the specified period.
    - Componentcopy() - -
    -          Create a (deep) copy of this component.
    - booleanequals(Object arg0) - -
    -          
    - StringgetName() - -
    -           
    - PropertyListgetProperties() - -
    -           
    - PropertyListgetProperties(String name) - -
    -          Convenience method for retrieving a list of named properties.
    - PropertygetProperty(String name) - -
    -          Convenience method for retrieving a named property.
    - inthashCode() - -
    -          
    - StringtoString() - -
    -          
    - voidvalidate() - -
    -          Perform validation on a component and its properties.
    -abstract  voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    -protected  voidvalidateProperties() - -
    -          Invoke validation on the component properties in its current state.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -BEGIN

    -
    -public static final String BEGIN
    -
    -
    Component start token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -END

    -
    -public static final String END
    -
    -
    Component end token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VEVENT

    -
    -public static final String VEVENT
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VTODO

    -
    -public static final String VTODO
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VJOURNAL

    -
    -public static final String VJOURNAL
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VFREEBUSY

    -
    -public static final String VFREEBUSY
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VTIMEZONE

    -
    -public static final String VTIMEZONE
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VALARM

    -
    -public static final String VALARM
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VAVAILABILITY

    -
    -public static final String VAVAILABILITY
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VVENUE

    -
    -public static final String VVENUE
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -AVAILABLE

    -
    -public static final String AVAILABLE
    -
    -
    Component token. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -EXPERIMENTAL_PREFIX

    -
    -public static final String EXPERIMENTAL_PREFIX
    -
    -
    Prefix for non-standard components. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Component

    -
    -protected Component(String s)
    -
    -
    Constructs a new component containing no properties. -

    -

    -
    Parameters:
    s - a component name
    -
    -
    - -

    -Component

    -
    -protected Component(String s,
    -                    PropertyList p)
    -
    -
    Constructor made protected to enforce the use of ComponentFactory for component instantiation. -

    -

    -
    Parameters:
    s - component name
    p - a list of properties
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -getName

    -
    -public final String getName()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the name.
    -
    -
    -
    - -

    -getProperties

    -
    -public final PropertyList getProperties()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the properties.
    -
    -
    -
    - -

    -getProperties

    -
    -public final PropertyList getProperties(String name)
    -
    -
    Convenience method for retrieving a list of named properties. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of properties to retrieve -
    Returns:
    a property list containing only properties with the specified name
    -
    -
    -
    - -

    -getProperty

    -
    -public final Property getProperty(String name)
    -
    -
    Convenience method for retrieving a named property. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of the property to retrieve -
    Returns:
    the first matching property in the property list with the specified name
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a component and its properties. -

    -

    -
    -
    -
    - -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -validate

    -
    -public abstract void validate(boolean recurse)
    -                       throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -validateProperties

    -
    -protected final void validateProperties()
    -                                 throws ValidationException
    -
    -
    Invoke validation on the component properties in its current state. -

    -

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

    -equals

    -
    -public boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -copy

    -
    -public Component copy()
    -               throws ParseException,
    -                      IOException,
    -                      URISyntaxException
    -
    -
    Create a (deep) copy of this component. -

    -

    -
    -
    -
    - -
    Returns:
    the component copy -
    Throws: -
    IOException - where an error occurs reading the component data -
    ParseException - where parsing component data fails -
    URISyntaxException - where component data contains an invalid URI
    -
    -
    -
    - -

    -calculateRecurrenceSet

    -
    -public final PeriodList calculateRecurrenceSet(Period 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

    -

    -

    -
    -
    -
    -
    Parameters:
    period - a range to calculate recurrences for -
    Returns:
    a list of periods
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ComponentFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ComponentFactory.html deleted file mode 100644 index f420467f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ComponentFactory.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - -ComponentFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class ComponentFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.ComponentFactory
    -
    -
    -
    -
    public final class ComponentFactory
    extends Object
    - - -

    -$Id$ [05-Apr-2004] - - A factory for creating iCalendar components. Note that if relaxed parsing is enabled (via specifying the system - property: icalj.parsing.relaxed=true) illegal component names are allowed. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  booleanallowIllegalNames() - -
    -           
    - ComponentcreateComponent(String name) - -
    -           
    - ComponentcreateComponent(String name, - PropertyList properties) - -
    -          Creates a component.
    - ComponentcreateComponent(String name, - PropertyList properties, - ComponentList components) - -
    -          Creates a component which contains sub-components.
    -static ComponentFactorygetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -getInstance

    -
    -public static ComponentFactory getInstance()
    -
    -
    - -
    Returns:
    Returns the instance.
    -
    -
    -
    - -

    -createComponent

    -
    -public Component createComponent(String name)
    -
    -
    -
    Parameters:
    name - a component name -
    Returns:
    a new component instance of the specified type
    -
    -
    -
    - -

    -createComponent

    -
    -public Component createComponent(String name,
    -                                 PropertyList properties)
    -
    -
    Creates a component. -

    -

    -
    Parameters:
    name - name of the component
    properties - a list of component properties -
    Returns:
    a component
    -
    -
    -
    - -

    -createComponent

    -
    -public Component createComponent(String name,
    -                                 PropertyList properties,
    -                                 ComponentList components)
    -
    -
    Creates a component which contains sub-components. Currently the only such component is VTIMEZONE. -

    -

    -
    Parameters:
    name - name of the component
    properties - a list of component properties
    components - a list of sub-components (namely standard/daylight timezones) -
    Returns:
    a component
    -
    -
    -
    - -

    -allowIllegalNames

    -
    -protected boolean allowIllegalNames()
    -
    -
    - -
    Returns:
    true if non-standard names are allowed, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ComponentList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ComponentList.html deleted file mode 100644 index 883c3cac..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ComponentList.html +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - - -ComponentList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class ComponentList

    -
    -java.lang.Object
    -  extended by java.util.AbstractCollection<E>
    -      extended by java.util.AbstractList<E>
    -          extended by java.util.ArrayList
    -              extended by net.fortuna.ical4j.model.ComponentList
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable, Iterable, Collection, List, RandomAccess
    -
    -
    -
    -
    public class ComponentList
    extends ArrayList
    implements Serializable
    - - -

    -$Id$ [Apr 5, 2004] - - Defines a list of iCalendar components. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.util.AbstractList
    modCount
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ComponentList() - -
    -          Default constructor.
    ComponentList(ComponentList components) - -
    -          Creates a deep copy of the specified component list.
    ComponentList(int initialCapacity) - -
    -          Creates a new instance with the specified initial capacity.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(Component component) - -
    -          Add a component to the list.
    - booleanadd(Object component) - -
    -          Overrides superclass to throw an IllegalArgumentException where argument is not a - net.fortuna.ical4j.model.Component.
    - ComponentgetComponent(String aName) - -
    -          Returns the first component of specified name.
    - ComponentListgetComponents(String name) - -
    -          Returns a list containing all components with specified name.
    - booleanremove(Component component) - -
    -          Remove a component from the list.
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.util.ArrayList
    add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeRange, retainAll, set, size, subList, toArray, toArray, trimToSize
    - - - - - - - -
    Methods inherited from class java.util.AbstractList
    equals, hashCode
    - - - - - - - -
    Methods inherited from class java.util.AbstractCollection
    containsAll
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    - - - - - - - -
    Methods inherited from interface java.util.List
    containsAll, equals, hashCode
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ComponentList

    -
    -public ComponentList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -ComponentList

    -
    -public ComponentList(int initialCapacity)
    -
    -
    Creates a new instance with the specified initial capacity. -

    -

    -
    Parameters:
    initialCapacity - the initial capacity of the list
    -
    -
    - -

    -ComponentList

    -
    -public ComponentList(ComponentList components)
    -              throws ParseException,
    -                     IOException,
    -                     URISyntaxException
    -
    -
    Creates a deep copy of the specified component list. -

    -

    -
    Parameters:
    components - a component list to copy -
    Throws: -
    IOException - where an error occurs reading component data -
    ParseException - where component data cannot be parsed -
    URISyntaxException - where component data contains an invalid URI
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class AbstractCollection
    -
    -
    -
    -
    -
    -
    - -

    -getComponent

    -
    -public final Component getComponent(String aName)
    -
    -
    Returns the first component of specified name. -

    -

    -
    -
    -
    -
    Parameters:
    aName - name of component to return -
    Returns:
    a component or null if no matching component found
    -
    -
    -
    - -

    -getComponents

    -
    -public final ComponentList getComponents(String name)
    -
    -
    Returns a list containing all components with specified name. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of components to return -
    Returns:
    a list of components with the matching name
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Component component)
    -
    -
    Add a component to the list. -

    -

    -
    -
    -
    -
    Parameters:
    component - the component to add -
    Returns:
    true
    See Also:
    List#add(java.lang.Object)
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Object component)
    -
    -
    Overrides superclass to throw an IllegalArgumentException where argument is not a - net.fortuna.ical4j.model.Component. -

    -

    -
    Specified by:
    add in interface Collection
    Specified by:
    add in interface List
    Overrides:
    add in class ArrayList
    -
    -
    -
    Parameters:
    component - a component to add -
    Returns:
    true if the object was added, otherwise false
    See Also:
    List#add(E)
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(Component component)
    -
    -
    Remove a component from the list. -

    -

    -
    -
    -
    -
    Parameters:
    component - the component to remove -
    Returns:
    true if the list contained the specified component
    See Also:
    List#remove(java.lang.Object)
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ConstraintViolationException.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ConstraintViolationException.html deleted file mode 100644 index 40a0d4c9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ConstraintViolationException.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - -ConstraintViolationException (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class ConstraintViolationException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by net.fortuna.ical4j.model.ConstraintViolationException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class ConstraintViolationException
    extends Exception
    - - -

    -$Id$ - - Created on 02/03/2008 - - Indicates the violation of a constraint imposed by a relevant specification. -

    - -

    -

    -
    Author:
    -
    Ben
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    ConstraintViolationException() - -
    -          Default constructor.
    ConstraintViolationException(String message) - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ConstraintViolationException

    -
    -public ConstraintViolationException()
    -
    -
    Default constructor. -

    -

    -
    - -

    -ConstraintViolationException

    -
    -public ConstraintViolationException(String message)
    -
    -
    -
    Parameters:
    message - an error message
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Content.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Content.html deleted file mode 100644 index 4395cb86..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Content.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -Content (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Content

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    Parameter, Property
    -
    -
    -
    -
    public abstract class Content
    extends Object
    implements Serializable
    - - -

    -$Id$ - - Created: 12/10/2004 - - Base class for calendar content in the form of - properties and parameters. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    Content() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -abstract  StringgetName() - -
    -           
    -abstract  StringgetValue() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Content

    -
    -public Content()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getName

    -
    -public abstract String getName()
    -
    -
    -
    -
    -
    - -
    Returns:
    the cotent name
    -
    -
    -
    - -

    -getValue

    -
    -public abstract String getValue()
    -
    -
    -
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Date.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Date.html deleted file mode 100644 index cb21d8e4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Date.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - -Date (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Date

    -
    -java.lang.Object
    -  extended by java.util.Date
    -      extended by net.fortuna.ical4j.model.Iso8601
    -          extended by net.fortuna.ical4j.model.Date
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable, Comparable<Date>
    -
    -
    -
    Direct Known Subclasses:
    DateTime
    -
    -
    -
    -
    public class Date
    extends Iso8601
    - - -

    -$Id$ - - Created on 26/06/2005 - - Base class for all representations of time values in RFC2445. - -

    - 4.3.4 Date
    - 
    -    Value Name: DATE
    - 
    -    Purpose: This value type is used to identify values that contain a
    -    calendar date.
    - 
    -    Formal Definition: The value type is defined by the following
    -    notation:
    - 
    -      date               = date-value
    - 
    -      date-value         = date-fullyear date-month date-mday
    -      date-fullyear      = 4DIGIT
    -      date-month         = 2DIGIT        ;01-12
    -      date-mday          = 2DIGIT        ;01-28, 01-29, 01-30, 01-31
    -                                         ;based on month/year
    - 
    -    Description: If the property permits, multiple "date" values are
    -    specified as a COMMA character (US-ASCII decimal 44) separated list
    -    of values. The format for the value type is expressed as the [ISO
    -    8601] complete representation, basic format for a calendar date. The
    -    textual format specifies a four-digit year, two-digit month, and
    -    two-digit day of the month. There are no separator characters between
    -    the year, month and day component text.
    - 
    -    No additional content value encoding (i.e., BACKSLASH character
    -    encoding) is defined for this value type.
    - 
    -    Example: The following represents July 14, 1997:
    - 
    -      19970714
    - 
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    - Date() - -
    -          Default constructor.
    - Date(Date date) - -
    -           
    -protected Date(int precision, - TimeZone tz) - -
    -          Creates a new date instance with the specified precision.
    - Date(long time) - -
    -           
    -protected Date(long time, - int precision, - TimeZone tz) - -
    -          Creates a new date instance with the specified precision.
    - Date(String value) - -
    -           
    - Date(String value, - String pattern) - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Iso8601
    getFormat, setTime, toString
    - - - - - - - -
    Methods inherited from class java.util.Date
    after, before, clone, compareTo, equals, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Date

    -
    -public Date()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Date

    -
    -protected Date(int precision,
    -               TimeZone tz)
    -
    -
    Creates a new date instance with the specified precision. This - constructor is only intended for use by sub-classes. -

    -

    -
    Parameters:
    precision - the date precision
    tz - the timezone
    See Also:
    Dates.PRECISION_DAY, -Dates.PRECISION_SECOND
    -
    -
    - -

    -Date

    -
    -public Date(long time)
    -
    -
    -
    Parameters:
    time - a date value in milliseconds
    -
    -
    - -

    -Date

    -
    -protected Date(long time,
    -               int precision,
    -               TimeZone tz)
    -
    -
    Creates a new date instance with the specified precision. This - constructor is only intended for use by sub-classes. -

    -

    -
    Parameters:
    time - a date value in milliseconds
    precision - the date precision
    tz - the timezone
    See Also:
    Dates.PRECISION_DAY, -Dates.PRECISION_SECOND
    -
    -
    - -

    -Date

    -
    -public Date(Date date)
    -
    -
    -
    Parameters:
    date - a date value
    -
    -
    - -

    -Date

    -
    -public Date(String value)
    -     throws ParseException
    -
    -
    -
    Parameters:
    value - a string representation of a date -
    Throws: -
    ParseException - where the specified string is not a valid date
    -
    -
    - -

    -Date

    -
    -public Date(String value,
    -            String pattern)
    -     throws ParseException
    -
    -
    -
    Parameters:
    value - a string representation of a date
    pattern - a date pattern to apply when parsing -
    Throws: -
    ParseException - where the specified string is not a valid date
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateList.html deleted file mode 100644 index 043739d4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateList.html +++ /dev/null @@ -1,1132 +0,0 @@ - - - - - - - -DateList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class DateList

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.DateList
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Iterable, Collection, List
    -
    -
    -
    -
    public class DateList
    extends Object
    implements List, Serializable
    - - -

    -$Id$ [23-Apr-2004] - - Defines a list of iCalendar dates. If no value type is specified a list - defaults to DATE-TIME instances. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    DateList() - -
    -          Default constructor.
    DateList(boolean unmodifiable) - -
    -           
    DateList(DateList list, - Value type) - -
    -          Constructs a new date list of the specified type containing - the dates in the specified list.
    DateList(String aValue, - Value aType) - -
    -           
    DateList(String aValue, - Value aType, - TimeZone timezone) - -
    -          Parses the specified string representation to create a list of dates.
    DateList(Value aType) - -
    -           
    DateList(Value aType, - TimeZone timezone) - -
    -          Default constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(Date date) - -
    -          Add a date to the list.
    - voidadd(int arg0, - Object arg1) - -
    -           
    - booleanadd(Object date) - -
    -          Overrides superclass to throw an IllegalArgumentException - Where argument is not a net.fortuna.ical4j.model.Date.
    - booleanaddAll(Collection arg0) - -
    -           
    - booleanaddAll(int arg0, - Collection arg1) - -
    -           
    - voidclear() - -
    -           
    - booleancontains(Object o) - -
    -           
    - booleancontainsAll(Collection arg0) - -
    -           
    - booleanequals(Object obj) - -
    -           
    - Objectget(int index) - -
    -           
    - TimeZonegetTimeZone() - -
    -           
    - ValuegetType() - -
    -          Returns the VALUE parameter specifying the type of dates (ie.
    - inthashCode() - -
    -           
    - intindexOf(Object o) - -
    -           
    - booleanisEmpty() - -
    -           
    - booleanisUtc() - -
    -          Indicates whether this list is in local or UTC format.
    - Iteratoriterator() - -
    -           
    - intlastIndexOf(Object o) - -
    -           
    - ListIteratorlistIterator() - -
    -           
    - ListIteratorlistIterator(int index) - -
    -           
    - booleanremove(Date date) - -
    -          Remove a date from the list.
    - Objectremove(int index) - -
    -           
    - booleanremove(Object o) - -
    -           
    - booleanremoveAll(Collection arg0) - -
    -           
    - booleanretainAll(Collection arg0) - -
    -           
    - Objectset(int arg0, - Object arg1) - -
    -           
    - voidsetTimeZone(TimeZone timeZone) - -
    -          Applies the specified timezone to all dates in the list.
    - voidsetUtc(boolean utc) - -
    -          Sets whether this list is in UTC or local time format.
    - intsize() - -
    -           
    - ListsubList(int fromIndex, - int toIndex) - -
    -           
    - Object[]toArray() - -
    -           
    - Object[]toArray(Object[] arg0) - -
    -           
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateList

    -
    -public DateList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -DateList

    -
    -public DateList(boolean unmodifiable)
    -
    -
    -
    - -

    -DateList

    -
    -public DateList(Value aType)
    -
    -
    -
    Parameters:
    aType - the type of dates contained by the instance
    -
    -
    - -

    -DateList

    -
    -public DateList(Value aType,
    -                TimeZone timezone)
    -
    -
    Default constructor. -

    -

    -
    Parameters:
    aType - specifies the type of dates (either date or date-time)
    timezone - the timezone to apply to dates contained by the instance
    -
    -
    - -

    -DateList

    -
    -public DateList(String aValue,
    -                Value aType)
    -         throws ParseException
    -
    -
    -
    Parameters:
    aValue - a string representation of a date list
    aType - the date types contained in the instance -
    Throws: -
    ParseException - where the specified string is not a valid date list
    -
    -
    - -

    -DateList

    -
    -public DateList(String aValue,
    -                Value aType,
    -                TimeZone timezone)
    -         throws ParseException
    -
    -
    Parses the specified string representation to create a list of dates. -

    -

    -
    Parameters:
    aValue - a string representation of a list of dates
    aType - specifies the type of dates (either date or date-time)
    timezone - the timezone to apply to contained dates -
    Throws: -
    ParseException - if an invalid date representation exists in the date list - string
    -
    -
    - -

    -DateList

    -
    -public DateList(DateList list,
    -                Value type)
    -
    -
    Constructs a new date list of the specified type containing - the dates in the specified list. -

    -

    -
    Parameters:
    list - a list of dates to include in the new list
    type - the type of the new list
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Date date)
    -
    -
    Add a date to the list. The date will be updated to reflect the - timezone of this list. -

    -

    -
    -
    -
    -
    Parameters:
    date - the date to add -
    Returns:
    true
    See Also:
    List.add(java.lang.Object)
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Object date)
    -
    -
    Overrides superclass to throw an IllegalArgumentException - Where argument is not a net.fortuna.ical4j.model.Date. -

    -

    -
    Specified by:
    add in interface Collection
    Specified by:
    add in interface List
    -
    -
    -
    Parameters:
    date - the date to add -
    Returns:
    true if the object was added, otherwise false
    See Also:
    List#add(E)
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(Date date)
    -
    -
    Remove a date from the list. -

    -

    -
    -
    -
    -
    Parameters:
    date - the date to remove -
    Returns:
    true if the list contained the specified date
    See Also:
    List.remove(java.lang.Object)
    -
    -
    -
    - -

    -getType

    -
    -public final Value getType()
    -
    -
    Returns the VALUE parameter specifying the type of dates (ie. date or - date-time) stored in this date list. -

    -

    -
    -
    -
    - -
    Returns:
    Returns a Value parameter.
    -
    -
    -
    - -

    -isUtc

    -
    -public final boolean isUtc()
    -
    -
    Indicates whether this list is in local or UTC format. This property will - have no affect if the type of the list is not DATE-TIME. -

    -

    -
    -
    -
    - -
    Returns:
    Returns true if in UTC format, otherwise false.
    -
    -
    -
    - -

    -setUtc

    -
    -public final void setUtc(boolean utc)
    -
    -
    Sets whether this list is in UTC or local time format. -

    -

    -
    -
    -
    -
    Parameters:
    utc - The utc to set.
    -
    -
    -
    - -

    -setTimeZone

    -
    -public final void setTimeZone(TimeZone timeZone)
    -
    -
    Applies the specified timezone to all dates in the list. - All dates added to this list will also have this timezone - applied. -

    -

    -
    -
    -
    -
    Parameters:
    timeZone - a timezone to apply to contained dates
    -
    -
    -
    - -

    -getTimeZone

    -
    -public final TimeZone getTimeZone()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the timeZone.
    -
    -
    -
    - -

    -add

    -
    -public final void add(int arg0,
    -                      Object arg1)
    -
    -
    -
    Specified by:
    add in interface List
    -
    -
    -
    -
    -
    -
    - -

    -addAll

    -
    -public final boolean addAll(Collection arg0)
    -
    -
    -
    Specified by:
    addAll in interface Collection
    Specified by:
    addAll in interface List
    -
    -
    -
    -
    -
    -
    - -

    -addAll

    -
    -public final boolean addAll(int arg0,
    -                            Collection arg1)
    -
    -
    -
    Specified by:
    addAll in interface List
    -
    -
    -
    -
    -
    -
    - -

    -clear

    -
    -public final void clear()
    -
    -
    -
    Specified by:
    clear in interface Collection
    Specified by:
    clear in interface List
    -
    -
    -
    -
    -
    -
    - -

    -contains

    -
    -public final boolean contains(Object o)
    -
    -
    -
    Specified by:
    contains in interface Collection
    Specified by:
    contains in interface List
    -
    -
    -
    -
    -
    -
    - -

    -containsAll

    -
    -public final boolean containsAll(Collection arg0)
    -
    -
    -
    Specified by:
    containsAll in interface Collection
    Specified by:
    containsAll in interface List
    -
    -
    -
    -
    -
    -
    - -

    -get

    -
    -public final Object get(int index)
    -
    -
    -
    Specified by:
    get in interface List
    -
    -
    -
    -
    -
    -
    - -

    -indexOf

    -
    -public final int indexOf(Object o)
    -
    -
    -
    Specified by:
    indexOf in interface List
    -
    -
    -
    -
    -
    -
    - -

    -isEmpty

    -
    -public final boolean isEmpty()
    -
    -
    -
    Specified by:
    isEmpty in interface Collection
    Specified by:
    isEmpty in interface List
    -
    -
    -
    -
    -
    -
    - -

    -iterator

    -
    -public final Iterator iterator()
    -
    -
    -
    Specified by:
    iterator in interface Iterable
    Specified by:
    iterator in interface Collection
    Specified by:
    iterator in interface List
    -
    -
    -
    -
    -
    -
    - -

    -lastIndexOf

    -
    -public final int lastIndexOf(Object o)
    -
    -
    -
    Specified by:
    lastIndexOf in interface List
    -
    -
    -
    -
    -
    -
    - -

    -listIterator

    -
    -public final ListIterator listIterator()
    -
    -
    -
    Specified by:
    listIterator in interface List
    -
    -
    -
    -
    -
    -
    - -

    -listIterator

    -
    -public final ListIterator listIterator(int index)
    -
    -
    -
    Specified by:
    listIterator in interface List
    -
    -
    -
    -
    -
    -
    - -

    -remove

    -
    -public final Object remove(int index)
    -
    -
    -
    Specified by:
    remove in interface List
    -
    -
    -
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(Object o)
    -
    -
    -
    Specified by:
    remove in interface Collection
    Specified by:
    remove in interface List
    -
    -
    -
    -
    -
    -
    - -

    -removeAll

    -
    -public final boolean removeAll(Collection arg0)
    -
    -
    -
    Specified by:
    removeAll in interface Collection
    Specified by:
    removeAll in interface List
    -
    -
    -
    -
    -
    -
    - -

    -retainAll

    -
    -public final boolean retainAll(Collection arg0)
    -
    -
    -
    Specified by:
    retainAll in interface Collection
    Specified by:
    retainAll in interface List
    -
    -
    -
    -
    -
    -
    - -

    -set

    -
    -public final Object set(int arg0,
    -                        Object arg1)
    -
    -
    -
    Specified by:
    set in interface List
    -
    -
    -
    -
    -
    -
    - -

    -size

    -
    -public final int size()
    -
    -
    -
    Specified by:
    size in interface Collection
    Specified by:
    size in interface List
    -
    -
    -
    -
    -
    -
    - -

    -subList

    -
    -public final List subList(int fromIndex,
    -                          int toIndex)
    -
    -
    -
    Specified by:
    subList in interface List
    -
    -
    -
    -
    -
    -
    - -

    -toArray

    -
    -public final Object[] toArray()
    -
    -
    -
    Specified by:
    toArray in interface Collection
    Specified by:
    toArray in interface List
    -
    -
    -
    -
    -
    -
    - -

    -toArray

    -
    -public final Object[] toArray(Object[] arg0)
    -
    -
    -
    Specified by:
    toArray in interface Collection
    Specified by:
    toArray in interface List
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object obj)
    -
    -
    -
    Specified by:
    equals in interface Collection
    Specified by:
    equals in interface List
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public final int hashCode()
    -
    -
    -
    Specified by:
    hashCode in interface Collection
    Specified by:
    hashCode in interface List
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateRange.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateRange.html deleted file mode 100644 index 60868e79..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateRange.html +++ /dev/null @@ -1,537 +0,0 @@ - - - - - - - -DateRange (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class DateRange

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.DateRange
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    Period
    -
    -
    -
    -
    public class DateRange
    extends Object
    implements Serializable
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static intINCLUSIVE_END - -
    -          A flag indicating whether to include the end of the period in test functions.
    -static intINCLUSIVE_START - -
    -          A flag indicating whether to include the start of the period in test functions.
    -  - - - - - - - - - - -
    -Constructor Summary
    DateRange(Date start, - Date end) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadjacent(DateRange range) - -
    -          Decides whether these periods are serial without a gap.
    - booleanafter(DateRange range) - -
    -          Decides whether this period starts after the given period ends.
    - booleanbefore(DateRange range) - -
    -          Decides whether this period is completed before the given period starts.
    - booleancontains(DateRange range) - -
    -          Decides whether the given period is completely contained within this one.
    - DategetRangeEnd() - -
    -           
    - DategetRangeStart() - -
    -           
    - booleanincludes(Date date) - -
    -          Determines if the specified date occurs within this period (inclusive of - period start and end).
    - booleanincludes(Date date, - int inclusiveMask) - -
    -          Decides whether a date falls within this period.
    - booleanintersects(DateRange range) - -
    -          Decides whether this period intersects with another one.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -INCLUSIVE_START

    -
    -public static final int INCLUSIVE_START
    -
    -
    A flag indicating whether to include the start of the period in test functions. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -INCLUSIVE_END

    -
    -public static final int INCLUSIVE_END
    -
    -
    A flag indicating whether to include the end of the period in test functions. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -DateRange

    -
    -public DateRange(Date start,
    -                 Date end)
    -
    -
    -
    Parameters:
    start - the start of the range
    end - the end of the range
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getRangeStart

    -
    -public Date getRangeStart()
    -
    -
    -
    -
    -
    - -
    Returns:
    the rangeStart
    -
    -
    -
    - -

    -getRangeEnd

    -
    -public Date getRangeEnd()
    -
    -
    -
    -
    -
    - -
    Returns:
    the rangeEnd
    -
    -
    -
    - -

    -includes

    -
    -public final boolean includes(Date date)
    -
    -
    Determines if the specified date occurs within this period (inclusive of - period start and end). -

    -

    -
    -
    -
    -
    Parameters:
    date - a date to test for inclusion -
    Returns:
    true if the specified date occurs within the current period
    -
    -
    -
    - -

    -includes

    -
    -public final boolean includes(Date date,
    -                              int inclusiveMask)
    -
    -
    Decides whether a date falls within this period. -

    -

    -
    -
    -
    -
    Parameters:
    date - the date to be tested
    inclusiveMask - specifies whether period start and end are included - in the calculation -
    Returns:
    true if the date is in the period, false otherwise
    See Also:
    INCLUSIVE_START, -INCLUSIVE_END
    -
    -
    -
    - -

    -before

    -
    -public final boolean before(DateRange range)
    -
    -
    Decides whether this period is completed before the given period starts. -

    -

    -
    -
    -
    -
    Parameters:
    range - a period that may or may not start after this period ends -
    Returns:
    true if the specified period starts after this periods ends, - otherwise false
    -
    -
    -
    - -

    -after

    -
    -public final boolean after(DateRange range)
    -
    -
    Decides whether this period starts after the given period ends. -

    -

    -
    -
    -
    -
    Parameters:
    range - a period that may or may not end before this period starts -
    Returns:
    true if the specified period end before this periods starts, - otherwise false
    -
    -
    -
    - -

    -intersects

    -
    -public final boolean intersects(DateRange range)
    -
    -
    Decides whether this period intersects with another one. -

    -

    -
    -
    -
    -
    Parameters:
    range - a possible intersecting period -
    Returns:
    true if the specified period intersects this one, false - otherwise.
    -
    -
    -
    - -

    -adjacent

    -
    -public final boolean adjacent(DateRange range)
    -
    -
    Decides whether these periods are serial without a gap. -

    -

    -
    -
    -
    -
    Parameters:
    range - a period to test for adjacency -
    Returns:
    true if one period immediately follows the other, false otherwise
    -
    -
    -
    - -

    -contains

    -
    -public final boolean contains(DateRange range)
    -
    -
    Decides whether the given period is completely contained within this one. -

    -

    -
    -
    -
    -
    Parameters:
    range - the period that may be contained by this one -
    Returns:
    true if this period covers all the dates of the specified period, - otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateTime.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateTime.html deleted file mode 100644 index 5350ea74..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DateTime.html +++ /dev/null @@ -1,700 +0,0 @@ - - - - - - - -DateTime (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class DateTime

    -
    -java.lang.Object
    -  extended by java.util.Date
    -      extended by net.fortuna.ical4j.model.Iso8601
    -          extended by net.fortuna.ical4j.model.Date
    -              extended by net.fortuna.ical4j.model.DateTime
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable, Comparable<Date>
    -
    -
    -
    -
    public class DateTime
    extends Date
    - - -

    -$Id$ - - Created on 26/06/2005 - - Represents a time of day on a specific date. - -

    - 4.3.5   Date-Time
    - 
    -    Value Name: DATE-TIME
    - 
    -    Purpose: This value type is used to identify values that specify a
    -    precise calendar date and time of day.
    - 
    -    Formal Definition: The value type is defined by the following
    -    notation:
    - 
    -      date-time  = date "T" time ;As specified in the date and time
    -                                 ;value definitions
    - 
    -    Description: If the property permits, multiple "date-time" values are
    -    specified as a COMMA character (US-ASCII decimal 44) separated list
    -    of values. No additional content value encoding (i.e., BACKSLASH
    -    character encoding) is defined for this value type.
    - 
    -    The "DATE-TIME" data type is used to identify values that contain a
    -    precise calendar date and time of day. The format is based on the
    -    [ISO 8601] complete representation, basic format for a calendar date
    -    and time of day. The text format is a concatenation of the "date",
    -    followed by the LATIN CAPITAL LETTER T character (US-ASCII decimal
    -    84) time designator, followed by the "time" format.
    - 
    -    The "DATE-TIME" data type expresses time values in three forms:
    - 
    -    The form of date and time with UTC offset MUST NOT be used. For
    -    example, the following is not valid for a date-time value:
    - 
    -      DTSTART:19980119T230000-0800       ;Invalid time format
    - 
    -    FORM #1: DATE WITH LOCAL TIME
    - 
    -    The date with local time form is simply a date-time value that does
    -    not contain the UTC designator nor does it reference a time zone. For
    -    example, the following represents Janurary 18, 1998, at 11 PM:
    - 
    -      DTSTART:19980118T230000
    - 
    -    Date-time values of this type are said to be "floating" and are not
    -    bound to any time zone in particular. They are used to represent the
    -    same hour, minute, and second value regardless of which time zone is
    -    currently being observed. For example, an event can be defined that
    -    indicates that an individual will be busy from 11:00 AM to 1:00 PM
    -    every day, no matter which time zone the person is in. In these
    -    cases, a local time can be specified. The recipient of an iCalendar
    -    object with a property value consisting of a local time, without any
    -    relative time zone information, SHOULD interpret the value as being
    -    fixed to whatever time zone the ATTENDEE is in at any given moment.
    -    This means that two ATTENDEEs, in different time zones, receiving the
    -    same event definition as a floating time, may be participating in the
    -    event at different actual times. Floating time SHOULD only be used
    -    where that is the reasonable behavior.
    - 
    -    In most cases, a fixed time is desired. To properly communicate a
    -    fixed time in a property value, either UTC time or local time with
    -    time zone reference MUST be specified.
    - 
    -    The use of local time in a DATE-TIME value without the TZID property
    -    parameter is to be interpreted as floating time, regardless of the
    -    existence of "VTIMEZONE" calendar components in the iCalendar object.
    - 
    -    FORM #2: DATE WITH UTC TIME
    - 
    -    The date with UTC time, or absolute time, is identified by a LATIN
    -    CAPITAL LETTER Z suffix character (US-ASCII decimal 90), the UTC
    -    designator, appended to the time value. For example, the following
    -    represents January 19, 1998, at 0700 UTC:
    - 
    -      DTSTART:19980119T070000Z
    - 
    -    The TZID property parameter MUST NOT be applied to DATE-TIME
    -    properties whose time values are specified in UTC.
    - 
    -    FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE
    - 
    -    The date and local time with reference to time zone information is
    -    identified by the use the TZID property parameter to reference the
    -    appropriate time zone definition. TZID is discussed in detail in the
    -    section on Time Zone. For example, the following represents 2 AM in
    -    New York on Janurary 19, 1998:
    - 
    -           DTSTART;TZID=US-Eastern:19980119T020000
    - 
    -    Example: The following represents July 14, 1997, at 1:30 PM in New
    -    York City in each of the three time formats, using the "DTSTART"
    -    property.
    - 
    -      DTSTART:19970714T133000            ;Local time
    -      DTSTART:19970714T173000Z           ;UTC time
    -      DTSTART;TZID=US-Eastern:19970714T133000    ;Local time and time
    -                         ; zone reference
    - 
    -    A time value MUST ONLY specify 60 seconds when specifying the
    -    periodic "leap second" in the time value. For example:
    - 
    -      COMPLETED:19970630T235960Z
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    DateTime() - -
    -          Default constructor.
    DateTime(boolean utc) - -
    -           
    DateTime(Date date) - -
    -           
    DateTime(long time) - -
    -           
    DateTime(String value) - -
    -          Constructs a new DateTime instance from parsing the specified string - representation in the default (local) timezone.
    DateTime(String value, - String pattern, - boolean utc) - -
    -           
    DateTime(String value, - String pattern, - TimeZone timezone) - -
    -           
    DateTime(String value, - TimeZone timezone) - -
    -          Creates a new date-time instance from the specified value in the given - timezone.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object arg0) - -
    -          
    - TimeZonegetTimeZone() - -
    -          Returns the current timezone associated with this date-time value.
    - inthashCode() - -
    -          
    - booleanisUtc() - -
    -           
    - voidsetTime(long time) - -
    -          
    - voidsetTimeZone(TimeZone timezone) - -
    -          Sets the timezone associated with this date-time instance.
    - voidsetUtc(boolean utc) - -
    -          Updates this date-time to display in UTC time if the argument is true.
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Iso8601
    getFormat
    - - - - - - - -
    Methods inherited from class java.util.Date
    after, before, clone, compareTo, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateTime

    -
    -public DateTime()
    -
    -
    Default constructor. -

    -

    -
    - -

    -DateTime

    -
    -public DateTime(boolean utc)
    -
    -
    -
    Parameters:
    utc - indicates if the date is in UTC time
    -
    -
    - -

    -DateTime

    -
    -public DateTime(long time)
    -
    -
    -
    Parameters:
    time - a date-time value in milliseconds
    -
    -
    - -

    -DateTime

    -
    -public DateTime(Date date)
    -
    -
    -
    Parameters:
    date - a date-time value
    -
    -
    - -

    -DateTime

    -
    -public DateTime(String value)
    -         throws ParseException
    -
    -
    Constructs a new DateTime instance from parsing the specified string - representation in the default (local) timezone. -

    -

    -
    Parameters:
    value - a string representation of a date-time -
    Throws: -
    ParseException - where the specified string is not a valid date-time
    -
    -
    - -

    -DateTime

    -
    -public DateTime(String value,
    -                TimeZone timezone)
    -         throws ParseException
    -
    -
    Creates a new date-time instance from the specified value in the given - timezone. If a timezone is not specified, the default timezone (as - returned by TimeZone.getDefault()) is used. -

    -

    -
    Parameters:
    value - a string representation of a date-time
    timezone - the timezone for the date-time instance -
    Throws: -
    ParseException - where the specified string is not a valid date-time
    -
    -
    - -

    -DateTime

    -
    -public DateTime(String value,
    -                String pattern,
    -                TimeZone timezone)
    -         throws ParseException
    -
    -
    -
    Parameters:
    value - a string representation of a date-time
    pattern - a pattern to apply when parsing the date-time value
    timezone - the timezone for the date-time instance -
    Throws: -
    ParseException - where the specified string is not a valid date-time
    -
    -
    - -

    -DateTime

    -
    -public DateTime(String value,
    -                String pattern,
    -                boolean utc)
    -         throws ParseException
    -
    -
    -
    Parameters:
    value - a string representation of a date-time
    pattern - a pattern to apply when parsing the date-time value
    utc - indicates whether the date-time is in UTC time -
    Throws: -
    ParseException - where the specified string is not a valid date-time
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setTime

    -
    -public final void setTime(long time)
    -
    -
    -

    -

    -
    Overrides:
    setTime in class Iso8601
    -
    -
    -
    -
    -
    -
    - -

    -isUtc

    -
    -public final boolean isUtc()
    -
    -
    - -
    Returns:
    Returns the utc.
    -
    -
    -
    - -

    -setUtc

    -
    -public final void setUtc(boolean utc)
    -
    -
    Updates this date-time to display in UTC time if the argument is true. - Otherwise, resets to the default timezone. -

    -

    -
    Parameters:
    utc - The utc to set.
    -
    -
    -
    - -

    -setTimeZone

    -
    -public final void setTimeZone(TimeZone timezone)
    -
    -
    Sets the timezone associated with this date-time instance. If the - specified timezone is null, it will reset to the default timezone. If the - date-time instance is utc, it will turn into either a floating (no - timezone) date-time, or a date-time with a timezone. -

    -

    -
    Parameters:
    timezone - a timezone to apply to the instance
    -
    -
    -
    - -

    -getTimeZone

    -
    -public final TimeZone getTimeZone()
    -
    -
    Returns the current timezone associated with this date-time value. -

    -

    - -
    Returns:
    a Java timezone
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Iso8601
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Date
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Date
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DefaultTimeZoneRegistryFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DefaultTimeZoneRegistryFactory.html deleted file mode 100644 index 146e319a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/DefaultTimeZoneRegistryFactory.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -DefaultTimeZoneRegistryFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class DefaultTimeZoneRegistryFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.TimeZoneRegistryFactory
    -      extended by net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory
    -
    -
    -
    -
    public class DefaultTimeZoneRegistryFactory
    extends TimeZoneRegistryFactory
    - - -

    -$Id$ - - Created on 18/09/2005 - - Default factory implementation for timezone registries. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.TimeZoneRegistryFactory
    KEY_FACTORY_CLASS
    -  - - - - - - - - - - -
    -Constructor Summary
    DefaultTimeZoneRegistryFactory() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - TimeZoneRegistrycreateRegistry() - -
    -          Returns a new instance of the configured TimeZoneRegistry.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.TimeZoneRegistryFactory
    getInstance
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DefaultTimeZoneRegistryFactory

    -
    -public DefaultTimeZoneRegistryFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -createRegistry

    -
    -public TimeZoneRegistry createRegistry()
    -
    -
    Returns a new instance of the configured TimeZoneRegistry. -

    -

    -
    Specified by:
    createRegistry in class TimeZoneRegistryFactory
    -
    -
    - -
    Returns:
    a timezone registry instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Dur.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Dur.html deleted file mode 100644 index f1050acb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Dur.html +++ /dev/null @@ -1,675 +0,0 @@ - - - - - - - -Dur (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Dur

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Dur
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Comparable
    -
    -
    -
    -
    public class Dur
    extends Object
    implements Comparable, Serializable
    - - -

    -$Id$ - - Created on 20/06/2005 - - Represents a duration of time in iCalendar. Note that according to RFC2445 durations represented in weeks are - mutually exclusive of other duration fields. - -

    -  4.3.6   Duration
    -  
    -     Value Name: DURATION
    -  
    -     Purpose: This value type is used to identify properties that contain
    -     a duration of time.
    -  
    -     Formal Definition: The value type is defined by the following
    -     notation:
    -  
    -       dur-value  = (["+"] / "-") "P" (dur-date / dur-time / dur-week)
    -  
    -       dur-date   = dur-day [dur-time]
    -       dur-time   = "T" (dur-hour / dur-minute / dur-second)
    -       dur-week   = 1*DIGIT "W"
    -       dur-hour   = 1*DIGIT "H" [dur-minute]
    -       dur-minute = 1*DIGIT "M" [dur-second]
    -       dur-second = 1*DIGIT "S"
    -       dur-day    = 1*DIGIT "D"
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Dur(Date date1, - Date date2) - -
    -          Constructs a new duration representing the time between the two specified dates.
    Dur(int weeks) - -
    -          Constructs a new duration from the specified weeks.
    Dur(int days, - int hours, - int minutes, - int seconds) - -
    -          Constructs a new duration from the specified arguments.
    Dur(String value) - -
    -          Constructs a new duration instance from a string representation.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Duradd(Dur duration) - -
    -          Add two durations.
    - intcompareTo(Dur arg0) - -
    -          Compares this duration with another, acording to their length.
    - intcompareTo(Object arg0) - -
    -          
    - booleanequals(Object obj) - -
    -          
    - intgetDays() - -
    -           
    - intgetHours() - -
    -           
    - intgetMinutes() - -
    -           
    - intgetSeconds() - -
    -           
    - DategetTime(Date start) - -
    -          Returns a date representing the end of this duration from the specified start date.
    - intgetWeeks() - -
    -           
    - inthashCode() - -
    -          
    - booleanisNegative() - -
    -           
    - Durnegate() - -
    -          Provides a negation of this instance.
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Dur

    -
    -public Dur(String value)
    -
    -
    Constructs a new duration instance from a string representation. -

    -

    -
    Parameters:
    value - a string representation of a duration
    -
    -
    - -

    -Dur

    -
    -public Dur(int weeks)
    -
    -
    Constructs a new duration from the specified weeks. -

    -

    -
    Parameters:
    weeks - a duration in weeks.
    -
    -
    - -

    -Dur

    -
    -public Dur(int days,
    -           int hours,
    -           int minutes,
    -           int seconds)
    -
    -
    Constructs a new duration from the specified arguments. -

    -

    -
    Parameters:
    days - duration in days
    hours - duration in hours
    minutes - duration in minutes
    seconds - duration in seconds
    -
    -
    - -

    -Dur

    -
    -public Dur(Date date1,
    -           Date date2)
    -
    -
    Constructs a new duration representing the time between the two specified dates. The end date may precede the - start date in order to represent a negative duration. -

    -

    -
    Parameters:
    date1 - the first date of the duration
    date2 - the second date of the duration
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getTime

    -
    -public final Date getTime(Date start)
    -
    -
    Returns a date representing the end of this duration from the specified start date. -

    -

    -
    -
    -
    -
    Parameters:
    start - the date to start the duration -
    Returns:
    the end of the duration as a date
    -
    -
    -
    - -

    -negate

    -
    -public final Dur negate()
    -
    -
    Provides a negation of this instance. -

    -

    -
    -
    -
    - -
    Returns:
    a Dur instance that represents a negation of this instance
    -
    -
    -
    - -

    -add

    -
    -public final Dur add(Dur duration)
    -
    -
    Add two durations. Durations may only be added if they are both positive - or both negative durations. -

    -

    -
    -
    -
    -
    Parameters:
    duration - the duration to add to this duration -
    Returns:
    a new instance representing the sum of the two durations.
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -compareTo

    -
    -public final int compareTo(Object arg0)
    -
    -
    -

    -

    -
    Specified by:
    compareTo in interface Comparable
    -
    -
    -
    -
    -
    -
    - -

    -compareTo

    -
    -public final int compareTo(Dur arg0)
    -
    -
    Compares this duration with another, acording to their length. -

    -

    -
    -
    -
    -
    Parameters:
    arg0 - another duration instance -
    Returns:
    a postive value if this duration is longer, zero if the duration - lengths are equal, otherwise a negative value
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object obj)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -getDays

    -
    -public final int getDays()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the days.
    -
    -
    -
    - -

    -getHours

    -
    -public final int getHours()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the hours.
    -
    -
    -
    - -

    -getMinutes

    -
    -public final int getMinutes()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the minutes.
    -
    -
    -
    - -

    -isNegative

    -
    -public final boolean isNegative()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the negative.
    -
    -
    -
    - -

    -getSeconds

    -
    -public final int getSeconds()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the seconds.
    -
    -
    -
    - -

    -getWeeks

    -
    -public final int getWeeks()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the weeks.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Escapable.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Escapable.html deleted file mode 100644 index d62e6842..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Escapable.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - -Escapable (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Interface Escapable

    -
    -
    All Known Implementing Classes:
    Comment, Contact, Country, Description, ExtendedAddress, Locality, Location, Name, Postalcode, ProdId, Region, RelatedTo, StreetAddress, Summary, Tel, TzId, TzId, TzName, Uid, XProperty
    -
    -
    -
    -
    public interface Escapable
    - - -

    -$Id$ - - Created on 26/06/2005 - - Implementors by definition require their string value to be converted to/from an escaped form when converting to/from - and iCalendar representation. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - -

    - -


    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/IndexedComponentList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/IndexedComponentList.html deleted file mode 100644 index 83be54d2..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/IndexedComponentList.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -IndexedComponentList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class IndexedComponentList

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.IndexedComponentList
    -
    -
    -
    -
    public class IndexedComponentList
    extends Object
    - - -

    -$Id$ - - Created on 4/02/2006 - - Provides indexing of components on a specific property. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    IndexedComponentList(ComponentList list, - String propertyName) - -
    -          Creates a new instance indexed on properties with the specified name.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - ComponentgetComponent(String propertyValue) - -
    -          Returns the first component containing a property with the specified - value.
    - ComponentListgetComponents(String propertyValue) - -
    -          Returns a list of components containing a property with the - specified value.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -IndexedComponentList

    -
    -public IndexedComponentList(ComponentList list,
    -                            String propertyName)
    -
    -
    Creates a new instance indexed on properties with the specified name. -

    -

    -
    Parameters:
    list - a list of components
    propertyName - the name of the properties to index on
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getComponents

    -
    -public ComponentList getComponents(String propertyValue)
    -
    -
    Returns a list of components containing a property with the - specified value. -

    -

    -
    Parameters:
    propertyValue - the value of the property contained in the - returned components -
    Returns:
    a component list
    -
    -
    -
    - -

    -getComponent

    -
    -public Component getComponent(String propertyValue)
    -
    -
    Returns the first component containing a property with the specified - value. -

    -

    -
    Parameters:
    propertyValue - the value of the property identified in the returned - component -
    Returns:
    a component or null if no component is found containing a property - with the specified value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/IndexedPropertyList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/IndexedPropertyList.html deleted file mode 100644 index 11523e47..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/IndexedPropertyList.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -IndexedPropertyList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class IndexedPropertyList

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.IndexedPropertyList
    -
    -
    -
    -
    public class IndexedPropertyList
    extends Object
    - - -

    -$Id$ - - Created on 4/02/2006 - - Provides indexing of properties on a specific parameter. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    IndexedPropertyList(PropertyList list, - String parameterName) - -
    -          Creates a new instance indexed on the parameters with the specified name.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - PropertyListgetProperties(String paramValue) - -
    -          Returns a list of properties containing a parameter with the - specified value.
    - PropertygetProperty(String paramValue) - -
    -          Returns the first property containing a parameter with the specified - value.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -IndexedPropertyList

    -
    -public IndexedPropertyList(PropertyList list,
    -                           String parameterName)
    -
    -
    Creates a new instance indexed on the parameters with the specified name. -

    -

    -
    Parameters:
    list - a list of properties
    parameterName - the name of parameters on which to index
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getProperties

    -
    -public PropertyList getProperties(String paramValue)
    -
    -
    Returns a list of properties containing a parameter with the - specified value. -

    -

    -
    Parameters:
    paramValue - the value of the parameter contained in the - returned properties -
    Returns:
    a property list
    -
    -
    -
    - -

    -getProperty

    -
    -public Property getProperty(String paramValue)
    -
    -
    Returns the first property containing a parameter with the specified - value. -

    -

    -
    Parameters:
    paramValue - the value of the parameter identified in the returned - property -
    Returns:
    a property or null if no property is found containing a parameter - with the specified value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Iso8601.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Iso8601.html deleted file mode 100644 index d9b29c19..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Iso8601.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - - -Iso8601 (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Iso8601

    -
    -java.lang.Object
    -  extended by java.util.Date
    -      extended by net.fortuna.ical4j.model.Iso8601
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable, Comparable<Date>
    -
    -
    -
    Direct Known Subclasses:
    Date, Time
    -
    -
    -
    -
    public abstract class Iso8601
    extends Date
    - - -

    -$Id$ - - Created on 30/06/2005 - - Base class for date and time representations as defined - by the ISO 8601 standard. Sub-classes must ensure that either the correct - precision is used in constructor arguments, or that Object.equals() - is overridden to ensure equality checking is consistent with the type. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Iso8601(Date time, - String pattern, - int precision, - TimeZone tz) - -
    -           
    Iso8601(long time, - String pattern, - int precision, - TimeZone tz) - -
    -           
    Iso8601(String pattern, - int precision, - TimeZone tz) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  DateFormatgetFormat() - -
    -           
    - voidsetTime(long time) - -
    -          
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.util.Date
    after, before, clone, compareTo, equals, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Iso8601

    -
    -public Iso8601(long time,
    -               String pattern,
    -               int precision,
    -               TimeZone tz)
    -
    -
    -
    Parameters:
    time - a time value in milliseconds
    pattern - the formatting pattern to apply
    precision - the precision to apply
    tz - the timezone for the instance
    See Also:
    Dates.PRECISION_DAY, -Dates.PRECISION_SECOND
    -
    -
    - -

    -Iso8601

    -
    -public Iso8601(String pattern,
    -               int precision,
    -               TimeZone tz)
    -
    -
    -
    Parameters:
    pattern - the formatting pattern to apply
    precision - the precision to apply
    tz - the timezone for the instance
    See Also:
    Dates.PRECISION_DAY, -Dates.PRECISION_SECOND
    -
    -
    - -

    -Iso8601

    -
    -public Iso8601(Date time,
    -               String pattern,
    -               int precision,
    -               TimeZone tz)
    -
    -
    -
    Parameters:
    time - a time value as a date
    pattern - the formatting pattern to apply
    precision - the precision to apply
    tz - the timezone for the instance
    See Also:
    Dates.PRECISION_DAY, -Dates.PRECISION_SECOND
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Date
    -
    -
    -
    -
    -
    -
    - -

    -getFormat

    -
    -protected final DateFormat getFormat()
    -
    -
    - -
    Returns:
    Returns the format.
    -
    -
    -
    - -

    -setTime

    -
    -public void setTime(long time)
    -
    -
    -

    -

    -
    Overrides:
    setTime in class Date
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/LocationTypeList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/LocationTypeList.html deleted file mode 100644 index 249e3d5a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/LocationTypeList.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - -LocationTypeList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class LocationTypeList

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.LocationTypeList
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class LocationTypeList
    extends Object
    implements Serializable
    - - -

    -$Id LocationTypeList.java $ [23-Apr-2004] - - Defines a list of iCalendar location types. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    LocationTypeList() - -
    -          Default constructor.
    LocationTypeList(String aValue) - -
    -          Parses the specified string representation to create a list of categories.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(String locationType) - -
    -          Add a location type to the list.
    - booleanisEmpty() - -
    -           
    - Iteratoriterator() - -
    -           
    - booleanremove(String locationType) - -
    -          Remove a locationType from the list.
    - intsize() - -
    -           
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -LocationTypeList

    -
    -public LocationTypeList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -LocationTypeList

    -
    -public LocationTypeList(String aValue)
    -
    -
    Parses the specified string representation to create a list of categories. -

    -

    -
    Parameters:
    aValue - a string representation of a list of categories
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(String locationType)
    -
    -
    Add a location type to the list. -

    -

    -
    -
    -
    -
    Parameters:
    locationType - the location type to add -
    Returns:
    true if the object is added successfully
    See Also:
    List.add(java.lang.Object)
    -
    -
    -
    - -

    -isEmpty

    -
    -public final boolean isEmpty()
    -
    -
    -
    -
    -
    - -
    Returns:
    boolean indicates if the list is empty
    See Also:
    List.isEmpty()
    -
    -
    -
    - -

    -iterator

    -
    -public final Iterator iterator()
    -
    -
    -
    -
    -
    - -
    Returns:
    an iterator
    See Also:
    List.iterator()
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(String locationType)
    -
    -
    Remove a locationType from the list. -

    -

    -
    -
    -
    -
    Parameters:
    locationType - the location type to remove -
    Returns:
    true if the list contained the specified category
    See Also:
    List.remove(java.lang.Object)
    -
    -
    -
    - -

    -size

    -
    -public final int size()
    -
    -
    -
    -
    -
    - -
    Returns:
    the number of categories in the list
    See Also:
    List.size()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/NumberList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/NumberList.html deleted file mode 100644 index 0f3740e8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/NumberList.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - -NumberList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class NumberList

    -
    -java.lang.Object
    -  extended by java.util.AbstractCollection<E>
    -      extended by java.util.AbstractList<E>
    -          extended by java.util.ArrayList
    -              extended by net.fortuna.ical4j.model.NumberList
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable, Iterable, Collection, List, RandomAccess
    -
    -
    -
    -
    public class NumberList
    extends ArrayList
    implements Serializable
    - - -

    -$Id$ [29-May-2004] - - Defines a list of numbers. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.util.AbstractList
    modCount
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    NumberList() - -
    -          Default constructor.
    NumberList(int minValue, - int maxValue, - boolean allowsNegativeValues) - -
    -          Constructor with limits.
    NumberList(String aString) - -
    -          Constructor.
    NumberList(String aString, - int minValue, - int maxValue, - boolean allowsNegativeValues) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(Integer aNumber) - -
    -           
    - booleanadd(Object arg0) - -
    -          Overrides superclass to throw an IllegalArgumentException - where argument is not a java.lang.Integer.
    - booleanremove(Integer aNumber) - -
    -           
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.util.ArrayList
    add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeRange, retainAll, set, size, subList, toArray, toArray, trimToSize
    - - - - - - - -
    Methods inherited from class java.util.AbstractList
    equals, hashCode
    - - - - - - - -
    Methods inherited from class java.util.AbstractCollection
    containsAll
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    - - - - - - - -
    Methods inherited from interface java.util.List
    containsAll, equals, hashCode
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -NumberList

    -
    -public NumberList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -NumberList

    -
    -public NumberList(int minValue,
    -                  int maxValue,
    -                  boolean allowsNegativeValues)
    -
    -
    Constructor with limits. -

    -

    -
    Parameters:
    minValue - the minimum allowable value
    maxValue - the maximum allowable value
    allowsNegativeValues - indicates whether negative values are allowed
    -
    -
    - -

    -NumberList

    -
    -public NumberList(String aString)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    aString - a string representation of a number list
    -
    -
    - -

    -NumberList

    -
    -public NumberList(String aString,
    -                  int minValue,
    -                  int maxValue,
    -                  boolean allowsNegativeValues)
    -
    -
    -
    Parameters:
    aString - a string representation of a number list
    minValue - the minimum allowable value
    maxValue - the maximum allowable value
    allowsNegativeValues - indicates whether negative values are allowed
    -
    - - - - - - - - -
    -Method Detail
    - -

    -add

    -
    -public final boolean add(Integer aNumber)
    -
    -
    -
    -
    -
    -
    Parameters:
    aNumber - a number to add to the list -
    Returns:
    true if the number was added, otherwise false
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Object arg0)
    -
    -
    Overrides superclass to throw an IllegalArgumentException - where argument is not a java.lang.Integer. -

    -

    -
    Specified by:
    add in interface Collection
    Specified by:
    add in interface List
    Overrides:
    add in class ArrayList
    -
    -
    -
    Parameters:
    arg0 - an object to add -
    Returns:
    true if the object was added, otherwise false
    See Also:
    List#add(E)
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(Integer aNumber)
    -
    -
    -
    -
    -
    -
    Parameters:
    aNumber - a number to remove from the list -
    Returns:
    true if the number was removed, otherwise false
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class AbstractCollection
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Parameter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Parameter.html deleted file mode 100644 index f1dfdff3..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Parameter.html +++ /dev/null @@ -1,949 +0,0 @@ - - - - - - - -Parameter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Parameter

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    Abbrev, AltRep, Cn, CuType, DelegatedFrom, DelegatedTo, Dir, Encoding, FbType, FmtType, Language, Member, PartStat, Range, Related, RelType, Role, Rsvp, ScheduleAgent, ScheduleStatus, SentBy, Type, TzId, Value, Vvenue, XParameter
    -
    -
    -
    -
    public abstract class Parameter
    extends Content
    - - -

    -Defines an iCalendar parameter. Subclasses of this class provide additional validation and typed values for specific - iCalendar parameters. - - Note that subclasses must provide a reference to the factory used to create the - parameter to support parameter cloning (copy). If no factory is specified an - UnsupportedOperationException will be thrown by the copy() method. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna - - $Id$ [Apr 5, 2004]
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringABBREV - -
    -          Region abbreviation.
    -static StringALTREP - -
    -          Alternate text representation.
    -static StringCN - -
    -          Common name.
    -static StringCUTYPE - -
    -          Calendar user type.
    -static StringDELEGATED_FROM - -
    -          Delegator.
    -static StringDELEGATED_TO - -
    -          Delegatee.
    -static StringDIR - -
    -          Directory entry.
    -static StringENCODING - -
    -          Inline encoding.
    -static StringEXPERIMENTAL_PREFIX - -
    -          Prefix to all experimental parameters.
    -static StringFBTYPE - -
    -          Free/busy time type.
    -static StringFMTTYPE - -
    -          Format type.
    -static StringLANGUAGE - -
    -          Language for text.
    -static StringMEMBER - -
    -          Group or list membership.
    -static StringPARTSTAT - -
    -          Participation status.
    -static StringRANGE - -
    -          Recurrence identifier range.
    -static StringRELATED - -
    -          Alarm trigger relationship.
    -static StringRELTYPE - -
    -          Relationship type.
    -static StringROLE - -
    -          Participation role.
    -static StringRSVP - -
    -          RSVP expectation.
    -static StringSCHEDULE_AGENT - -
    -          Schedule agent.
    -static StringSCHEDULE_STATUS - -
    -          Schedule status.
    -static StringSENT_BY - -
    -          Sent by.
    -static StringTYPE - -
    -          Type.
    -static StringTZID - -
    -          Reference to time zone object.
    -static StringVALUE - -
    -          Property value data type.
    -static StringVVENUE - -
    -          Reference to vvenue component.
    -  - - - - - - - - - - -
    -Constructor Summary
    Parameter(String aName, - ParameterFactory factory) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Parametercopy() - -
    -          Deep copy of parameter.
    - booleanequals(Object arg0) - -
    -          
    - StringgetName() - -
    -           
    - inthashCode() - -
    -          
    -protected  booleanisQuotable() - -
    -          Indicates whether the current parameter value should be quoted.
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Content
    getValue
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -ABBREV

    -
    -public static final String ABBREV
    -
    -
    Region abbreviation. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ALTREP

    -
    -public static final String ALTREP
    -
    -
    Alternate text representation. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CN

    -
    -public static final String CN
    -
    -
    Common name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CUTYPE

    -
    -public static final String CUTYPE
    -
    -
    Calendar user type. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DELEGATED_FROM

    -
    -public static final String DELEGATED_FROM
    -
    -
    Delegator. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DELEGATED_TO

    -
    -public static final String DELEGATED_TO
    -
    -
    Delegatee. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DIR

    -
    -public static final String DIR
    -
    -
    Directory entry. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ENCODING

    -
    -public static final String ENCODING
    -
    -
    Inline encoding. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -FMTTYPE

    -
    -public static final String FMTTYPE
    -
    -
    Format type. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -FBTYPE

    -
    -public static final String FBTYPE
    -
    -
    Free/busy time type. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -LANGUAGE

    -
    -public static final String LANGUAGE
    -
    -
    Language for text. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MEMBER

    -
    -public static final String MEMBER
    -
    -
    Group or list membership. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -PARTSTAT

    -
    -public static final String PARTSTAT
    -
    -
    Participation status. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RANGE

    -
    -public static final String RANGE
    -
    -
    Recurrence identifier range. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RELATED

    -
    -public static final String RELATED
    -
    -
    Alarm trigger relationship. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RELTYPE

    -
    -public static final String RELTYPE
    -
    -
    Relationship type. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ROLE

    -
    -public static final String ROLE
    -
    -
    Participation role. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RSVP

    -
    -public static final String RSVP
    -
    -
    RSVP expectation. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -SCHEDULE_AGENT

    -
    -public static final String SCHEDULE_AGENT
    -
    -
    Schedule agent. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -SCHEDULE_STATUS

    -
    -public static final String SCHEDULE_STATUS
    -
    -
    Schedule status. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -SENT_BY

    -
    -public static final String SENT_BY
    -
    -
    Sent by. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TYPE

    -
    -public static final String TYPE
    -
    -
    Type. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TZID

    -
    -public static final String TZID
    -
    -
    Reference to time zone object. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VALUE

    -
    -public static final String VALUE
    -
    -
    Property value data type. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VVENUE

    -
    -public static final String VVENUE
    -
    -
    Reference to vvenue component. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -EXPERIMENTAL_PREFIX

    -
    -public static final String EXPERIMENTAL_PREFIX
    -
    -
    Prefix to all experimental parameters. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Parameter

    -
    -public Parameter(String aName,
    -                 ParameterFactory factory)
    -
    -
    -
    Parameters:
    aName - the parameter identifier
    factory - the factory used to create the parameter
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -isQuotable

    -
    -protected boolean isQuotable()
    -
    -
    Indicates whether the current parameter value should be quoted. -

    -

    - -
    Returns:
    true if the value should be quoted, otherwise false
    -
    -
    -
    - -

    -getName

    -
    -public final String getName()
    -
    -
    -
    Specified by:
    getName in class Content
    -
    -
    - -
    Returns:
    Returns the name.
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public final int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -copy

    -
    -public Parameter copy()
    -               throws URISyntaxException
    -
    -
    Deep copy of parameter. -

    -

    - -
    Returns:
    new parameter -
    Throws: -
    URISyntaxException - where an invalid URI is encountered
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactory.html deleted file mode 100644 index 1ba8336a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactory.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - -ParameterFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Interface ParameterFactory

    -
    -
    All Superinterfaces:
    Serializable
    -
    -
    -
    All Known Implementing Classes:
    ParameterFactoryImpl, ParameterFactoryRegistry
    -
    -
    -
    -
    public interface ParameterFactory
    extends Serializable
    - - -

    -Implementors provide parameter creation services. - - Note that implementations must be Serializable to support referencing - from Parameter instances. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna - - $Id$ [05-Apr-2004] - - Created on 14/06/2005
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    - ParametercreateParameter(String name, - String value) - -
    -          Returns a parameter instance of the appropriate type with the specified value.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -createParameter

    -
    -Parameter createParameter(String name,
    -                          String value)
    -                          throws URISyntaxException
    -
    -
    Returns a parameter instance of the appropriate type with the specified value. -

    -

    -
    -
    -
    -
    Parameters:
    name - a parameter names that identifies the parameter type
    value - a value to assign to the returned parameter -
    Returns:
    a parameter instance, or null if this factory is unable to create an - appropriate parameter -
    Throws: -
    URISyntaxException - where an invalid URI is encountered
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryImpl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryImpl.html deleted file mode 100644 index 7b7dbaf9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryImpl.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - -ParameterFactoryImpl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class ParameterFactoryImpl

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.AbstractContentFactory
    -      extended by net.fortuna.ical4j.model.ParameterFactoryImpl
    -
    -
    -
    All Implemented Interfaces:
    Serializable, ParameterFactory
    -
    -
    -
    Direct Known Subclasses:
    ParameterFactoryRegistry
    -
    -
    -
    -
    public class ParameterFactoryImpl
    extends AbstractContentFactory
    implements ParameterFactory
    - - -

    -A factory for creating iCalendar parameters. - - $Id $ - - [05-Apr-2004] -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - -
    -Constructor Summary
    -protected ParameterFactoryImpl() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - ParametercreateParameter(String name, - String value) - -
    -          Creates a parameter.
    -static ParameterFactoryImplgetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.AbstractContentFactory
    allowIllegalNames, getFactory, registerDefaultFactory, registerExtendedFactory
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ParameterFactoryImpl

    -
    -protected ParameterFactoryImpl()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getInstance

    -
    -public static ParameterFactoryImpl getInstance()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the instance.
    -
    -
    -
    - -

    -createParameter

    -
    -public Parameter createParameter(String name,
    -                                 String value)
    -                          throws URISyntaxException
    -
    -
    Creates a parameter. -

    -

    -
    Specified by:
    createParameter in interface ParameterFactory
    -
    -
    -
    Parameters:
    name - name of the parameter
    value - a parameter value -
    Returns:
    a component -
    Throws: -
    URISyntaxException - thrown when the specified string is not a valid representation of a URI for selected - parameters
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryRegistry.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryRegistry.html deleted file mode 100644 index f1b2b113..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryRegistry.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - -ParameterFactoryRegistry (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class ParameterFactoryRegistry

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.AbstractContentFactory
    -      extended by net.fortuna.ical4j.model.ParameterFactoryImpl
    -          extended by net.fortuna.ical4j.model.ParameterFactoryRegistry
    -
    -
    -
    All Implemented Interfaces:
    Serializable, ParameterFactory
    -
    -
    -
    -
    public final class ParameterFactoryRegistry
    extends ParameterFactoryImpl
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ParameterFactoryRegistry() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - voidregister(String name, - ParameterFactory factory) - -
    -           
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.ParameterFactoryImpl
    createParameter, getInstance
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.AbstractContentFactory
    allowIllegalNames, getFactory, registerDefaultFactory, registerExtendedFactory
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ParameterFactoryRegistry

    -
    -public ParameterFactoryRegistry()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public void register(String name,
    -                     ParameterFactory factory)
    -
    -
    -
    Parameters:
    name - a non-standard parameter name
    factory - a factory for the non-standard parameter
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterList.html deleted file mode 100644 index 11a0297d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ParameterList.html +++ /dev/null @@ -1,583 +0,0 @@ - - - - - - - -ParameterList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class ParameterList

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.ParameterList
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class ParameterList
    extends Object
    implements Serializable
    - - -

    -$Id$ [Apr 5, 2004] - - Defines a list of iCalendar parameters. A parameter list may be specified as unmodifiable at instantiation - useful - for constant properties that you don't want modified. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ParameterList() - -
    -          Default constructor.
    ParameterList(boolean unmodifiable) - -
    -          Constructor.
    ParameterList(ParameterList list, - boolean unmodifiable) - -
    -          Creates a deep copy of the specified parameter list.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(Parameter parameter) - -
    -          Add a parameter to the list.
    - booleanequals(Object arg0) - -
    -          
    - ParametergetParameter(String aName) - -
    -          Returns the first parameter with the specified name.
    - ParameterListgetParameters(String name) - -
    -          Returns a list of parameters with the specified name.
    - inthashCode() - -
    -          
    - booleanisEmpty() - -
    -           
    - Iteratoriterator() - -
    -           
    - booleanremove(Parameter parameter) - -
    -          Remove a parameter from the list.
    - voidremoveAll(String paramName) - -
    -          Remove all parameters with the specified name.
    - booleanreplace(Parameter parameter) - -
    -          Replace any parameters of the same type with the one specified.
    - intsize() - -
    -           
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ParameterList

    -
    -public ParameterList()
    -
    -
    Default constructor. Creates a modifiable parameter list. -

    -

    -
    - -

    -ParameterList

    -
    -public ParameterList(boolean unmodifiable)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    unmodifiable - indicates whether the list should be mutable
    -
    -
    - -

    -ParameterList

    -
    -public ParameterList(ParameterList list,
    -                     boolean unmodifiable)
    -              throws URISyntaxException
    -
    -
    Creates a deep copy of the specified parameter list. That is, copies of all parameters in the specified list are - added to this list. -

    -

    -
    Parameters:
    list - a parameter list to copy parameters from
    unmodifiable - indicates whether the list should be mutable -
    Throws: -
    URISyntaxException - where a parameter in the list specifies an invalid URI value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -getParameter

    -
    -public final Parameter getParameter(String aName)
    -
    -
    Returns the first parameter with the specified name. -

    -

    -
    -
    -
    -
    Parameters:
    aName - name of the parameter -
    Returns:
    the first matching parameter or null if no matching parameters
    -
    -
    -
    - -

    -getParameters

    -
    -public final ParameterList getParameters(String name)
    -
    -
    Returns a list of parameters with the specified name. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of parameters to return -
    Returns:
    a parameter list
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Parameter parameter)
    -
    -
    Add a parameter to the list. Note that this method will not remove existing parameters of the same type. To - achieve this use { -

    -

    -
    -
    -
    -
    Parameters:
    parameter - the parameter to add -
    Returns:
    true
    See Also:
    List.add(java.lang.Object)
    -
    -
    -
    - -

    -replace

    -
    -public final boolean replace(Parameter parameter)
    -
    -
    Replace any parameters of the same type with the one specified. -

    -

    -
    -
    -
    -
    Parameters:
    parameter - parameter to add to this list in place of all others with the same name -
    Returns:
    true if successfully added to this list
    -
    -
    -
    - -

    -isEmpty

    -
    -public final boolean isEmpty()
    -
    -
    -
    -
    -
    - -
    Returns:
    boolean indicates if the list is empty
    See Also:
    List.isEmpty()
    -
    -
    -
    - -

    -iterator

    -
    -public final Iterator iterator()
    -
    -
    -
    -
    -
    - -
    Returns:
    an iterator
    See Also:
    List.iterator()
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(Parameter parameter)
    -
    -
    Remove a parameter from the list. -

    -

    -
    -
    -
    -
    Parameters:
    parameter - the parameter to remove -
    Returns:
    true if the list contained the specified parameter
    See Also:
    List.remove(java.lang.Object)
    -
    -
    -
    - -

    -removeAll

    -
    -public final void removeAll(String paramName)
    -
    -
    Remove all parameters with the specified name. -

    -

    -
    -
    -
    -
    Parameters:
    paramName - the name of parameters to remove
    -
    -
    -
    - -

    -size

    -
    -public final int size()
    -
    -
    -
    -
    -
    - -
    Returns:
    the number of parameters in the list
    See Also:
    List.size()
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public final int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Period.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Period.html deleted file mode 100644 index cb929474..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Period.html +++ /dev/null @@ -1,686 +0,0 @@ - - - - - - - -Period (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Period

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.DateRange
    -      extended by net.fortuna.ical4j.model.Period
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Comparable
    -
    -
    -
    -
    public class Period
    extends DateRange
    implements Comparable
    - - -

    -$Id$ [Apr 14, 2004] - - Defines a period of time. A period may be specified as either a start date - and end date, or a start date and duration. NOTE: End dates and durations are - implicitly derived when not explicitly specified. This means that you cannot - rely on the returned values from the getters to deduce whether a period has - an explicit end date or duration. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.DateRange
    INCLUSIVE_END, INCLUSIVE_START
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Period(DateTime start, - DateTime end) - -
    -          Constructs a new period with the specied start and end date.
    Period(DateTime start, - Dur duration) - -
    -          Constructs a new period with the specified start date and duration.
    Period(String aValue) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Periodadd(Period period) - -
    -          Creates a period that encompasses both this period and another one.
    - intcompareTo(Object arg0) - -
    -          
    - intcompareTo(Period arg0) - -
    -          Compares the specified period with this period.
    - booleanequals(Object o) - -
    -          
    - DurgetDuration() - -
    -          Returns the duration of this period.
    - DateTimegetEnd() - -
    -          Returns the end date of this period.
    - DateTimegetStart() - -
    -           
    - inthashCode() - -
    -          
    - booleanincludes(Date date, - boolean inclusive) - -
    -          Deprecated. use DateRange.includes(Date, int) instead.
    - booleanisEmpty() - -
    -          An empty period is one that consumes no time.
    - voidsetTimeZone(TimeZone timezone) - -
    -          Updates the start and (possible) end times of this period to reflect - the specified timezone status.
    - voidsetUtc(boolean utc) - -
    -          Updates the start and (possible) end times of this period to reflect - the specified UTC timezone status.
    - PeriodListsubtract(Period period) - -
    -          Creates a set of periods resulting from the subtraction of the specified - period from this one.
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.DateRange
    adjacent, after, before, contains, getRangeEnd, getRangeStart, includes, includes, intersects
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Period

    -
    -public Period(String aValue)
    -       throws ParseException
    -
    -
    Constructor. -

    -

    -
    Parameters:
    aValue - a string representation of a period -
    Throws: -
    ParseException - where the specified string is not a valid representation
    -
    -
    - -

    -Period

    -
    -public Period(DateTime start,
    -              DateTime end)
    -
    -
    Constructs a new period with the specied start and end date. -

    -

    -
    Parameters:
    start - the start date of the period
    end - the end date of the period
    -
    -
    - -

    -Period

    -
    -public Period(DateTime start,
    -              Dur duration)
    -
    -
    Constructs a new period with the specified start date and duration. -

    -

    -
    Parameters:
    start - the start date of the period
    duration - the duration of the period
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDuration

    -
    -public final Dur getDuration()
    -
    -
    Returns the duration of this period. If an explicit duration is not - specified, the duration is derived from the end date. -

    -

    -
    -
    -
    - -
    Returns:
    the duration of this period in milliseconds.
    -
    -
    -
    - -

    -getEnd

    -
    -public final DateTime getEnd()
    -
    -
    Returns the end date of this period. If an explicit end date is not - specified, the end date is derived from the duration. -

    -

    -
    -
    -
    - -
    Returns:
    the end date of this period.
    -
    -
    -
    - -

    -getStart

    -
    -public final DateTime getStart()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the start.
    -
    -
    -
    - -

    -includes

    -
    -public final boolean includes(Date date,
    -                              boolean inclusive)
    -
    -
    Deprecated. use DateRange.includes(Date, int) instead. -

    -

    -
    -
    -
    -
    Parameters:
    date - a date to test for inclusion
    inclusive - indicates if the start and end of the period are included in the test -
    Returns:
    true if the specified date occurs within the current period
    -
    -
    -
    - -

    -add

    -
    -public final Period add(Period period)
    -
    -
    Creates a period that encompasses both this period and another one. If - the other period is null, return a copy of this period. NOTE: Resulting - periods are specified by explicitly setting a start date and end date - (i.e. durations are implied). -

    -

    -
    -
    -
    -
    Parameters:
    period - the period to add to this one -
    Returns:
    a period
    -
    -
    -
    - -

    -subtract

    -
    -public final PeriodList subtract(Period period)
    -
    -
    Creates a set of periods resulting from the subtraction of the specified - period from this one. If the specified period is completely contained - in this period, the resulting list will contain two periods. Otherwise - it will contain one. If the specified period does not interest this period - a list containing this period is returned. If this period is completely - contained within the specified period an empty period list is returned. -

    -

    -
    -
    -
    -
    Parameters:
    period - a period to subtract from this one -
    Returns:
    a list containing zero, one or two periods.
    -
    -
    -
    - -

    -isEmpty

    -
    -public final boolean isEmpty()
    -
    -
    An empty period is one that consumes no time. -

    -

    -
    -
    -
    - -
    Returns:
    true if this period consumes no time, otherwise false
    -
    -
    -
    - -

    -setUtc

    -
    -public void setUtc(boolean utc)
    -
    -
    Updates the start and (possible) end times of this period to reflect - the specified UTC timezone status. -

    -

    -
    -
    -
    -
    Parameters:
    utc - indicates whether the period is in UTC time
    -
    -
    -
    - -

    -setTimeZone

    -
    -public final void setTimeZone(TimeZone timezone)
    -
    -
    Updates the start and (possible) end times of this period to reflect - the specified timezone status. -

    -

    -
    -
    -
    -
    Parameters:
    timezone - a timezone for the period
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -compareTo

    -
    -public final int compareTo(Object arg0)
    -
    -
    -

    -

    -
    Specified by:
    compareTo in interface Comparable
    -
    -
    -
    -
    -
    -
    - -

    -compareTo

    -
    -public final int compareTo(Period arg0)
    -
    -
    Compares the specified period with this period. -

    -

    -
    -
    -
    -
    Parameters:
    arg0 - a period to compare with this one -
    Returns:
    a postive value if this period is greater, negative if the other is - greater, or zero if they are equal
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object o)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public final int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PeriodList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PeriodList.html deleted file mode 100644 index ebcfb467..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PeriodList.html +++ /dev/null @@ -1,947 +0,0 @@ - - - - - - - -PeriodList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class PeriodList

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.PeriodList
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Iterable, Collection, Set
    -
    -
    -
    -
    public class PeriodList
    extends Object
    implements Set, Serializable
    - - -

    -$Id$ [23-Apr-2004] - - Defines a list of iCalendar periods. NOTE: By implementing the - java.util.SortedSet interface period lists will always be - sorted according to natural ordering. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    PeriodList() - -
    -          Default constructor.
    PeriodList(boolean utc) - -
    -           
    PeriodList(boolean utc, - boolean unmodifiable) - -
    -           
    PeriodList(String aValue) - -
    -          Parses the specified string representation to create a list of periods.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(Object period) - -
    -          Overrides superclass to throw an IllegalArgumentException - where argument is not a net.fortuna.ical4j.model.Period.
    - booleanadd(Period period) - -
    -          Add a period to the list.
    - PeriodListadd(PeriodList periods) - -
    -          A convenience method that combines all the periods in the specified list to - this list.
    - booleanaddAll(Collection arg0) - -
    -          
    - voidclear() - -
    -          
    - booleancontains(Object o) - -
    -          
    - booleancontainsAll(Collection arg0) - -
    -          
    - booleanequals(Object obj) - -
    -           
    - TimeZonegetTimeZone() - -
    -           
    - inthashCode() - -
    -           
    - booleanisEmpty() - -
    -          
    - booleanisUnmodifiable() - -
    -           
    - booleanisUtc() - -
    -          Indicates whether this list is in local or UTC format.
    - Iteratoriterator() - -
    -          
    - PeriodListnormalise() - -
    -          Returns a normalised version of this period list.
    - booleanremove(Object o) - -
    -          
    - booleanremove(Period period) - -
    -          Remove a period from the list.
    - booleanremoveAll(Collection arg0) - -
    -          
    - booleanretainAll(Collection arg0) - -
    -          
    - voidsetTimeZone(TimeZone timeZone) - -
    -          Applies the specified timezone to all dates in the list.
    - voidsetUtc(boolean utc) - -
    -          Sets whether this list is in UTC or local time format.
    - intsize() - -
    -          
    - PeriodListsubtract(PeriodList subtractions) - -
    -          Subtracts the intersection of this list with the specified list of - periods from this list and returns the results as a new period list.
    - Object[]toArray() - -
    -          
    - Object[]toArray(Object[] arg0) - -
    -          
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PeriodList

    -
    -public PeriodList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -PeriodList

    -
    -public PeriodList(boolean utc)
    -
    -
    -
    Parameters:
    utc - indicates whether the period list is in UTC time
    -
    -
    - -

    -PeriodList

    -
    -public PeriodList(boolean utc,
    -                  boolean unmodifiable)
    -
    -
    -
    Parameters:
    utc - indicates whether the period list is in UTC time
    -
    -
    - -

    -PeriodList

    -
    -public PeriodList(String aValue)
    -           throws ParseException
    -
    -
    Parses the specified string representation to create a list of periods. -

    -

    -
    Parameters:
    aValue - a string representation of a list of periods -
    Throws: -
    ParseException - thrown when an invalid string representation of a period list - is specified
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Period period)
    -
    -
    Add a period to the list. -

    -

    -
    -
    -
    -
    Parameters:
    period - the period to add -
    Returns:
    true
    See Also:
    List.add(java.lang.Object)
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Object period)
    -
    -
    Overrides superclass to throw an IllegalArgumentException - where argument is not a net.fortuna.ical4j.model.Period. -

    -

    -
    Specified by:
    add in interface Collection
    Specified by:
    add in interface Set
    -
    -
    -
    Parameters:
    period - a period to add to the list -
    Returns:
    true if the period was added, otherwise false
    See Also:
    java.util.List#add(E)
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(Period period)
    -
    -
    Remove a period from the list. -

    -

    -
    -
    -
    -
    Parameters:
    period - the period to remove -
    Returns:
    true if the list contained the specified period
    See Also:
    List.remove(java.lang.Object)
    -
    -
    -
    - -

    -normalise

    -
    -public final PeriodList normalise()
    -
    -
    Returns a normalised version of this period list. Normalisation includes - combining overlapping periods, removing periods contained by other - periods, combining adjacent periods, and removing periods that consume - no time. NOTE: If the period list is - already normalised then this period list is returned. -

    -

    -
    -
    -
    - -
    Returns:
    a period list
    -
    -
    -
    - -

    -add

    -
    -public final PeriodList add(PeriodList periods)
    -
    -
    A convenience method that combines all the periods in the specified list to - this list. The result returned is a new PeriodList instance, except where - no periods are specified in the arguments. In such cases this instance is returned. - - Normalisation is also performed automatically after all periods have been added. -

    -

    -
    -
    -
    -
    Parameters:
    periods - a list of periods to add -
    Returns:
    a period list instance
    -
    -
    -
    - -

    -subtract

    -
    -public final PeriodList subtract(PeriodList subtractions)
    -
    -
    Subtracts the intersection of this list with the specified list of - periods from this list and returns the results as a new period list. If - no intersection is identified this list is returned. -

    -

    -
    -
    -
    -
    Parameters:
    subtractions - a list of periods to subtract from this list -
    Returns:
    a period list
    -
    -
    -
    - -

    -isUnmodifiable

    -
    -public final boolean isUnmodifiable()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -

    -isUtc

    -
    -public final boolean isUtc()
    -
    -
    Indicates whether this list is in local or UTC format. -

    -

    -
    -
    -
    - -
    Returns:
    Returns true if in UTC format, otherwise false.
    -
    -
    -
    - -

    -setUtc

    -
    -public final void setUtc(boolean utc)
    -
    -
    Sets whether this list is in UTC or local time format. -

    -

    -
    -
    -
    -
    Parameters:
    utc - The utc to set.
    -
    -
    -
    - -

    -setTimeZone

    -
    -public final void setTimeZone(TimeZone timeZone)
    -
    -
    Applies the specified timezone to all dates in the list. - All dates added to this list will also have this timezone - applied. -

    -

    -
    -
    -
    -
    Parameters:
    timeZone - the timezone for the period list
    -
    -
    -
    - -

    -getTimeZone

    -
    -public final TimeZone getTimeZone()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the timeZone.
    -
    -
    -
    - -

    -addAll

    -
    -public final boolean addAll(Collection arg0)
    -
    -
    -

    -

    -
    Specified by:
    addAll in interface Collection
    Specified by:
    addAll in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -clear

    -
    -public final void clear()
    -
    -
    -

    -

    -
    Specified by:
    clear in interface Collection
    Specified by:
    clear in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -contains

    -
    -public final boolean contains(Object o)
    -
    -
    -

    -

    -
    Specified by:
    contains in interface Collection
    Specified by:
    contains in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -containsAll

    -
    -public final boolean containsAll(Collection arg0)
    -
    -
    -

    -

    -
    Specified by:
    containsAll in interface Collection
    Specified by:
    containsAll in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -isEmpty

    -
    -public final boolean isEmpty()
    -
    -
    -

    -

    -
    Specified by:
    isEmpty in interface Collection
    Specified by:
    isEmpty in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -iterator

    -
    -public final Iterator iterator()
    -
    -
    -

    -

    -
    Specified by:
    iterator in interface Iterable
    Specified by:
    iterator in interface Collection
    Specified by:
    iterator in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(Object o)
    -
    -
    -

    -

    -
    Specified by:
    remove in interface Collection
    Specified by:
    remove in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -removeAll

    -
    -public final boolean removeAll(Collection arg0)
    -
    -
    -

    -

    -
    Specified by:
    removeAll in interface Collection
    Specified by:
    removeAll in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -retainAll

    -
    -public final boolean retainAll(Collection arg0)
    -
    -
    -

    -

    -
    Specified by:
    retainAll in interface Collection
    Specified by:
    retainAll in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -size

    -
    -public final int size()
    -
    -
    -

    -

    -
    Specified by:
    size in interface Collection
    Specified by:
    size in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -toArray

    -
    -public final Object[] toArray()
    -
    -
    -

    -

    -
    Specified by:
    toArray in interface Collection
    Specified by:
    toArray in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -toArray

    -
    -public final Object[] toArray(Object[] arg0)
    -
    -
    -

    -

    -
    Specified by:
    toArray in interface Collection
    Specified by:
    toArray in interface Set
    -
    -
    -
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object obj)
    -
    -
    -
    Specified by:
    equals in interface Collection
    Specified by:
    equals in interface Set
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public final int hashCode()
    -
    -
    -
    Specified by:
    hashCode in interface Collection
    Specified by:
    hashCode in interface Set
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Property.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Property.html deleted file mode 100644 index 55203763..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Property.html +++ /dev/null @@ -1,1766 +0,0 @@ - - - - - - - -Property (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Property

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    Action, Attach, Attendee, BusyType, CalScale, Categories, Clazz, Comment, Contact, Country, DateListProperty, DateProperty, Description, Duration, ExRule, ExtendedAddress, FreeBusy, Geo, Locality, Location, LocationType, Method, Name, Organizer, PercentComplete, Postalcode, Priority, ProdId, Region, RelatedTo, Repeat, RequestStatus, Resources, RRule, Sequence, Status, StreetAddress, Summary, Tel, Transp, TzId, TzName, TzOffsetFrom, TzOffsetTo, TzUrl, Uid, Url, Version, XProperty
    -
    -
    -
    -
    public abstract class Property
    extends Content
    - - -

    -Defines an iCalendar property. Subclasses of this class provide additional validation and typed values for specific - iCalendar properties. - - Note that subclasses must provide a reference to the factory used to create the - property to support property cloning (copy). If no factory is specified an - UnsupportedOperationException will be thrown by the copy() method. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna - - $Id$ [Apr 5, 2004]
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringACTION - -
    -          Alarm action property name.
    -static StringATTACH - -
    -          Attachment property name.
    -static StringATTENDEE - -
    -          Attendee property name.
    -static StringBUSYTYPE - -
    -          Busy type property name.
    -static StringCALSCALE - -
    -          Calendar scale property name.
    -static StringCATEGORIES - -
    -          Categories property name.
    -static StringCLASS - -
    -          Classifier property name.
    -static StringCOMMENT - -
    -          Comment property name.
    -static StringCOMPLETED - -
    -          Completed date property name.
    -static StringCONTACT - -
    -          Contact property name.
    -static StringCOUNTRY - -
    -          VVENUE country property name.
    -static StringCREATED - -
    -          Creation date property name.
    -static StringDESCRIPTION - -
    -          Description property name.
    -static StringDTEND - -
    -          End date property name.
    -static StringDTSTAMP - -
    -          Date-stamp property name.
    -static StringDTSTART - -
    -          Start date property name.
    -static StringDUE - -
    -          Due date property name.
    -static StringDURATION - -
    -          Duration property name.
    -static StringEXDATE - -
    -          Exclusion date property name.
    -static StringEXPERIMENTAL_PREFIX - -
    -          Prefix for non-standard properties.
    -static StringEXRULE - -
    -          Exclusion rule property name.
    -static StringEXTENDED_ADDRESS - -
    -          VVENUE extended address property name.
    -static StringFREEBUSY - -
    -          Free/busy property name.
    -static StringGEO - -
    -          Geographic location property name.
    -static StringLAST_MODIFIED - -
    -          Last modified date property name.
    -static StringLOCALITY - -
    -          VVENUE locality property name.
    -static StringLOCATION - -
    -          Location property name.
    -static StringLOCATION_TYPE - -
    -          VVENUE location type property name.
    -static StringMETHOD - -
    -          iTIP method property name.
    -static StringNAME - -
    -          VVENUE name property name.
    -static StringORGANIZER - -
    -          Organiser property name.
    -static StringPERCENT_COMPLETE - -
    -          Percentage complete property name.
    -static StringPOSTALCODE - -
    -          VVENUE postal code property name.
    -static StringPRIORITY - -
    -          Prority property name.
    -static StringPRODID - -
    -          Product identifier property name.
    -static StringRDATE - -
    -          Recurrence date property name.
    -static StringRECURRENCE_ID - -
    -          Recurrence identifier property name.
    -static StringREGION - -
    -          VVENUE region property name.
    -static StringRELATED_TO - -
    -          Relationship property name.
    -static StringREPEAT - -
    -          Repeat rule property name.
    -static StringREQUEST_STATUS - -
    -          Request status property name.
    -static StringRESOURCES - -
    -          Resources property name.
    -static StringRRULE - -
    -          Recurrence rule property name.
    -static StringSEQUENCE - -
    -          Sequence property name.
    -static StringSTATUS - -
    -          Status property name.
    -static StringSTREET_ADDRESS - -
    -          VVENUE street address property name.
    -static StringSUMMARY - -
    -          Summary property name.
    -static StringTEL - -
    -          VVENUE telephone property name.
    -static StringTRANSP - -
    -          Transparency property name.
    -static StringTRIGGER - -
    -          Alarm trigger property name.
    -static StringTZID - -
    -          Timezone identifier property name.
    -static StringTZNAME - -
    -          Timezone name property name.
    -static StringTZOFFSETFROM - -
    -          Prior timezone offset property name.
    -static StringTZOFFSETTO - -
    -          New timezone offset property name.
    -static StringTZURL - -
    -          URL for timezone definition property name.
    -static StringUID - -
    -          Unique identifier property name.
    -static StringURL - -
    -          Uniform resource locator property name.
    -static StringVERSION - -
    -          iCalendar version property name.
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    -protected Property(Property property) - -
    -          Deprecated. Use copy() instead
    -protected Property(String aName, - ParameterList aList, - PropertyFactory factory) - -
    -           
    -protected Property(String aName, - PropertyFactory factory) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Propertycopy() - -
    -          Create a (deep) copy of this property.
    - booleanequals(Object arg0) - -
    -          
    - StringgetName() - -
    -           
    - ParametergetParameter(String name) - -
    -          Convenience method for retrieving a single parameter.
    - ParameterListgetParameters() - -
    -           
    - ParameterListgetParameters(String name) - -
    -          Convenience method for retrieving a list of named parameters.
    - inthashCode() - -
    -          
    - booleanisCalendarProperty() - -
    -          Indicates whether this property is a calendar property.
    -abstract  voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - StringtoString() - -
    -          
    -abstract  voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Content
    getValue
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PRODID

    -
    -public static final String PRODID
    -
    -
    Product identifier property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -VERSION

    -
    -public static final String VERSION
    -
    -
    iCalendar version property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CALSCALE

    -
    -public static final String CALSCALE
    -
    -
    Calendar scale property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -METHOD

    -
    -public static final String METHOD
    -
    -
    iTIP method property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -BUSYTYPE

    -
    -public static final String BUSYTYPE
    -
    -
    Busy type property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CLASS

    -
    -public static final String CLASS
    -
    -
    Classifier property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CREATED

    -
    -public static final String CREATED
    -
    -
    Creation date property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DESCRIPTION

    -
    -public static final String DESCRIPTION
    -
    -
    Description property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DTSTART

    -
    -public static final String DTSTART
    -
    -
    Start date property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -GEO

    -
    -public static final String GEO
    -
    -
    Geographic location property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -LAST_MODIFIED

    -
    -public static final String LAST_MODIFIED
    -
    -
    Last modified date property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -LOCATION

    -
    -public static final String LOCATION
    -
    -
    Location property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ORGANIZER

    -
    -public static final String ORGANIZER
    -
    -
    Organiser property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -PERCENT_COMPLETE

    -
    -public static final String PERCENT_COMPLETE
    -
    -
    Percentage complete property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -PRIORITY

    -
    -public static final String PRIORITY
    -
    -
    Prority property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DTSTAMP

    -
    -public static final String DTSTAMP
    -
    -
    Date-stamp property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -SEQUENCE

    -
    -public static final String SEQUENCE
    -
    -
    Sequence property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -STATUS

    -
    -public static final String STATUS
    -
    -
    Status property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -SUMMARY

    -
    -public static final String SUMMARY
    -
    -
    Summary property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TRANSP

    -
    -public static final String TRANSP
    -
    -
    Transparency property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -UID

    -
    -public static final String UID
    -
    -
    Unique identifier property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -URL

    -
    -public static final String URL
    -
    -
    Uniform resource locator property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RECURRENCE_ID

    -
    -public static final String RECURRENCE_ID
    -
    -
    Recurrence identifier property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -COMPLETED

    -
    -public static final String COMPLETED
    -
    -
    Completed date property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DUE

    -
    -public static final String DUE
    -
    -
    Due date property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -FREEBUSY

    -
    -public static final String FREEBUSY
    -
    -
    Free/busy property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TZID

    -
    -public static final String TZID
    -
    -
    Timezone identifier property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TZNAME

    -
    -public static final String TZNAME
    -
    -
    Timezone name property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TZOFFSETFROM

    -
    -public static final String TZOFFSETFROM
    -
    -
    Prior timezone offset property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TZOFFSETTO

    -
    -public static final String TZOFFSETTO
    -
    -
    New timezone offset property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TZURL

    -
    -public static final String TZURL
    -
    -
    URL for timezone definition property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ACTION

    -
    -public static final String ACTION
    -
    -
    Alarm action property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -REPEAT

    -
    -public static final String REPEAT
    -
    -
    Repeat rule property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TRIGGER

    -
    -public static final String TRIGGER
    -
    -
    Alarm trigger property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -REQUEST_STATUS

    -
    -public static final String REQUEST_STATUS
    -
    -
    Request status property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DTEND

    -
    -public static final String DTEND
    -
    -
    End date property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DURATION

    -
    -public static final String DURATION
    -
    -
    Duration property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ATTACH

    -
    -public static final String ATTACH
    -
    -
    Attachment property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -ATTENDEE

    -
    -public static final String ATTENDEE
    -
    -
    Attendee property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CATEGORIES

    -
    -public static final String CATEGORIES
    -
    -
    Categories property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -COMMENT

    -
    -public static final String COMMENT
    -
    -
    Comment property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CONTACT

    -
    -public static final String CONTACT
    -
    -
    Contact property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -EXDATE

    -
    -public static final String EXDATE
    -
    -
    Exclusion date property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -EXRULE

    -
    -public static final String EXRULE
    -
    -
    Exclusion rule property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RELATED_TO

    -
    -public static final String RELATED_TO
    -
    -
    Relationship property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RESOURCES

    -
    -public static final String RESOURCES
    -
    -
    Resources property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RDATE

    -
    -public static final String RDATE
    -
    -
    Recurrence date property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -RRULE

    -
    -public static final String RRULE
    -
    -
    Recurrence rule property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -EXPERIMENTAL_PREFIX

    -
    -public static final String EXPERIMENTAL_PREFIX
    -
    -
    Prefix for non-standard properties. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -COUNTRY

    -
    -public static final String COUNTRY
    -
    -
    VVENUE country property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -EXTENDED_ADDRESS

    -
    -public static final String EXTENDED_ADDRESS
    -
    -
    VVENUE extended address property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -LOCALITY

    -
    -public static final String LOCALITY
    -
    -
    VVENUE locality property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -LOCATION_TYPE

    -
    -public static final String LOCATION_TYPE
    -
    -
    VVENUE location type property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -NAME

    -
    -public static final String NAME
    -
    -
    VVENUE name property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -POSTALCODE

    -
    -public static final String POSTALCODE
    -
    -
    VVENUE postal code property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -REGION

    -
    -public static final String REGION
    -
    -
    VVENUE region property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -STREET_ADDRESS

    -
    -public static final String STREET_ADDRESS
    -
    -
    VVENUE street address property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -TEL

    -
    -public static final String TEL
    -
    -
    VVENUE telephone property name. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Property

    -
    -protected Property(String aName,
    -                   PropertyFactory factory)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    aName - property name
    factory - the factory used to create the property instance
    -
    -
    - -

    -Property

    -
    -protected Property(String aName,
    -                   ParameterList aList,
    -                   PropertyFactory factory)
    -
    -
    -
    Parameters:
    aName - a property identifier
    aList - a list of initial parameters
    factory - the factory used to create the property instance
    -
    -
    - -

    -Property

    -
    -protected Property(Property property)
    -            throws IOException,
    -                   URISyntaxException,
    -                   ParseException
    -
    -
    Deprecated. Use copy() instead -

    -

    Creates a deep copy of the specified property. That is, the name, parameter list, and value are duplicated from - the specified property. This constructor should only be called from sub-classes to ensure type integrity is - maintained. -

    -

    -
    Parameters:
    property - a property to copy -
    Throws: -
    URISyntaxException - where the specified property contains an invalid URI value -
    ParseException - where the specified property has invalid data -
    IOException - where an error occurs reading data from the specified property
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -isCalendarProperty

    -
    -public boolean isCalendarProperty()
    -
    -
    Indicates whether this property is a calendar property. -

    -

    - -
    Returns:
    boolean
    -
    -
    -
    - -

    -getName

    -
    -public final String getName()
    -
    -
    -
    Specified by:
    getName in class Content
    -
    -
    - -
    Returns:
    Returns the name.
    -
    -
    -
    - -

    -getParameters

    -
    -public final ParameterList getParameters()
    -
    -
    - -
    Returns:
    Returns the parameters.
    -
    -
    -
    - -

    -getParameters

    -
    -public final ParameterList getParameters(String name)
    -
    -
    Convenience method for retrieving a list of named parameters. -

    -

    -
    Parameters:
    name - name of parameters to retrieve -
    Returns:
    a parameter list containing only parameters with the specified name
    -
    -
    -
    - -

    -getParameter

    -
    -public final Parameter getParameter(String name)
    -
    -
    Convenience method for retrieving a single parameter. -

    -

    -
    Parameters:
    name - name of the parameter to retrieve -
    Returns:
    the first parameter from the parameter list with the specified name
    -
    -
    -
    - -

    -setValue

    -
    -public abstract void setValue(String aValue)
    -                       throws IOException,
    -                              URISyntaxException,
    -                              ParseException
    -
    -
    Sets the current value of the property. -

    -

    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    IOException - possibly thrown by setting the value of certain properties -
    URISyntaxException - possibly thrown by setting the value of certain properties -
    ParseException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -validate

    -
    -public abstract void validate()
    -                       throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    -
    - -

    -copy

    -
    -public Property copy()
    -              throws IOException,
    -                     URISyntaxException,
    -                     ParseException
    -
    -
    Create a (deep) copy of this property. -

    -

    - -
    Returns:
    the copy of the property -
    Throws: -
    IOException - where an error occurs reading property data -
    URISyntaxException - where the property contains an invalid URI value -
    ParseException - where the property contains an invalid date value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactory.html deleted file mode 100644 index cdc69551..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactory.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - -PropertyFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Interface PropertyFactory

    -
    -
    All Superinterfaces:
    Serializable
    -
    -
    -
    All Known Implementing Classes:
    PropertyFactoryImpl, PropertyFactoryRegistry
    -
    -
    -
    -
    public interface PropertyFactory
    extends Serializable
    - - -

    -A factory for creating iCalendar properties. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna - - Note that implementations must be Serializable to support referencing - from Property instances. - - $Id$ - - Created on 16/06/2005
    -
    -
    - -

    - - - - - - - - - - - - - - - - -
    -Method Summary
    - PropertycreateProperty(String name) - -
    -           
    - PropertycreateProperty(String name, - ParameterList parameters, - String value) - -
    -           
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -createProperty

    -
    -Property createProperty(String name)
    -
    -
    -
    -
    -
    -
    Parameters:
    name - a property name -
    Returns:
    a new instance of the specified property
    -
    -
    -
    - -

    -createProperty

    -
    -Property createProperty(String name,
    -                        ParameterList parameters,
    -                        String value)
    -                        throws IOException,
    -                               URISyntaxException,
    -                               ParseException
    -
    -
    -
    -
    -
    -
    Parameters:
    name - a property name
    parameters - a list of property parameters
    value - a property value -
    Returns:
    a new instance of the specified property -
    Throws: -
    IOException - where an unexpected error occurs reading data -
    URISyntaxException - where data contains an invalid URI -
    ParseException - where data is unable to be parsed correctly
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryImpl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryImpl.html deleted file mode 100644 index c69677cf..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryImpl.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - -PropertyFactoryImpl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class PropertyFactoryImpl

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.AbstractContentFactory
    -      extended by net.fortuna.ical4j.model.PropertyFactoryImpl
    -
    -
    -
    All Implemented Interfaces:
    Serializable, PropertyFactory
    -
    -
    -
    Direct Known Subclasses:
    PropertyFactoryRegistry
    -
    -
    -
    -
    public class PropertyFactoryImpl
    extends AbstractContentFactory
    implements PropertyFactory
    - - -

    -A factory for creating iCalendar properties. Note that if relaxed parsing is enabled (via specifying the system - property: icalj.parsing.relaxed=true) illegal property names are allowed. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna - - $Id$ [05-Apr-2004]
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - -
    -Constructor Summary
    -protected PropertyFactoryImpl() - -
    -          Constructor made private to prevent instantiation.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - PropertycreateProperty(String name) - -
    -          
    - PropertycreateProperty(String name, - ParameterList parameters, - String value) - -
    -          
    -static PropertyFactoryImplgetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.AbstractContentFactory
    allowIllegalNames, getFactory, registerDefaultFactory, registerExtendedFactory
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PropertyFactoryImpl

    -
    -protected PropertyFactoryImpl()
    -
    -
    Constructor made private to prevent instantiation. -

    -

    - - - - - - - - -
    -Method Detail
    - -

    -getInstance

    -
    -public static PropertyFactoryImpl getInstance()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the instance.
    -
    -
    -
    - -

    -createProperty

    -
    -public Property createProperty(String name)
    -
    -
    -

    -

    -
    Specified by:
    createProperty in interface PropertyFactory
    -
    -
    -
    Parameters:
    name - a property name -
    Returns:
    a new instance of the specified property
    -
    -
    -
    - -

    -createProperty

    -
    -public Property createProperty(String name,
    -                               ParameterList parameters,
    -                               String value)
    -                        throws IOException,
    -                               URISyntaxException,
    -                               ParseException
    -
    -
    -

    -

    -
    Specified by:
    createProperty in interface PropertyFactory
    -
    -
    -
    Parameters:
    name - a property name
    parameters - a list of property parameters
    value - a property value -
    Returns:
    a new instance of the specified property -
    Throws: -
    IOException - where an unexpected error occurs reading data -
    URISyntaxException - where data contains an invalid URI -
    ParseException - where data is unable to be parsed correctly
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryRegistry.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryRegistry.html deleted file mode 100644 index 24de5e6d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryRegistry.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - -PropertyFactoryRegistry (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class PropertyFactoryRegistry

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.AbstractContentFactory
    -      extended by net.fortuna.ical4j.model.PropertyFactoryImpl
    -          extended by net.fortuna.ical4j.model.PropertyFactoryRegistry
    -
    -
    -
    All Implemented Interfaces:
    Serializable, PropertyFactory
    -
    -
    -
    -
    public final class PropertyFactoryRegistry
    extends PropertyFactoryImpl
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    PropertyFactoryRegistry() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - voidregister(String name, - PropertyFactory factory) - -
    -           
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.PropertyFactoryImpl
    createProperty, createProperty, getInstance
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.AbstractContentFactory
    allowIllegalNames, getFactory, registerDefaultFactory, registerExtendedFactory
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PropertyFactoryRegistry

    -
    -public PropertyFactoryRegistry()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public void register(String name,
    -                     PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - a non-standard property name
    factory - a factory for the non-standard property
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyList.html deleted file mode 100644 index 130372ff..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/PropertyList.html +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - - -PropertyList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class PropertyList

    -
    -java.lang.Object
    -  extended by java.util.AbstractCollection<E>
    -      extended by java.util.AbstractList<E>
    -          extended by java.util.ArrayList
    -              extended by net.fortuna.ical4j.model.PropertyList
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable, Iterable, Collection, List, RandomAccess
    -
    -
    -
    -
    public class PropertyList
    extends ArrayList
    implements Serializable
    - - -

    -$Id$ [Apr 5, 2004] - - Defines a list of iCalendar properties. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.util.AbstractList
    modCount
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    PropertyList() - -
    -          Default constructor.
    PropertyList(int initialCapacity) - -
    -          Creates a new instance with the specified initial capacity.
    PropertyList(PropertyList properties) - -
    -          Creates a deep copy of the specified property list.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(Object property) - -
    -          Overrides superclass to throw an IllegalArgumentException where argument is not a - net.fortuna.ical4j.model.Property.
    - booleanadd(Property property) - -
    -          Add a property to the list.
    - PropertyListgetProperties(String name) - -
    -          Returns a list of properties with the specified name.
    - PropertygetProperty(String aName) - -
    -          Returns the first property of specified name.
    - booleanremove(Property property) - -
    -          Remove a property from the list.
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.util.ArrayList
    add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeRange, retainAll, set, size, subList, toArray, toArray, trimToSize
    - - - - - - - -
    Methods inherited from class java.util.AbstractList
    equals, hashCode
    - - - - - - - -
    Methods inherited from class java.util.AbstractCollection
    containsAll
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    - - - - - - - -
    Methods inherited from interface java.util.List
    containsAll, equals, hashCode
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PropertyList

    -
    -public PropertyList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -PropertyList

    -
    -public PropertyList(int initialCapacity)
    -
    -
    Creates a new instance with the specified initial capacity. -

    -

    -
    Parameters:
    initialCapacity - the initial capacity of the list
    -
    -
    - -

    -PropertyList

    -
    -public PropertyList(PropertyList properties)
    -             throws ParseException,
    -                    IOException,
    -                    URISyntaxException
    -
    -
    Creates a deep copy of the specified property list. -

    -

    -
    Parameters:
    properties - a property list -
    Throws: -
    ParseException - where property data cannot be parsed -
    IOException - where property data cannot be read -
    URISyntaxException - where a property contains an invalid URI
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class AbstractCollection
    -
    -
    -
    -
    -
    -
    - -

    -getProperty

    -
    -public final Property getProperty(String aName)
    -
    -
    Returns the first property of specified name. -

    -

    -
    -
    -
    -
    Parameters:
    aName - name of property to return -
    Returns:
    a property or null if no matching property found
    -
    -
    -
    - -

    -getProperties

    -
    -public final PropertyList getProperties(String name)
    -
    -
    Returns a list of properties with the specified name. -

    -

    -
    -
    -
    -
    Parameters:
    name - name of properties to return -
    Returns:
    a property list
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Property property)
    -
    -
    Add a property to the list. -

    -

    -
    -
    -
    -
    Parameters:
    property - the property to add -
    Returns:
    true
    See Also:
    List.add(java.lang.Object)
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Object property)
    -
    -
    Overrides superclass to throw an IllegalArgumentException where argument is not a - net.fortuna.ical4j.model.Property. -

    -

    -
    Specified by:
    add in interface Collection
    Specified by:
    add in interface List
    Overrides:
    add in class ArrayList
    -
    -
    -
    Parameters:
    property - a property to add -
    Returns:
    true if the property is added, otherwise false
    See Also:
    java.util.List#add(E)
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(Property property)
    -
    -
    Remove a property from the list. -

    -

    -
    -
    -
    -
    Parameters:
    property - the property to remove -
    Returns:
    true if the list contained the specified property
    See Also:
    List.remove(java.lang.Object)
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Recur.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Recur.html deleted file mode 100644 index b11a866d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Recur.html +++ /dev/null @@ -1,1135 +0,0 @@ - - - - - - - -Recur (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Recur

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Recur
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Recur
    extends Object
    implements Serializable
    - - -

    -$Id$ [18-Apr-2004] - - Defines a recurrence. -

    - -

    -

    -
    Version:
    -
    2.0
    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringDAILY - -
    -          Day frequency resolution.
    -static StringHOURLY - -
    -          Hour frequency resolution.
    -static StringKEY_MAX_INCREMENT_COUNT - -
    -          When calculating dates matching this recur (getDates() or getNextDate), - this property defines the maximum number of attempt to find a matching date by - incrementing the seed.
    -static StringMINUTELY - -
    -          Minute frequency resolution.
    -static StringMONTHLY - -
    -          Month frequency resolution.
    -static StringSECONDLY - -
    -          Second frequency resolution.
    -static StringWEEKLY - -
    -          Week frequency resolution.
    -static StringYEARLY - -
    -          Year frequency resolution.
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Recur() - -
    -          Default constructor.
    Recur(String aValue) - -
    -          Constructs a new instance from the specified string value.
    Recur(String frequency, - Date until) - -
    -           
    Recur(String frequency, - int count) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetCount() - -
    -           
    - DateListgetDates(Date seed, - Date periodStart, - Date periodEnd, - Value value) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListgetDates(Date seed, - Date periodStart, - Date periodEnd, - Value value, - int maxCount) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListgetDates(Date periodStart, - Date periodEnd, - Value value) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListgetDates(Date seed, - Period period, - Value value) - -
    -          Convenience method for retrieving recurrences in a specified period.
    - WeekDayListgetDayList() - -
    -           
    - MapgetExperimentalValues() - -
    -           
    - StringgetFrequency() - -
    -           
    - NumberListgetHourList() - -
    -           
    - intgetInterval() - -
    -           
    - NumberListgetMinuteList() - -
    -           
    - NumberListgetMonthDayList() - -
    -           
    - NumberListgetMonthList() - -
    -           
    - DategetNextDate(Date seed, - Date startDate) - -
    -          Returns the the next date of this recurrence given a seed date - and start date.
    - NumberListgetSecondList() - -
    -           
    - NumberListgetSetPosList() - -
    -           
    - DategetUntil() - -
    -           
    - NumberListgetWeekNoList() - -
    -           
    - StringgetWeekStartDay() - -
    -           
    - NumberListgetYearDayList() - -
    -           
    - voidsetCount(int count) - -
    -           
    - voidsetFrequency(String frequency) - -
    -           
    - voidsetInterval(int interval) - -
    -           
    - voidsetUntil(Date until) - -
    -           
    - voidsetWeekStartDay(String weekStartDay) - -
    -           
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -SECONDLY

    -
    -public static final String SECONDLY
    -
    -
    Second frequency resolution. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MINUTELY

    -
    -public static final String MINUTELY
    -
    -
    Minute frequency resolution. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -HOURLY

    -
    -public static final String HOURLY
    -
    -
    Hour frequency resolution. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DAILY

    -
    -public static final String DAILY
    -
    -
    Day frequency resolution. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -WEEKLY

    -
    -public static final String WEEKLY
    -
    -
    Week frequency resolution. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MONTHLY

    -
    -public static final String MONTHLY
    -
    -
    Month frequency resolution. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -YEARLY

    -
    -public static final String YEARLY
    -
    -
    Year frequency resolution. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -KEY_MAX_INCREMENT_COUNT

    -
    -public static final String KEY_MAX_INCREMENT_COUNT
    -
    -
    When calculating dates matching this recur (getDates() or getNextDate), - this property defines the maximum number of attempt to find a matching date by - incrementing the seed. -

    The default value is 1000. A value of -1 corresponds to no maximum.

    -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Recur

    -
    -public Recur()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Recur

    -
    -public Recur(String aValue)
    -      throws ParseException
    -
    -
    Constructs a new instance from the specified string value. -

    -

    -
    Parameters:
    aValue - a string representation of a recurrence. -
    Throws: -
    ParseException - thrown when the specified string contains an invalid representation of an UNTIL date value
    -
    -
    - -

    -Recur

    -
    -public Recur(String frequency,
    -             Date until)
    -
    -
    -
    Parameters:
    frequency - a recurrence frequency string
    until - maximum recurrence date
    -
    -
    - -

    -Recur

    -
    -public Recur(String frequency,
    -             int count)
    -
    -
    -
    Parameters:
    frequency - a recurrence frequency string
    count - maximum recurrence count
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDayList

    -
    -public final WeekDayList getDayList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the dayList.
    -
    -
    -
    - -

    -getHourList

    -
    -public final NumberList getHourList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the hourList.
    -
    -
    -
    - -

    -getMinuteList

    -
    -public final NumberList getMinuteList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the minuteList.
    -
    -
    -
    - -

    -getMonthDayList

    -
    -public final NumberList getMonthDayList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the monthDayList.
    -
    -
    -
    - -

    -getMonthList

    -
    -public final NumberList getMonthList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the monthList.
    -
    -
    -
    - -

    -getSecondList

    -
    -public final NumberList getSecondList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the secondList.
    -
    -
    -
    - -

    -getSetPosList

    -
    -public final NumberList getSetPosList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the setPosList.
    -
    -
    -
    - -

    -getWeekNoList

    -
    -public final NumberList getWeekNoList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the weekNoList.
    -
    -
    -
    - -

    -getYearDayList

    -
    -public final NumberList getYearDayList()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the yearDayList.
    -
    -
    -
    - -

    -getCount

    -
    -public final int getCount()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the count or -1 if the rule does not have a count.
    -
    -
    -
    - -

    -getExperimentalValues

    -
    -public final Map getExperimentalValues()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the experimentalValues.
    -
    -
    -
    - -

    -getFrequency

    -
    -public final String getFrequency()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the frequency.
    -
    -
    -
    - -

    -getInterval

    -
    -public final int getInterval()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the interval or -1 if the rule does not have an interval defined.
    -
    -
    -
    - -

    -getUntil

    -
    -public final Date getUntil()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the until or null if there is none.
    -
    -
    -
    - -

    -getWeekStartDay

    -
    -public final String getWeekStartDay()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the weekStartDay or null if there is none.
    -
    -
    -
    - -

    -setWeekStartDay

    -
    -public final void setWeekStartDay(String weekStartDay)
    -
    -
    -
    -
    -
    -
    Parameters:
    weekStartDay - The weekStartDay to set.
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -getDates

    -
    -public final DateList getDates(Date periodStart,
    -                               Date periodEnd,
    -                               Value value)
    -
    -
    Returns a list of start dates in the specified period represented by this recur. Any date fields not specified by - this recur are retained from the period start, and as such you should ensure the period start is initialised - correctly. -

    -

    -
    -
    -
    -
    Parameters:
    periodStart - the start of the period
    periodEnd - the end of the period
    value - the type of dates to generate (i.e. date/date-time) -
    Returns:
    a list of dates
    -
    -
    -
    - -

    -getDates

    -
    -public final DateList getDates(Date seed,
    -                               Period period,
    -                               Value value)
    -
    -
    Convenience method for retrieving recurrences in a specified period. -

    -

    -
    -
    -
    -
    Parameters:
    seed - a seed date for generating recurrence instances
    period - the period of returned recurrence dates
    value - type of dates to generate -
    Returns:
    a list of dates
    -
    -
    -
    - -

    -getDates

    -
    -public final DateList getDates(Date seed,
    -                               Date periodStart,
    -                               Date periodEnd,
    -                               Value value)
    -
    -
    Returns a list of start dates in the specified period represented by this recur. This method includes a base date - argument, which indicates the start of the fist occurrence of this recurrence. The base date is used to inject - default values to return a set of dates in the correct format. For example, if the search start date (start) is - Wed, Mar 23, 12:19PM, but the recurrence is Mon - Fri, 9:00AM - 5:00PM, the start dates returned should all be at - 9:00AM, and not 12:19PM. -

    -

    -
    -
    -
    -
    Parameters:
    seed - the start date of this Recurrence's first instance
    periodStart - the start of the period
    periodEnd - the end of the period
    value - the type of dates to generate (i.e. date/date-time) -
    Returns:
    a list of dates represented by this recur instance
    -
    -
    -
    - -

    -getDates

    -
    -public final DateList getDates(Date seed,
    -                               Date periodStart,
    -                               Date periodEnd,
    -                               Value value,
    -                               int maxCount)
    -
    -
    Returns a list of start dates in the specified period represented by this recur. This method includes a base date - argument, which indicates the start of the fist occurrence of this recurrence. The base date is used to inject - default values to return a set of dates in the correct format. For example, if the search start date (start) is - Wed, Mar 23, 12:19PM, but the recurrence is Mon - Fri, 9:00AM - 5:00PM, the start dates returned should all be at - 9:00AM, and not 12:19PM. -

    -

    -
    -
    -
    -
    Parameters:
    seed - the start date of this Recurrence's first instance
    periodStart - the start of the period
    periodEnd - the end of the period
    value - the type of dates to generate (i.e. date/date-time)
    maxCount - limits the number of instances returned. Up to one years - worth extra may be returned. Less than 0 means no limit -
    Returns:
    a list of dates represented by this recur instance
    -
    -
    -
    - -

    -getNextDate

    -
    -public final Date getNextDate(Date seed,
    -                              Date startDate)
    -
    -
    Returns the the next date of this recurrence given a seed date - and start date. The seed date indicates the start of the fist - occurrence of this recurrence. The start date is the - starting date to search for the next recurrence. Return null - if there is no occurrence date after start date. -

    -

    -
    -
    -
    -
    Parameters:
    seed - the start date of this Recurrence's first instance
    startDate - the date to start the search -
    Returns:
    the next date in the recurrence series after startDate
    -
    -
    -
    - -

    -setCount

    -
    -public final void setCount(int count)
    -
    -
    -
    -
    -
    -
    Parameters:
    count - The count to set.
    -
    -
    -
    - -

    -setFrequency

    -
    -public final void setFrequency(String frequency)
    -
    -
    -
    -
    -
    -
    Parameters:
    frequency - The frequency to set.
    -
    -
    -
    - -

    -setInterval

    -
    -public final void setInterval(int interval)
    -
    -
    -
    -
    -
    -
    Parameters:
    interval - The interval to set.
    -
    -
    -
    - -

    -setUntil

    -
    -public final void setUntil(Date until)
    -
    -
    -
    -
    -
    -
    Parameters:
    until - The until to set.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TextList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TextList.html deleted file mode 100644 index 745eeb59..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TextList.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - -TextList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class TextList

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.TextList
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class TextList
    extends Object
    implements Serializable
    - - -

    -$Id$ [23-Apr-2004] - - Defines a list of iCalendar text elements. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    TextList() - -
    -          Default constructor.
    TextList(String aValue) - -
    -          Parses the specified string representation to create a list of categories.
    TextList(String[] textValues) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(String text) - -
    -          Add an address to the list.
    - booleanisEmpty() - -
    -           
    - Iteratoriterator() - -
    -           
    - booleanremove(String text) - -
    -          Remove a text from the list.
    - intsize() - -
    -           
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TextList

    -
    -public TextList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -TextList

    -
    -public TextList(String aValue)
    -
    -
    Parses the specified string representation to create a list of categories. -

    -

    -
    Parameters:
    aValue - a string representation of a list of categories
    -
    -
    - -

    -TextList

    -
    -public TextList(String[] textValues)
    -
    -
    -
    Parameters:
    textValues - an array of text values
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(String text)
    -
    -
    Add an address to the list. -

    -

    -
    -
    -
    -
    Parameters:
    text - the category to add -
    Returns:
    true
    See Also:
    List.add(java.lang.Object)
    -
    -
    -
    - -

    -isEmpty

    -
    -public final boolean isEmpty()
    -
    -
    -
    -
    -
    - -
    Returns:
    boolean indicates if the list is empty
    See Also:
    List.isEmpty()
    -
    -
    -
    - -

    -iterator

    -
    -public final Iterator iterator()
    -
    -
    -
    -
    -
    - -
    Returns:
    an iterator
    See Also:
    List.iterator()
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(String text)
    -
    -
    Remove a text from the list. -

    -

    -
    -
    -
    -
    Parameters:
    text - the text element to remove -
    Returns:
    true if the list contained the specified text element
    See Also:
    List.remove(java.lang.Object)
    -
    -
    -
    - -

    -size

    -
    -public final int size()
    -
    -
    -
    -
    -
    - -
    Returns:
    the number of text elements in the list
    See Also:
    List.size()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Time.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Time.html deleted file mode 100644 index 1af8faa0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Time.html +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - -Time (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class Time

    -
    -java.lang.Object
    -  extended by java.util.Date
    -      extended by net.fortuna.ical4j.model.Iso8601
    -          extended by net.fortuna.ical4j.model.Time
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable, Comparable<Date>
    -
    -
    -
    -
    public class Time
    extends Iso8601
    - - -

    -$Id$ - - Created on 30/06/2005 - - A type used to represent iCalendar time values. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Time(Date time, - TimeZone timezone) - -
    -           
    Time(Date time, - TimeZone timezone, - boolean utc) - -
    -           
    Time(long time, - TimeZone timezone) - -
    -           
    Time(long time, - TimeZone timezone, - boolean utc) - -
    -           
    Time(String value, - TimeZone timezone) - -
    -           
    Time(String value, - TimeZone timezone, - boolean utc) - -
    -           
    Time(TimeZone timezone) - -
    -           
    Time(TimeZone timezone, - boolean utc) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - booleanisUtc() - -
    -           
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Iso8601
    getFormat, setTime, toString
    - - - - - - - -
    Methods inherited from class java.util.Date
    after, before, clone, compareTo, equals, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Time

    -
    -public Time(TimeZone timezone)
    -
    -
    -
    Parameters:
    timezone - a timezone for the instance
    -
    -
    - -

    -Time

    -
    -public Time(TimeZone timezone,
    -            boolean utc)
    -
    -
    -
    Parameters:
    timezone - a timezone for the instance
    utc - indicates if the time is in UTC
    -
    -
    - -

    -Time

    -
    -public Time(long time,
    -            TimeZone timezone)
    -
    -
    -
    Parameters:
    time - a time value in milliseconds from the epoch
    timezone - a timezone for the instance
    -
    -
    - -

    -Time

    -
    -public Time(long time,
    -            TimeZone timezone,
    -            boolean utc)
    -
    -
    -
    Parameters:
    time - a time value in milliseconds from the epoch
    timezone - a timezone for the instance
    utc - indicates if the time is in UTC
    -
    -
    - -

    -Time

    -
    -public Time(Date time,
    -            TimeZone timezone)
    -
    -
    -
    Parameters:
    time - a time value in milliseconds from the epoch
    timezone - a timezone for the instance
    -
    -
    - -

    -Time

    -
    -public Time(Date time,
    -            TimeZone timezone,
    -            boolean utc)
    -
    -
    -
    Parameters:
    time - a time value as a Java date instance
    timezone - a timezone for the instance
    utc - indicates if the time is in UTC
    -
    -
    - -

    -Time

    -
    -public Time(String value,
    -            TimeZone timezone)
    -     throws ParseException
    -
    -
    -
    Parameters:
    value -
    timezone - -
    Throws: -
    ParseException - where the specified value is not a valid time string
    -
    -
    - -

    -Time

    -
    -public Time(String value,
    -            TimeZone timezone,
    -            boolean utc)
    -     throws ParseException
    -
    -
    -
    Parameters:
    value -
    timezone -
    utc - -
    Throws: -
    ParseException - where the specified value is not a valid time string
    -
    - - - - - - - - -
    -Method Detail
    - -

    -isUtc

    -
    -public final boolean isUtc()
    -
    -
    - -
    Returns:
    true if time is utc
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZone.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZone.html deleted file mode 100644 index d0605bd9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZone.html +++ /dev/null @@ -1,461 +0,0 @@ - - - - - - - -TimeZone (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class TimeZone

    -
    -java.lang.Object
    -  extended by java.util.TimeZone
    -      extended by net.fortuna.ical4j.model.TimeZone
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable
    -
    -
    -
    -
    public class TimeZone
    extends TimeZone
    - - -

    -$Id$ - - Created on 13/09/2005 - - A Java timezone implementation based on an underlying VTimeZone - definition. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.util.TimeZone
    LONG, SHORT
    -  - - - - - - - - - - -
    -Constructor Summary
    TimeZone(VTimeZone vTimeZone) - -
    -          Constructs a new instance based on the specified VTimeZone.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetOffset(int era, - int year, - int month, - int day, - int dayOfWeek, - int milliseconds) - -
    -          
    - intgetOffset(long date) - -
    -          
    - intgetRawOffset() - -
    -          
    - VTimeZonegetVTimeZone() - -
    -           
    - booleaninDaylightTime(Date date) - -
    -          Determines if the specified date is in daylight time according to - this timezone.
    - voidsetRawOffset(int offsetMillis) - -
    -          
    - booleanuseDaylightTime() - -
    -          
    - - - - - - - -
    Methods inherited from class java.util.TimeZone
    clone, getAvailableIDs, getAvailableIDs, getDefault, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getDSTSavings, getID, getTimeZone, hasSameRules, setDefault, setID
    - - - - - - - -
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimeZone

    -
    -public TimeZone(VTimeZone vTimeZone)
    -
    -
    Constructs a new instance based on the specified VTimeZone. -

    -

    -
    Parameters:
    vTimeZone - a VTIMEZONE object instance
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getOffset

    -
    -public final int getOffset(int era,
    -                           int year,
    -                           int month,
    -                           int day,
    -                           int dayOfWeek,
    -                           int milliseconds)
    -
    -
    -

    -

    -
    Specified by:
    getOffset in class TimeZone
    -
    -
    -
    -
    -
    -
    - -

    -getOffset

    -
    -public int getOffset(long date)
    -
    -
    -

    -

    -
    Overrides:
    getOffset in class TimeZone
    -
    -
    -
    -
    -
    -
    - -

    -getRawOffset

    -
    -public final int getRawOffset()
    -
    -
    -

    -

    -
    Specified by:
    getRawOffset in class TimeZone
    -
    -
    -
    -
    -
    -
    - -

    -inDaylightTime

    -
    -public final boolean inDaylightTime(Date date)
    -
    -
    Determines if the specified date is in daylight time according to - this timezone. This is done by finding the latest supporting - observance for the specified date and identifying whether it is - daylight time. -

    -

    -
    Specified by:
    inDaylightTime in class TimeZone
    -
    -
    -
    Parameters:
    date - a date instance -
    Returns:
    true if the specified date is in daylight time, otherwise false
    -
    -
    -
    - -

    -setRawOffset

    -
    -public final void setRawOffset(int offsetMillis)
    -
    -
    -

    -

    -
    Specified by:
    setRawOffset in class TimeZone
    -
    -
    -
    -
    -
    -
    - -

    -useDaylightTime

    -
    -public final boolean useDaylightTime()
    -
    -
    -

    -

    -
    Specified by:
    useDaylightTime in class TimeZone
    -
    -
    -
    -
    -
    -
    - -

    -getVTimeZone

    -
    -public final VTimeZone getVTimeZone()
    -
    -
    - -
    Returns:
    Returns the VTimeZone backing this instance.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistry.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistry.html deleted file mode 100644 index d6908113..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistry.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -TimeZoneRegistry (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Interface TimeZoneRegistry

    -
    -
    All Known Implementing Classes:
    TimeZoneRegistryImpl
    -
    -
    -
    -
    public interface TimeZoneRegistry
    - - -

    -$Id$ - - Created on 18/09/2005 - - Implementors provide a list of timezone definitions applicable for use - with iCalendar objects. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclear() - -
    -          Clears all registered timezones.
    - TimeZonegetTimeZone(String id) - -
    -          Returns a timezone with the specified identifier.
    - voidregister(TimeZone timezone) - -
    -          Registers a new timezone for use with iCalendar objects.
    - voidregister(TimeZone timezone, - boolean update) - -
    -          Registers a new timezone for use with iCalendar objects.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -void register(TimeZone timezone)
    -
    -
    Registers a new timezone for use with iCalendar objects. If a timezone - with the same identifier is already registered this timezone will take - precedence. -

    -

    -
    Parameters:
    timezone - a timezone to be registered for use with iCalendar - objects
    -
    -
    -
    - -

    -register

    -
    -void register(TimeZone timezone,
    -              boolean update)
    -
    -
    Registers a new timezone for use with iCalendar objects. If a timezone - with the same identifier is already registered this timezone will take - precedence. -

    -

    -
    Parameters:
    timezone - a timezone to be registered for use with iCalendar - objects
    update - attempt to update the definition from any specified TZURL - property if true
    -
    -
    -
    - -

    -clear

    -
    -void clear()
    -
    -
    Clears all registered timezones. -

    -

    -
    -
    -
    -
    - -

    -getTimeZone

    -
    -TimeZone getTimeZone(String id)
    -
    -
    Returns a timezone with the specified identifier. -

    -

    -
    Parameters:
    id - a timezone identifier -
    Returns:
    a timezone matching the specified identifier. If no timezone - is registered with the specified identifier null is returned.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryFactory.html deleted file mode 100644 index 8252639c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryFactory.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - -TimeZoneRegistryFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class TimeZoneRegistryFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.TimeZoneRegistryFactory
    -
    -
    -
    Direct Known Subclasses:
    DefaultTimeZoneRegistryFactory
    -
    -
    -
    -
    public abstract class TimeZoneRegistryFactory
    extends Object
    - - -

    -$Id$ - - Created on 18/09/2005 - - Provides access to the configured TimeZoneRegistry instance. - Alternative factory implementations may be specified via the following - system property: -

    net.fortuna.ical4j.timezone.registry=<factory_class_name>
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static StringKEY_FACTORY_CLASS - -
    -          The system property used to specify an alternate - TimeZoneRegistryFactory implementation.
    -  - - - - - - - - - - -
    -Constructor Summary
    TimeZoneRegistryFactory() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -abstract  TimeZoneRegistrycreateRegistry() - -
    -          Returns a new instance of the configured TimeZoneRegistry.
    -static TimeZoneRegistryFactorygetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -KEY_FACTORY_CLASS

    -
    -public static final String KEY_FACTORY_CLASS
    -
    -
    The system property used to specify an alternate - TimeZoneRegistryFactory implementation. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -TimeZoneRegistryFactory

    -
    -public TimeZoneRegistryFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getInstance

    -
    -public static TimeZoneRegistryFactory getInstance()
    -
    -
    - -
    Returns:
    a shared factory instance
    -
    -
    -
    - -

    -createRegistry

    -
    -public abstract TimeZoneRegistry createRegistry()
    -
    -
    Returns a new instance of the configured TimeZoneRegistry. -

    -

    - -
    Returns:
    a timezone registry instance
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryImpl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryImpl.html deleted file mode 100644 index 33cb4f92..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryImpl.html +++ /dev/null @@ -1,377 +0,0 @@ - - - - - - - -TimeZoneRegistryImpl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class TimeZoneRegistryImpl

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.TimeZoneRegistryImpl
    -
    -
    -
    All Implemented Interfaces:
    TimeZoneRegistry
    -
    -
    -
    -
    public class TimeZoneRegistryImpl
    extends Object
    implements TimeZoneRegistry
    - - -

    -$Id$ - - Created on 18/09/2005 - - The default implementation of a TimeZoneRegistry. This implementation will search the classpath for - applicable VTimeZone definitions used to back the provided TimeZone instances. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    TimeZoneRegistryImpl() - -
    -          Default constructor.
    TimeZoneRegistryImpl(String resourcePrefix) - -
    -          Creates a new instance using the specified resource prefix.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidclear() - -
    -          Clears all registered timezones.
    - TimeZonegetTimeZone(String id) - -
    -          Returns a timezone with the specified identifier.
    - voidregister(TimeZone timezone) - -
    -          Registers a new timezone for use with iCalendar objects.
    - voidregister(TimeZone timezone, - boolean update) - -
    -          Registers a new timezone for use with iCalendar objects.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TimeZoneRegistryImpl

    -
    -public TimeZoneRegistryImpl()
    -
    -
    Default constructor. -

    -

    -
    - -

    -TimeZoneRegistryImpl

    -
    -public TimeZoneRegistryImpl(String resourcePrefix)
    -
    -
    Creates a new instance using the specified resource prefix. -

    -

    -
    Parameters:
    resourcePrefix - a prefix prepended to classpath resource lookups for default timezones
    -
    - - - - - - - - -
    -Method Detail
    - -

    -register

    -
    -public final void register(TimeZone timezone)
    -
    -
    Registers a new timezone for use with iCalendar objects. If a timezone - with the same identifier is already registered this timezone will take - precedence. -

    -

    -
    Specified by:
    register in interface TimeZoneRegistry
    -
    -
    -
    Parameters:
    timezone - a timezone to be registered for use with iCalendar - objects
    -
    -
    -
    - -

    -register

    -
    -public final void register(TimeZone timezone,
    -                           boolean update)
    -
    -
    Registers a new timezone for use with iCalendar objects. If a timezone - with the same identifier is already registered this timezone will take - precedence. -

    -

    -
    Specified by:
    register in interface TimeZoneRegistry
    -
    -
    -
    Parameters:
    timezone - a timezone to be registered for use with iCalendar - objects
    update - attempt to update the definition from any specified TZURL - property if true
    -
    -
    -
    - -

    -clear

    -
    -public final void clear()
    -
    -
    Clears all registered timezones. -

    -

    -
    Specified by:
    clear in interface TimeZoneRegistry
    -
    -
    -
    -
    -
    -
    - -

    -getTimeZone

    -
    -public final TimeZone getTimeZone(String id)
    -
    -
    Returns a timezone with the specified identifier. -

    -

    -
    Specified by:
    getTimeZone in interface TimeZoneRegistry
    -
    -
    -
    Parameters:
    id - a timezone identifier -
    Returns:
    a timezone matching the specified identifier. If no timezone - is registered with the specified identifier null is returned.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/UtcOffset.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/UtcOffset.html deleted file mode 100644 index 45905817..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/UtcOffset.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - -UtcOffset (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class UtcOffset

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.UtcOffset
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class UtcOffset
    extends Object
    implements Serializable
    - - -

    -$Id$ - - Created on 26/06/2005 - - Represents a timezone offset from UTC time. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    UtcOffset(long offset) - -
    -           
    UtcOffset(String value) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object arg0) - -
    -          
    - longgetOffset() - -
    -           
    - inthashCode() - -
    -          
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -UtcOffset

    -
    -public UtcOffset(String value)
    -
    -
    -
    Parameters:
    value - a string representation of an offset
    -
    -
    - -

    -UtcOffset

    -
    -public UtcOffset(long offset)
    -
    -
    -
    Parameters:
    offset - an offset value in milliseconds
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -getOffset

    -
    -public final long getOffset()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the offset.
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public final int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ValidationException.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ValidationException.html deleted file mode 100644 index f3122455..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/ValidationException.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - -ValidationException (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class ValidationException

    -
    -java.lang.Object
    -  extended by java.lang.Throwable
    -      extended by java.lang.Exception
    -          extended by net.fortuna.ical4j.model.ValidationException
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class ValidationException
    extends Exception
    - - -

    -$Id$ [23-Apr-2004] - - An exception thrown during validation. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ValidationException() - -
    -          Default constructor.
    ValidationException(String message) - -
    -          Constructor with message.
    ValidationException(String message, - Object[] args) - -
    -          Constructor with message pattern and arguments.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ValidationException

    -
    -public ValidationException()
    -
    -
    Default constructor. -

    -

    -
    - -

    -ValidationException

    -
    -public ValidationException(String message)
    -
    -
    Constructor with message. -

    -

    -
    Parameters:
    message - a message
    -
    -
    - -

    -ValidationException

    -
    -public ValidationException(String message,
    -                           Object[] args)
    -
    -
    Constructor with message pattern and arguments. -

    -

    -
    Parameters:
    message - a message pattern
    args - message arguments
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Validator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Validator.html deleted file mode 100644 index 02babac8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/Validator.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -Validator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Interface Validator

    -
    -
    All Superinterfaces:
    Serializable
    -
    -
    -
    -
    public interface Validator
    extends Serializable
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    - voidvalidate() - -
    -          Validates the associated model against an applicable standard.
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -void validate()
    -              throws ValidationException
    -
    -
    Validates the associated model against an applicable standard. -

    -

    -
    -
    -
    - -
    Throws: -
    ValidationException - where the model does not confirm to the applicable standard
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/WeekDay.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/WeekDay.html deleted file mode 100644 index edb1f325..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/WeekDay.html +++ /dev/null @@ -1,680 +0,0 @@ - - - - - - - -WeekDay (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class WeekDay

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.WeekDay
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class WeekDay
    extends Object
    implements Serializable
    - - -

    -$Id$ - - Created: 19/12/2004 - - Defines a day of the week with a possible offset related to - a MONTHLY or YEARLY occurrence. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static WeekDayFR - -
    -          Friday.
    -static WeekDayMO - -
    -          Monday.
    -static WeekDaySA - -
    -          Saturday.
    -static WeekDaySU - -
    -          Sunday.
    -static WeekDayTH - -
    -          Thursday.
    -static WeekDayTU - -
    -          Tuesday.
    -static WeekDayWE - -
    -          Wednesday.
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    WeekDay(String value) - -
    -           
    WeekDay(WeekDay weekDay, - int offset) - -
    -          Constructs a new weekday instance based on the specified - instance and offset.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanequals(Object arg0) - -
    -          
    -static intgetCalendarDay(WeekDay weekday) - -
    -          Returns the corresponding java.util.Calendar.DAY_OF_WEEK - constant for the specified WeekDay.
    - StringgetDay() - -
    -           
    -static WeekDaygetDay(int calDay) - -
    -          Returns the corresponding day constant to the specified - java.util.Calendar.DAY_OF_WEEK property.
    -static WeekDaygetMonthlyOffset(Calendar cal) - -
    -          Returns a weekday/offset representation of the specified calendar.
    -static WeekDaygetNegativeMonthlyOffset(Calendar cal) - -
    -          Returns a weekday/negative offset representation of the specified calendar.
    - intgetOffset() - -
    -           
    -static WeekDaygetWeekDay(Calendar cal) - -
    -          Returns a weekday representation of the specified calendar.
    - inthashCode() - -
    -          
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -SU

    -
    -public static final WeekDay SU
    -
    -
    Sunday. -

    -

    -
    -
    -
    - -

    -MO

    -
    -public static final WeekDay MO
    -
    -
    Monday. -

    -

    -
    -
    -
    - -

    -TU

    -
    -public static final WeekDay TU
    -
    -
    Tuesday. -

    -

    -
    -
    -
    - -

    -WE

    -
    -public static final WeekDay WE
    -
    -
    Wednesday. -

    -

    -
    -
    -
    - -

    -TH

    -
    -public static final WeekDay TH
    -
    -
    Thursday. -

    -

    -
    -
    -
    - -

    -FR

    -
    -public static final WeekDay FR
    -
    -
    Friday. -

    -

    -
    -
    -
    - -

    -SA

    -
    -public static final WeekDay SA
    -
    -
    Saturday. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -WeekDay

    -
    -public WeekDay(String value)
    -
    -
    -
    Parameters:
    value - a string representation of a week day
    -
    -
    - -

    -WeekDay

    -
    -public WeekDay(WeekDay weekDay,
    -               int offset)
    -
    -
    Constructs a new weekday instance based on the specified - instance and offset. -

    -

    -
    Parameters:
    weekDay - a week day template for the instance
    offset - a month offset value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDay

    -
    -public final String getDay()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the day.
    -
    -
    -
    - -

    -getOffset

    -
    -public final int getOffset()
    -
    -
    -
    -
    -
    - -
    Returns:
    Returns the offset.
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Object
    -
    -
    -
    -
    -
    -
    - -

    -getWeekDay

    -
    -public static final WeekDay getWeekDay(Calendar cal)
    -
    -
    Returns a weekday representation of the specified calendar. -

    -

    -
    -
    -
    -
    Parameters:
    cal - a calendar (java.util) -
    Returns:
    a weekday instance representing the specified calendar
    -
    -
    -
    - -

    -getMonthlyOffset

    -
    -public static final WeekDay getMonthlyOffset(Calendar cal)
    -
    -
    Returns a weekday/offset representation of the specified calendar. -

    -

    -
    -
    -
    -
    Parameters:
    cal - a calendar (java.util) -
    Returns:
    a weekday instance representing the specified calendar
    -
    -
    -
    - -

    -getNegativeMonthlyOffset

    -
    -public static final WeekDay getNegativeMonthlyOffset(Calendar cal)
    -
    -
    Returns a weekday/negative offset representation of the specified calendar. -

    -

    -
    -
    -
    -
    Parameters:
    cal - a calendar (java.util) -
    Returns:
    a weekday instance representing the specified calendar
    -
    -
    -
    - -

    -getDay

    -
    -public static WeekDay getDay(int calDay)
    -
    -
    Returns the corresponding day constant to the specified - java.util.Calendar.DAY_OF_WEEK property. -

    -

    -
    -
    -
    -
    Parameters:
    calDay - a property value of java.util.Calendar.DAY_OF_WEEK -
    Returns:
    a string, or null if an invalid DAY_OF_WEEK property is - specified
    -
    -
    -
    - -

    -getCalendarDay

    -
    -public static int getCalendarDay(WeekDay weekday)
    -
    -
    Returns the corresponding java.util.Calendar.DAY_OF_WEEK - constant for the specified WeekDay. -

    -

    -
    -
    -
    -
    Parameters:
    weekday - a week day instance -
    Returns:
    the corresponding java.util.Calendar day
    -
    -
    -
    - -

    -equals

    -
    -public final boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Object
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public final int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Object
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/WeekDayList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/WeekDayList.html deleted file mode 100644 index 4f979576..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/WeekDayList.html +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - - -WeekDayList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model -
    -Class WeekDayList

    -
    -java.lang.Object
    -  extended by java.util.AbstractCollection<E>
    -      extended by java.util.AbstractList<E>
    -          extended by java.util.ArrayList
    -              extended by net.fortuna.ical4j.model.WeekDayList
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Cloneable, Iterable, Collection, List, RandomAccess
    -
    -
    -
    -
    public class WeekDayList
    extends ArrayList
    implements Serializable
    - - -

    -$Id$ [29-May-2004] - - Defines a list of days. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class java.util.AbstractList
    modCount
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    WeekDayList() - -
    -          Default constructor.
    WeekDayList(int initialCapacity) - -
    -          Creates a new instance with the specified initial capacity.
    WeekDayList(String aString) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - booleanadd(Object weekday) - -
    -          Overrides superclass to throw an IllegalArgumentException - where argument is not a net.fortuna.ical4j.model.WeekDay.
    - booleanadd(WeekDay weekDay) - -
    -           
    - booleanremove(WeekDay weekDay) - -
    -           
    - StringtoString() - -
    -          
    - - - - - - - -
    Methods inherited from class java.util.ArrayList
    add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeRange, retainAll, set, size, subList, toArray, toArray, trimToSize
    - - - - - - - -
    Methods inherited from class java.util.AbstractList
    equals, hashCode
    - - - - - - - -
    Methods inherited from class java.util.AbstractCollection
    containsAll
    - - - - - - - -
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    - - - - - - - -
    Methods inherited from interface java.util.List
    containsAll, equals, hashCode
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -WeekDayList

    -
    -public WeekDayList()
    -
    -
    Default constructor. -

    -

    -
    - -

    -WeekDayList

    -
    -public WeekDayList(int initialCapacity)
    -
    -
    Creates a new instance with the specified initial capacity. -

    -

    -
    Parameters:
    initialCapacity - the initial capacity of the list
    -
    -
    - -

    -WeekDayList

    -
    -public WeekDayList(String aString)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    aString - a string representation of a day list
    -
    - - - - - - - - -
    -Method Detail
    - -

    -add

    -
    -public final boolean add(WeekDay weekDay)
    -
    -
    -
    -
    -
    -
    Parameters:
    weekDay - a day to add to the list -
    Returns:
    true if the week day is added, otherwise false
    -
    -
    -
    - -

    -add

    -
    -public final boolean add(Object weekday)
    -
    -
    Overrides superclass to throw an IllegalArgumentException - where argument is not a net.fortuna.ical4j.model.WeekDay. -

    -

    -
    Specified by:
    add in interface Collection
    Specified by:
    add in interface List
    Overrides:
    add in class ArrayList
    -
    -
    -
    Parameters:
    weekday - a week day to add -
    Returns:
    true if the week day is added, otherwise false
    See Also:
    List#add(E)
    -
    -
    -
    - -

    -remove

    -
    -public final boolean remove(WeekDay weekDay)
    -
    -
    -
    -
    -
    -
    Parameters:
    weekDay - a day to remove from the list -
    Returns:
    true if the week day is removed, otherwise false
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class AbstractCollection
    -
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/AbstractContentFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/AbstractContentFactory.html deleted file mode 100644 index d696b5f8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/AbstractContentFactory.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.AbstractContentFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.AbstractContentFactory

    -
    - - - - - - - - - -
    -Packages that use AbstractContentFactory
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of AbstractContentFactory in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of AbstractContentFactory in net.fortuna.ical4j.model
    - classParameterFactoryImpl - -
    -          A factory for creating iCalendar parameters.
    - classParameterFactoryRegistry - -
    -           
    - classPropertyFactoryImpl - -
    -          A factory for creating iCalendar properties.
    - classPropertyFactoryRegistry - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/AddressList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/AddressList.html deleted file mode 100644 index 8f3f6e19..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/AddressList.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.AddressList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.AddressList

    -
    - - - - - - - - - -
    -Packages that use AddressList
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of AddressList in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.parameter that return AddressList
    - AddressListDelegatedTo.getDelegatees() - -
    -           
    - AddressListDelegatedFrom.getDelegators() - -
    -           
    - AddressListMember.getGroups() - -
    -           
    -  -

    - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.parameter with parameters of type AddressList
    DelegatedFrom(AddressList aList) - -
    -           
    DelegatedTo(AddressList aList) - -
    -           
    Member(AddressList aList) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Calendar.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Calendar.html deleted file mode 100644 index 04b61fb1..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Calendar.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Calendar (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Calendar

    -
    - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use Calendar
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.transformContains types used to transform an iCalendar component model according to RFC2446. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of Calendar in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - -
    Fields in net.fortuna.ical4j.data declared as Calendar
    -protected  CalendarCalendarBuilder.calendar - -
    -          The calendar instance created by the builder.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.data that return Calendar
    - CalendarCalendarBuilder.build(InputStream in) - -
    -          Builds an iCalendar model from the specified input stream.
    - CalendarCalendarBuilder.build(Reader in) - -
    -          Builds an iCalendar model from the specified reader.
    - CalendarCalendarBuilder.build(UnfoldingReader uin) - -
    -          Build an iCalendar model by parsing data from the specified reader.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.data with parameters of type Calendar
    - voidCalendarOutputter.output(Calendar calendar, - OutputStream out) - -
    -          Outputs an iCalender string to the specified output stream.
    - voidCalendarOutputter.output(Calendar calendar, - Writer out) - -
    -          Outputs an iCalender string to the specified writer.
    -  -

    - - - - - -
    -Uses of Calendar in net.fortuna.ical4j.model
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type Calendar
    Calendar(Calendar c) - -
    -          Creates a deep copy of the specified calendar.
    -  -

    - - - - - -
    -Uses of Calendar in net.fortuna.ical4j.transform
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.transform that return Calendar
    - CalendarPublishTransformer.transform(Calendar calendar) - -
    -          Transforms the specified calendar according to the implementation of this method.
    -abstract  CalendarTransformer.transform(Calendar calendar) - -
    -          Transforms the specified calendar according to the implementation of this method.
    - CalendarTransformer.transform(Component component) - -
    -          Transforms the specified component according to the transformer implementation.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.transform with parameters of type Calendar
    - CalendarPublishTransformer.transform(Calendar calendar) - -
    -          Transforms the specified calendar according to the implementation of this method.
    -abstract  CalendarTransformer.transform(Calendar calendar) - -
    -          Transforms the specified calendar according to the implementation of this method.
    -  -

    - - - - - -
    -Uses of Calendar in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that return Calendar
    -static CalendarCalendars.load(String filename) - -
    -          Loads a calendar from the specified file.
    -static CalendarCalendars.load(URL url) - -
    -          Loads a calendar from the specified URL.
    -static CalendarCalendars.merge(Calendar c1, - Calendar c2) - -
    -          Merge all properties and components from two specified calendars into one instance.
    -static Calendar[]Calendars.split(Calendar calendar) - -
    -          Splits a calendar object into distinct calendar objects for unique - identifers (UID).
    -static CalendarCalendars.wrap(Component component) - -
    -          Wraps a component in a calendar.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type Calendar
    -static StringCalendars.getContentType(Calendar calendar, - Charset charset) - -
    -          Returns an appropriate MIME Content-Type for the specified calendar object.
    -static UidCalendars.getUid(Calendar calendar) - -
    -          Returns a unique identifier as specified by components in the provided calendar.
    -static CalendarCalendars.merge(Calendar c1, - Calendar c2) - -
    -          Merge all properties and components from two specified calendars into one instance.
    -static Calendar[]Calendars.split(Calendar calendar) - -
    -          Splits a calendar object into distinct calendar objects for unique - identifers (UID).
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarDateFormatFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarDateFormatFactory.html deleted file mode 100644 index 03c5cb6e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarDateFormatFactory.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.CalendarDateFormatFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.CalendarDateFormatFactory

    -
    -No usage of net.fortuna.ical4j.model.CalendarDateFormatFactory -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarException.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarException.html deleted file mode 100644 index cc24d113..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarException.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.CalendarException (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.CalendarException

    -
    -No usage of net.fortuna.ical4j.model.CalendarException -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Component.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Component.html deleted file mode 100644 index 2647a373..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Component.html +++ /dev/null @@ -1,594 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Component (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Component

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use Component
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.transformContains types used to transform an iCalendar component model according to RFC2446. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of Component in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.data declared as Component
    -protected  ComponentCalendarBuilder.component - -
    -          The current component instance created by the builder.
    -protected  ComponentCalendarBuilder.subComponent - -
    -          The current sub-component instance created by the builder.
    -  -

    - - - - - -
    -Uses of Component in net.fortuna.ical4j.filter
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.filter with parameters of type Component
    -abstract  booleanComponentRule.match(Component component) - -
    -           
    - booleanHasPropertyRule.match(Component component) - -
    -          
    - booleanPeriodRule.match(Component component) - -
    -          
    -  -

    - - - - - -
    -Uses of Component in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Component
    - ComponentComponent.copy() - -
    -          Create a (deep) copy of this component.
    - ComponentComponentFactory.createComponent(String name) - -
    -           
    - ComponentComponentFactory.createComponent(String name, - PropertyList properties) - -
    -          Creates a component.
    - ComponentComponentFactory.createComponent(String name, - PropertyList properties, - ComponentList components) - -
    -          Creates a component which contains sub-components.
    - ComponentIndexedComponentList.getComponent(String propertyValue) - -
    -          Returns the first component containing a property with the specified - value.
    - ComponentComponentList.getComponent(String aName) - -
    -          Returns the first component of specified name.
    - ComponentCalendar.getComponent(String name) - -
    -          Convenience method for retrieving a named component.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type Component
    - booleanComponentList.add(Component component) - -
    -          Add a component to the list.
    - booleanComponentList.remove(Component component) - -
    -          Remove a component from the list.
    -  -

    - - - - - -
    -Uses of Component in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of Component in net.fortuna.ical4j.model.component
    - classAvailable - -
    -          $Id$ [05-Apr-2004] - - Defines an iCalendar Available component.
    - classCalendarComponent - -
    -          $Id$ - - Created on 26/02/2006 - - Base class for components that may be added to a calendar.
    - classDaylight - -
    -          $Id$ [05-Apr-2004] - - Defines an iCalendar daylight savings timezone observance component.
    - classObservance - -
    -          $Id$ [05-Apr-2004] - - Defines an iCalendar sub-component representing a timezone observance.
    - classStandard - -
    -          $Id$ [05-Apr-2004] - - Defines an iCalendar standard timezone observance component.
    - classVAlarm - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VALARM component.
    - classVAvailability - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VAVAILABILITY component.
    - classVEvent - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VEVENT component.
    - classVFreeBusy - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VFREEBUSY component.
    - classVJournal - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VJOURNAL component.
    - classVTimeZone - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VTIMEZONE component.
    - classVToDo - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VTODO component.
    - classVVenue - -
    -          $Id $ [Apr 5, 2004] - - Defines an iCalendar VVENUE component.
    - classXComponent - -
    -          $Id$ - - Created on 3/11/2005 - - Implementation of an experimental component as defined in RFC2445.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Component
    - ComponentVEvent.copy() - -
    -          Overrides default copy method to add support for copying alarm sub-components.
    - ComponentVToDo.copy() - -
    -          Overrides default copy method to add support for copying alarm sub-components.
    - ComponentVTimeZone.copy() - -
    -          Overrides default copy method to add support for copying observance sub-components.
    -  -

    - - - - - -
    -Uses of Component in net.fortuna.ical4j.transform
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.transform with parameters of type Component
    - CalendarTransformer.transform(Component component) - -
    -          Transforms the specified component according to the transformer implementation.
    -  -

    - - - - - -
    -Uses of Component in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type Component
    -static CalendarCalendars.wrap(Component component) - -
    -          Wraps a component in a calendar.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentFactory.html deleted file mode 100644 index 0f9d1487..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentFactory.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.ComponentFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.ComponentFactory

    -
    - - - - - - - - - -
    -Packages that use ComponentFactory
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of ComponentFactory in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return ComponentFactory
    -static ComponentFactoryComponentFactory.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentList.html deleted file mode 100644 index 79844d71..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentList.html +++ /dev/null @@ -1,393 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.ComponentList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.ComponentList

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use ComponentList
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of ComponentList in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return ComponentList
    - ComponentListCalendar.getComponents() - -
    -           
    - ComponentListIndexedComponentList.getComponents(String propertyValue) - -
    -          Returns a list of components containing a property with the - specified value.
    - ComponentListComponentList.getComponents(String name) - -
    -          Returns a list containing all components with specified name.
    - ComponentListCalendar.getComponents(String name) - -
    -          Convenience method for retrieving a list of named components.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type ComponentList
    - ComponentComponentFactory.createComponent(String name, - PropertyList properties, - ComponentList components) - -
    -          Creates a component which contains sub-components.
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type ComponentList
    Calendar(ComponentList components) - -
    -          Constructs a new calendar with no properties and the specified components.
    Calendar(PropertyList p, - ComponentList c) - -
    -          Constructor.
    ComponentList(ComponentList components) - -
    -          Creates a deep copy of the specified component list.
    IndexedComponentList(ComponentList list, - String propertyName) - -
    -          Creates a new instance indexed on properties with the specified name.
    -  -

    - - - - - -
    -Uses of ComponentList in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return ComponentList
    - ComponentListVEvent.getAlarms() - -
    -          Returns the list of alarms for this event.
    - ComponentListVToDo.getAlarms() - -
    -          Returns the list of alarms for this todo.
    - ComponentListVAvailability.getAvailable() - -
    -          Returns the list of available times.
    - ComponentListVTimeZone.getObservances() - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.component with parameters of type ComponentList
    VAvailability(PropertyList properties, - ComponentList available) - -
    -          Constructor.
    VEvent(PropertyList properties, - ComponentList alarms) - -
    -          Constructor.
    VFreeBusy(VFreeBusy request, - ComponentList components) - -
    -          Constructs a new VFreeBusy instance representing a reply to the specified VFREEBUSY request according to the - specified list of components.
    VTimeZone(ComponentList observances) - -
    -          Constructs a new vtimezone component with no properties and the specified list of type components.
    VTimeZone(PropertyList properties, - ComponentList observances) - -
    -          Constructor.
    -  -

    - - - - - -
    -Uses of ComponentList in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type ComponentList
    -static voidComponentValidator.assertNone(String componentName, - ComponentList components) - -
    -           
    -static voidComponentValidator.assertOneOrLess(String componentName, - ComponentList components) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ConstraintViolationException.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ConstraintViolationException.html deleted file mode 100644 index c6d116f0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ConstraintViolationException.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.ConstraintViolationException (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.ConstraintViolationException

    -
    - - - - - - - - - -
    -Packages that use ConstraintViolationException
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of ConstraintViolationException in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that throw ConstraintViolationException
    -static UidCalendars.getUid(Calendar calendar) - -
    -          Returns a unique identifier as specified by components in the provided calendar.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Content.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Content.html deleted file mode 100644 index 86c43c01..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Content.html +++ /dev/null @@ -1,1207 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Content (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Content

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Content
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Content in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - -
    Subclasses of Content in net.fortuna.ical4j.model
    - classParameter - -
    -          Defines an iCalendar parameter.
    - classProperty - -
    -          Defines an iCalendar property.
    -  -

    - - - - - -
    -Uses of Content in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of Content in net.fortuna.ical4j.model.parameter
    - classAbbrev - -
    -          $Id$ [18-Apr-2004] - - Defines an Abbreviation parameter.
    - classAltRep - -
    -          $Id$ [18-Apr-2004] - - Defines an Alternate Text Representation parameter.
    - classCn - -
    -          $Id$ [18-Apr-2004] - - Defines a Common Name parameter.
    - classCuType - -
    -          $Id$ [18-Apr-2004] - - Defines a Calendar User Type.
    - classDelegatedFrom - -
    -          $Id$ [18-Apr-2004] - - Defines a Delegators parameter.
    - classDelegatedTo - -
    -          $Id$ [18-Apr-2004] - - Defines a Delegatees parameter.
    - classDir - -
    -          $Id$ [18-Apr-2004] - - Defines a Directory Entry Reference parameter.
    - classEncoding - -
    -          $Id$ [18-Apr-2004] - - Defines an Inline Encoding parameter.
    - classFbType - -
    -          $Id$ [18-Apr-2004] - - Defines a Free/Busy Time Type parameter.
    - classFmtType - -
    -          $Id$ [18-Apr-2004] - - Defines a Format Type parameter.
    - classLanguage - -
    -          $Id$ [18-Apr-2004] - - Defines a Language parameter.
    - classMember - -
    -          $Id$ [18-Apr-2004] - - Defines a Group or List Membership parameter.
    - classPartStat - -
    -          $Id$ [18-Apr-2004] - - Defines a Participation Status parameter.
    - classRange - -
    -          $Id$ [18-Apr-2004] - - Defines a Recurrence Identifier Range parameter.
    - classRelated - -
    -          $Id$ [18-Apr-2004] - - Defines an Alarm Trigger Relationship parameter.
    - classRelType - -
    -          $Id$ [18-Apr-2004] - - Defines a Relationship Type parameter.
    - classRole - -
    -          $Id$ [18-Apr-2004] - - Defines a Participation Role parameter.
    - classRsvp - -
    -          $Id$ [18-Apr-2004] - - Defines an RSVP parameter.
    - classScheduleAgent - -
    -          Defines the scheduling agent for CalDAV scheduling.
    - classScheduleStatus - -
    -          Defines the scheduling status for CalDAV scheduling.
    - classSentBy - -
    -          $Id$ [18-Apr-2004] - - Defines a Sent By parameter.
    - classType - -
    -          $Id$ [18-Apr-2004] - - Defines a Type parameter.
    - classTzId - -
    -          $Id$ [18-Apr-2004] - - Defines a Time Zone Identifier parameter.
    - classValue - -
    -          $Id$ [18-Apr-2004] - - Defines a Value Data Type parameter.
    - classVvenue - -
    -          $Id$ [18-Apr-2004] - - Defines a Vvenue parameter.
    - classXParameter - -
    -          $Id$ [15/06/2004] - - Defines an extension parameter.
    -  -

    - - - - - -
    -Uses of Content in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of Content in net.fortuna.ical4j.model.property
    - classAction - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ACTION iCalendar component property.
    - classAttach - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ATTACH iCalendar component property.
    - classAttendee - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ATTENDEE iCalendar component property.
    - classBusyType - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a BUSYTYPE iCalendar component property.
    - classCalScale - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CALSCALE iCalendar property.
    - classCategories - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CATEGORIES iCalendar component property.
    - classClazz - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CLASS iCalendar property.
    - classComment - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a COMMENT iCalendar component property.
    - classCompleted - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a COMPLETED iCalendar component property.
    - classContact - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CONTACT iCalendar component property.
    - classCountry - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    - classCreated - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CREATED iCalendar component property.
    - classDateListProperty - -
    -          $Id$ - - Created on 11/08/2005 - - Base class for properties with a list of dates as a value.
    - classDateProperty - -
    -          $Id$ - - Created on 9/07/2005 - - Base class for properties with a DATE or DATE-TIME value.
    - classDescription - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DESCRIPTION iCalendar component property.
    - classDtEnd - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTEND iCalendar component property.
    - classDtStamp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTAMP iCalendar component property.
    - classDtStart - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTART iCalendar component property.
    - classDue - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DUE iCalendar component property.
    - classDuration - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DURATION iCalendar component property.
    - classExDate - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a EXDATE iCalendar component property.
    - classExRule - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a EXRULE iCalendar component property.
    - classExtendedAddress - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a EXTENDED_ADDRESS iCalendar component property.
    - classFreeBusy - -
    -          $Id$ - - Created: [Apr 14, 2004] - - Defines a FREEBUSY iCalendar component property.
    - classGeo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a GEO iCalendar component property.
    - classLastModified - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LAST-MODIFIED iCalendar component property.
    - classLocality - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCALITY iCalendar component property.
    - classLocation - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION iCalendar component property.
    - classLocationType - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION_TYPE iCalendar component property.
    - classMethod - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a METHOD iCalendar property.
    - className - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a NAME iCalendar component property.
    - classOrganizer - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ORGANIZER iCalendar component property.
    - classPercentComplete - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PERCENT-COMPLETE iCalendar component property.
    - classPostalcode - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a POSTALCODE iCalendar component property.
    - classPriority - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PRIORITY iCalendar component property.
    - classProdId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PRODID iCalendar property.
    - classRDate - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an RDATE iCalendar component property.
    - classRecurrenceId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RECURRENCE-ID iCalendar component property.
    - classRegion - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    - classRelatedTo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RELATED-TO iCalendar component property.
    - classRepeat - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REPEAT iCalendar component property.
    - classRequestStatus - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REQUEST-STATUS iCalendar component property.
    - classResources - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RESOURCES iCalendar component property.
    - classRRule - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an RRULE iCalendar component property.
    - classSequence - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a SEQUENCE iCalendar component property.
    - classStatus - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a STATUS iCalendar component property.
    - classStreetAddress - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a STREET_ADDRESS iCalendar component property.
    - classSummary - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a SUMMARY iCalendar component property.
    - classTel - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TEL iCalendar component property.
    - classTransp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRANSP iCalendar component property.
    - classTrigger - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRIGGER iCalendar component property.
    - classTzName - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZNAME iCalendar component property.
    - classTzOffsetFrom - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETFROM iCalendar component property.
    - classTzOffsetTo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETTO iCalendar component property.
    - classTzUrl - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZURL iCalendar component property.
    - classUid - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a UID iCalendar component property.
    - classUrl - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a URL iCalendar component property.
    - classUtcProperty - -
    -          $Id$ - - Created on 8/08/2005 - - Superclass for all properties with date-time values that must be specified in UTC time.
    - classVersion - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a VERSION iCalendar property.
    - classXProperty - -
    -          $Id$ - - Created: [15/06/2004] - - Defines an extension property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Date.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Date.html deleted file mode 100644 index 890a295d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Date.html +++ /dev/null @@ -1,620 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Date (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Date

    -
    - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use Date
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of Date in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Subclasses of Date in net.fortuna.ical4j.model
    - classDateTime - -
    -          $Id$ - - Created on 26/06/2005 - - Represents a time of day on a specific date.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Date
    - DateRecur.getNextDate(Date seed, - Date startDate) - -
    -          Returns the the next date of this recurrence given a seed date - and start date.
    - DateRecur.getUntil() - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type Date
    - booleanDateList.add(Date date) - -
    -          Add a date to the list.
    - DateListRecur.getDates(Date seed, - Date periodStart, - Date periodEnd, - Value value) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date seed, - Date periodStart, - Date periodEnd, - Value value, - int maxCount) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date periodStart, - Date periodEnd, - Value value) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date seed, - Period period, - Value value) - -
    -          Convenience method for retrieving recurrences in a specified period.
    - DateRecur.getNextDate(Date seed, - Date startDate) - -
    -          Returns the the next date of this recurrence given a seed date - and start date.
    - booleanDateList.remove(Date date) - -
    -          Remove a date from the list.
    - voidRecur.setUntil(Date until) - -
    -           
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type Date
    Recur(String frequency, - Date until) - -
    -           
    -  -

    - - - - - -
    -Uses of Date in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Date
    - DateObservance.getLatestOnset(Date date) - -
    -          Returns the latest applicable onset of this observance for the specified date.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component with parameters of type Date
    - ObservanceVTimeZone.getApplicableObservance(Date date) - -
    -          Returns the latest applicable timezone observance for the specified date.
    - PeriodListVEvent.getConsumedTime(Date rangeStart, - Date rangeEnd) - -
    -          Returns a normalised list of periods representing the consumed time for this event.
    - PeriodListVEvent.getConsumedTime(Date rangeStart, - Date rangeEnd, - boolean normalise) - -
    -          Returns a list of periods representing the consumed time for this event in the specified range.
    - DateObservance.getLatestOnset(Date date) - -
    -          Returns the latest applicable onset of this observance for the specified date.
    - VEventVEvent.getOccurrence(Date date) - -
    -          Returns a single occurrence of a recurring event.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.component with parameters of type Date
    VEvent(Date start, - Date end, - String summary) - -
    -          Constructs a new VEVENT instance starting and ending at the specified times with the specified summary.
    VEvent(Date start, - Dur duration, - String summary) - -
    -          Constructs a new VEVENT instance starting at the specified times, for the specified duration, with the specified - summary.
    VEvent(Date start, - String summary) - -
    -          Constructs a new VEVENT instance starting at the specified time with the specified summary.
    VJournal(Date start, - String summary) - -
    -          Constructs a new VJOURNAL instance associated with the specified time with the specified summary.
    VToDo(Date start, - Date due, - String summary) - -
    -          Constructs a new VTODO instance starting and ending at the specified times with the specified summary.
    VToDo(Date start, - Dur duration, - String summary) - -
    -          Constructs a new VTODO instance starting at the specified times, for the specified duration, with the specified - summary.
    VToDo(Date start, - String summary) - -
    -          Constructs a new VTODO instance starting at the specified time with the specified summary.
    -  -

    - - - - - -
    -Uses of Date in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return Date
    - DateDateProperty.getDate() - -
    -           
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property with parameters of type Date
    - voidDateProperty.setDate(Date date) - -
    -          Sets the date value of this property.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type Date
    DtEnd(Date aDate) - -
    -          Constructor.
    DtEnd(Date time, - boolean utc) - -
    -          Constructs a new DtEnd with the specified time.
    DtEnd(ParameterList aList, - Date aDate) - -
    -          Constructor.
    DtStart(Date aDate) - -
    -          Constructor.
    DtStart(Date time, - boolean utc) - -
    -          Constructs a new DtStart with the specified time.
    DtStart(ParameterList aList, - Date aDate) - -
    -          Constructor.
    Due(Date aDate) - -
    -          Constructor.
    Due(ParameterList aList, - Date aDate) - -
    -          Constructor.
    RecurrenceId(Date aDate) - -
    -          Constructor.
    RecurrenceId(ParameterList aList, - Date aDate) - -
    -          Constructor.
    -  -

    - - - - - -
    -Uses of Date in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that return Date
    -static DateDates.getInstance(Date date, - Value type) - -
    -          Returns a new date instance of the specified type.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type Date
    -static CalendarDates.getCalendarInstance(Date date) - -
    -          Returns an instance of java.util.Calendar that is suitably - initialised for working with the specified date.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateList.html deleted file mode 100644 index dd6fa681..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateList.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.DateList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.DateList

    -
    - - - - - - - - - - - - - -
    -Packages that use DateList
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of DateList in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return DateList
    - DateListRecur.getDates(Date seed, - Date periodStart, - Date periodEnd, - Value value) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date seed, - Date periodStart, - Date periodEnd, - Value value, - int maxCount) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date periodStart, - Date periodEnd, - Value value) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date seed, - Period period, - Value value) - -
    -          Convenience method for retrieving recurrences in a specified period.
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type DateList
    DateList(DateList list, - Value type) - -
    -          Constructs a new date list of the specified type containing - the dates in the specified list.
    -  -

    - - - - - -
    -Uses of DateList in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return DateList
    - DateListDateListProperty.getDates() - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type DateList
    DateListProperty(String name, - DateList dates, - PropertyFactory factory) - -
    -           
    DateListProperty(String name, - ParameterList parameters, - DateList dates, - PropertyFactory factory) - -
    -           
    ExDate(DateList dList) - -
    -           
    ExDate(ParameterList aList, - DateList dList) - -
    -           
    RDate(DateList dates) - -
    -          Constructor.
    RDate(ParameterList aList, - DateList dates) - -
    -          Constructor.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateRange.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateRange.html deleted file mode 100644 index 19a5c5c0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateRange.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.DateRange (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.DateRange

    -
    - - - - - - - - - - - - - -
    -Packages that use DateRange
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of DateRange in net.fortuna.ical4j.filter
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.filter with parameters of type DateRange
    DateInRangeRule(DateRange range, - int inclusiveMask) - -
    -           
    -  -

    - - - - - -
    -Uses of DateRange in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Subclasses of DateRange in net.fortuna.ical4j.model
    - classPeriod - -
    -          $Id$ [Apr 14, 2004] - - Defines a period of time.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type DateRange
    - booleanDateRange.adjacent(DateRange range) - -
    -          Decides whether these periods are serial without a gap.
    - booleanDateRange.after(DateRange range) - -
    -          Decides whether this period starts after the given period ends.
    - booleanDateRange.before(DateRange range) - -
    -          Decides whether this period is completed before the given period starts.
    - booleanDateRange.contains(DateRange range) - -
    -          Decides whether the given period is completely contained within this one.
    - booleanDateRange.intersects(DateRange range) - -
    -          Decides whether this period intersects with another one.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateTime.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateTime.html deleted file mode 100644 index 11a1ba21..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DateTime.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.DateTime (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.DateTime

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use DateTime
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of DateTime in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return DateTime
    - DateTimePeriod.getEnd() - -
    -          Returns the end date of this period.
    - DateTimePeriod.getStart() - -
    -           
    -  -

    - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type DateTime
    Period(DateTime start, - DateTime end) - -
    -          Constructs a new period with the specied start and end date.
    Period(DateTime start, - Dur duration) - -
    -          Constructs a new period with the specified start date and duration.
    -  -

    - - - - - -
    -Uses of DateTime in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.component with parameters of type DateTime
    VAlarm(DateTime trigger) - -
    -          Constructs a new VALARM instance that will trigger at the specified time.
    VFreeBusy(DateTime start, - DateTime end) - -
    -          Constructs a new VFreeBusy instance with the specified start and end boundaries.
    VFreeBusy(DateTime start, - DateTime end, - Dur duration) - -
    -          Constructs a new VFreeBusy instance with the specified start and end boundaries.
    -  -

    - - - - - -
    -Uses of DateTime in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return DateTime
    - DateTimeUtcProperty.getDateTime() - -
    -           
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property with parameters of type DateTime
    - voidUtcProperty.setDateTime(DateTime dateTime) - -
    -           
    - voidTrigger.setDateTime(DateTime dateTime) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type DateTime
    Completed(DateTime aDate) - -
    -           
    Completed(ParameterList aList, - DateTime aDate) - -
    -           
    Created(DateTime aDate) - -
    -           
    Created(ParameterList aList, - DateTime aDate) - -
    -           
    DtStamp(DateTime aDate) - -
    -           
    DtStamp(ParameterList aList, - DateTime aDate) - -
    -           
    LastModified(DateTime aDate) - -
    -           
    LastModified(ParameterList aList, - DateTime aDate) - -
    -           
    Trigger(DateTime dateTime) - -
    -           
    Trigger(ParameterList aList, - DateTime dateTime) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DefaultTimeZoneRegistryFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DefaultTimeZoneRegistryFactory.html deleted file mode 100644 index d03faf24..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/DefaultTimeZoneRegistryFactory.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory

    -
    -No usage of net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Dur.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Dur.html deleted file mode 100644 index 427b9e4f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Dur.html +++ /dev/null @@ -1,384 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Dur (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Dur

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Dur
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Dur in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Dur
    - DurDur.add(Dur duration) - -
    -          Add two durations.
    - DurPeriod.getDuration() - -
    -          Returns the duration of this period.
    - DurDur.negate() - -
    -          Provides a negation of this instance.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type Dur
    - DurDur.add(Dur duration) - -
    -          Add two durations.
    - intDur.compareTo(Dur arg0) - -
    -          Compares this duration with another, acording to their length.
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type Dur
    Period(DateTime start, - Dur duration) - -
    -          Constructs a new period with the specified start date and duration.
    -  -

    - - - - - -
    -Uses of Dur in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.component with parameters of type Dur
    VAlarm(Dur trigger) - -
    -          Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component.
    VEvent(Date start, - Dur duration, - String summary) - -
    -          Constructs a new VEVENT instance starting at the specified times, for the specified duration, with the specified - summary.
    VFreeBusy(DateTime start, - DateTime end, - Dur duration) - -
    -          Constructs a new VFreeBusy instance with the specified start and end boundaries.
    VToDo(Date start, - Dur duration, - String summary) - -
    -          Constructs a new VTODO instance starting at the specified times, for the specified duration, with the specified - summary.
    -  -

    - - - - - -
    -Uses of Dur in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return Dur
    - DurTrigger.getDuration() - -
    -           
    - DurDuration.getDuration() - -
    -           
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property with parameters of type Dur
    - voidTrigger.setDuration(Dur duration) - -
    -           
    - voidDuration.setDuration(Dur duration) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type Dur
    Duration(Dur duration) - -
    -           
    Duration(ParameterList aList, - Dur duration) - -
    -           
    Trigger(Dur duration) - -
    -           
    Trigger(ParameterList aList, - Dur duration) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Escapable.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Escapable.html deleted file mode 100644 index b7aa90c7..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Escapable.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.model.Escapable (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.model.Escapable

    -
    - - - - - - - - - - - - - -
    -Packages that use Escapable
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Escapable in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - -
    Classes in net.fortuna.ical4j.model.parameter that implement Escapable
    - classTzId - -
    -          $Id$ [18-Apr-2004] - - Defines a Time Zone Identifier parameter.
    -  -

    - - - - - -
    -Uses of Escapable in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Classes in net.fortuna.ical4j.model.property that implement Escapable
    - classComment - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a COMMENT iCalendar component property.
    - classContact - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CONTACT iCalendar component property.
    - classCountry - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    - classDescription - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DESCRIPTION iCalendar component property.
    - classExtendedAddress - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a EXTENDED_ADDRESS iCalendar component property.
    - classLocality - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCALITY iCalendar component property.
    - classLocation - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION iCalendar component property.
    - className - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a NAME iCalendar component property.
    - classPostalcode - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a POSTALCODE iCalendar component property.
    - classProdId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PRODID iCalendar property.
    - classRegion - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    - classRelatedTo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RELATED-TO iCalendar component property.
    - classStreetAddress - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a STREET_ADDRESS iCalendar component property.
    - classSummary - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a SUMMARY iCalendar component property.
    - classTel - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TEL iCalendar component property.
    - classTzName - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZNAME iCalendar component property.
    - classUid - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a UID iCalendar component property.
    - classXProperty - -
    -          $Id$ - - Created: [15/06/2004] - - Defines an extension property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedComponentList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedComponentList.html deleted file mode 100644 index 9cb427e8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedComponentList.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.IndexedComponentList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.IndexedComponentList

    -
    -No usage of net.fortuna.ical4j.model.IndexedComponentList -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedPropertyList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedPropertyList.html deleted file mode 100644 index 592e977a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedPropertyList.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.IndexedPropertyList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.IndexedPropertyList

    -
    -No usage of net.fortuna.ical4j.model.IndexedPropertyList -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Iso8601.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Iso8601.html deleted file mode 100644 index 0d739e28..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Iso8601.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Iso8601 (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Iso8601

    -
    - - - - - - - - - -
    -Packages that use Iso8601
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of Iso8601 in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - -
    Subclasses of Iso8601 in net.fortuna.ical4j.model
    - classDate - -
    -          $Id$ - - Created on 26/06/2005 - - Base class for all representations of time values in RFC2445.
    - classDateTime - -
    -          $Id$ - - Created on 26/06/2005 - - Represents a time of day on a specific date.
    - classTime - -
    -          $Id$ - - Created on 30/06/2005 - - A type used to represent iCalendar time values.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/LocationTypeList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/LocationTypeList.html deleted file mode 100644 index 196c0595..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/LocationTypeList.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.LocationTypeList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.LocationTypeList

    -
    - - - - - - - - - -
    -Packages that use LocationTypeList
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of LocationTypeList in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return LocationTypeList
    - LocationTypeListLocationType.getLocationTypes() - -
    -           
    -  -

    - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type LocationTypeList
    LocationType(LocationTypeList cList) - -
    -           
    LocationType(ParameterList aList, - LocationTypeList cList) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/NumberList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/NumberList.html deleted file mode 100644 index e89c6e82..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/NumberList.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.NumberList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.NumberList

    -
    - - - - - - - - - -
    -Packages that use NumberList
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of NumberList in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return NumberList
    - NumberListRecur.getHourList() - -
    -           
    - NumberListRecur.getMinuteList() - -
    -           
    - NumberListRecur.getMonthDayList() - -
    -           
    - NumberListRecur.getMonthList() - -
    -           
    - NumberListRecur.getSecondList() - -
    -           
    - NumberListRecur.getSetPosList() - -
    -           
    - NumberListRecur.getWeekNoList() - -
    -           
    - NumberListRecur.getYearDayList() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Parameter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Parameter.html deleted file mode 100644 index 4d5741c8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Parameter.html +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Parameter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Parameter

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Parameter
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of Parameter in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Parameter
    - ParameterParameter.copy() - -
    -          Deep copy of parameter.
    - ParameterParameterFactory.createParameter(String name, - String value) - -
    -          Returns a parameter instance of the appropriate type with the specified value.
    - ParameterParameterFactoryImpl.createParameter(String name, - String value) - -
    -          Creates a parameter.
    - ParameterParameterList.getParameter(String aName) - -
    -          Returns the first parameter with the specified name.
    - ParameterProperty.getParameter(String name) - -
    -          Convenience method for retrieving a single parameter.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type Parameter
    - booleanParameterList.add(Parameter parameter) - -
    -          Add a parameter to the list.
    - booleanParameterList.remove(Parameter parameter) - -
    -          Remove a parameter from the list.
    - booleanParameterList.replace(Parameter parameter) - -
    -          Replace any parameters of the same type with the one specified.
    -  -

    - - - - - -
    -Uses of Parameter in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of Parameter in net.fortuna.ical4j.model.parameter
    - classAbbrev - -
    -          $Id$ [18-Apr-2004] - - Defines an Abbreviation parameter.
    - classAltRep - -
    -          $Id$ [18-Apr-2004] - - Defines an Alternate Text Representation parameter.
    - classCn - -
    -          $Id$ [18-Apr-2004] - - Defines a Common Name parameter.
    - classCuType - -
    -          $Id$ [18-Apr-2004] - - Defines a Calendar User Type.
    - classDelegatedFrom - -
    -          $Id$ [18-Apr-2004] - - Defines a Delegators parameter.
    - classDelegatedTo - -
    -          $Id$ [18-Apr-2004] - - Defines a Delegatees parameter.
    - classDir - -
    -          $Id$ [18-Apr-2004] - - Defines a Directory Entry Reference parameter.
    - classEncoding - -
    -          $Id$ [18-Apr-2004] - - Defines an Inline Encoding parameter.
    - classFbType - -
    -          $Id$ [18-Apr-2004] - - Defines a Free/Busy Time Type parameter.
    - classFmtType - -
    -          $Id$ [18-Apr-2004] - - Defines a Format Type parameter.
    - classLanguage - -
    -          $Id$ [18-Apr-2004] - - Defines a Language parameter.
    - classMember - -
    -          $Id$ [18-Apr-2004] - - Defines a Group or List Membership parameter.
    - classPartStat - -
    -          $Id$ [18-Apr-2004] - - Defines a Participation Status parameter.
    - classRange - -
    -          $Id$ [18-Apr-2004] - - Defines a Recurrence Identifier Range parameter.
    - classRelated - -
    -          $Id$ [18-Apr-2004] - - Defines an Alarm Trigger Relationship parameter.
    - classRelType - -
    -          $Id$ [18-Apr-2004] - - Defines a Relationship Type parameter.
    - classRole - -
    -          $Id$ [18-Apr-2004] - - Defines a Participation Role parameter.
    - classRsvp - -
    -          $Id$ [18-Apr-2004] - - Defines an RSVP parameter.
    - classScheduleAgent - -
    -          Defines the scheduling agent for CalDAV scheduling.
    - classScheduleStatus - -
    -          Defines the scheduling status for CalDAV scheduling.
    - classSentBy - -
    -          $Id$ [18-Apr-2004] - - Defines a Sent By parameter.
    - classType - -
    -          $Id$ [18-Apr-2004] - - Defines a Type parameter.
    - classTzId - -
    -          $Id$ [18-Apr-2004] - - Defines a Time Zone Identifier parameter.
    - classValue - -
    -          $Id$ [18-Apr-2004] - - Defines a Value Data Type parameter.
    - classVvenue - -
    -          $Id$ [18-Apr-2004] - - Defines a Vvenue parameter.
    - classXParameter - -
    -          $Id$ [15/06/2004] - - Defines an extension parameter.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.parameter that return Parameter
    - ParameterRsvp.copy() - -
    -          Deep copy of parameter.
    -  -

    - - - - - -
    -Uses of Parameter in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type Parameter
    - voidParameterValidator.assertNullOrEqual(Parameter param, - ParameterList parameters) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactory.html deleted file mode 100644 index 94cfd614..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactory.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.model.ParameterFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.model.ParameterFactory

    -
    - - - - - - - - - -
    -Packages that use ParameterFactory
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of ParameterFactory in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - -
    Classes in net.fortuna.ical4j.model that implement ParameterFactory
    - classParameterFactoryImpl - -
    -          A factory for creating iCalendar parameters.
    - classParameterFactoryRegistry - -
    -           
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type ParameterFactory
    - voidParameterFactoryRegistry.register(String name, - ParameterFactory factory) - -
    -           
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type ParameterFactory
    Parameter(String aName, - ParameterFactory factory) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryImpl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryImpl.html deleted file mode 100644 index 4539803a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryImpl.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.ParameterFactoryImpl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.ParameterFactoryImpl

    -
    - - - - - - - - - -
    -Packages that use ParameterFactoryImpl
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of ParameterFactoryImpl in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Subclasses of ParameterFactoryImpl in net.fortuna.ical4j.model
    - classParameterFactoryRegistry - -
    -           
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return ParameterFactoryImpl
    -static ParameterFactoryImplParameterFactoryImpl.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryRegistry.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryRegistry.html deleted file mode 100644 index 47cc9784..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryRegistry.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.ParameterFactoryRegistry (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.ParameterFactoryRegistry

    -
    - - - - - - - - - -
    -Packages that use ParameterFactoryRegistry
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    -  -

    - - - - - -
    -Uses of ParameterFactoryRegistry in net.fortuna.ical4j.data
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.data with parameters of type ParameterFactoryRegistry
    CalendarBuilder(CalendarParser parser, - PropertyFactoryRegistry propertyFactoryRegistry, - ParameterFactoryRegistry parameterFactoryRegistry, - TimeZoneRegistry tzRegistry) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterList.html deleted file mode 100644 index 17a798d6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterList.html +++ /dev/null @@ -1,1015 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.ParameterList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.ParameterList

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use ParameterList
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of ParameterList in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return ParameterList
    - ParameterListProperty.getParameters() - -
    -           
    - ParameterListParameterList.getParameters(String name) - -
    -          Returns a list of parameters with the specified name.
    - ParameterListProperty.getParameters(String name) - -
    -          Convenience method for retrieving a list of named parameters.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type ParameterList
    - PropertyPropertyFactoryImpl.createProperty(String name, - ParameterList parameters, - String value) - -
    -          
    - PropertyPropertyFactory.createProperty(String name, - ParameterList parameters, - String value) - -
    -           
    -  -

    - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type ParameterList
    ParameterList(ParameterList list, - boolean unmodifiable) - -
    -          Creates a deep copy of the specified parameter list.
    Property(String aName, - ParameterList aList, - PropertyFactory factory) - -
    -           
    -  -

    - - - - - -
    -Uses of ParameterList in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type ParameterList
    Action(ParameterList aList, - String aValue) - -
    -           
    Attach(ParameterList aList, - byte[] data) - -
    -           
    Attach(ParameterList aList, - String aValue) - -
    -           
    Attach(ParameterList aList, - URI aUri) - -
    -           
    Attendee(ParameterList aList, - String aValue) - -
    -           
    Attendee(ParameterList aList, - URI aUri) - -
    -           
    BusyType(ParameterList aList, - String aValue) - -
    -           
    CalScale(ParameterList aList, - String aValue) - -
    -           
    Categories(ParameterList aList, - String aValue) - -
    -           
    Categories(ParameterList aList, - TextList cList) - -
    -           
    Clazz(ParameterList aList, - String aValue) - -
    -           
    Comment(ParameterList aList, - String aValue) - -
    -           
    Completed(ParameterList aList, - DateTime aDate) - -
    -           
    Completed(ParameterList aList, - String aValue) - -
    -           
    Contact(ParameterList aList, - String aValue) - -
    -           
    Country(ParameterList aList, - String aValue) - -
    -           
    Created(ParameterList aList, - DateTime aDate) - -
    -           
    Created(ParameterList aList, - String aValue) - -
    -           
    DateListProperty(String name, - ParameterList parameters, - DateList dates, - PropertyFactory factory) - -
    -           
    DateListProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    DateProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    Description(ParameterList aList, - String aValue) - -
    -           
    DtEnd(ParameterList aList, - Date aDate) - -
    -          Constructor.
    DtEnd(ParameterList aList, - String aValue) - -
    -           
    DtStamp(ParameterList aList, - DateTime aDate) - -
    -           
    DtStamp(ParameterList aList, - String aValue) - -
    -           
    DtStart(ParameterList aList, - Date aDate) - -
    -          Constructor.
    DtStart(ParameterList aList, - String aValue) - -
    -           
    Due(ParameterList aList, - Date aDate) - -
    -          Constructor.
    Due(ParameterList aList, - String aValue) - -
    -           
    Duration(ParameterList aList, - Dur duration) - -
    -           
    Duration(ParameterList aList, - String aValue) - -
    -           
    ExDate(ParameterList aList, - DateList dList) - -
    -           
    ExDate(ParameterList aList, - String aValue) - -
    -           
    ExRule(ParameterList aList, - Recur aRecur) - -
    -           
    ExRule(ParameterList aList, - String aValue) - -
    -           
    ExtendedAddress(ParameterList aList, - String aValue) - -
    -           
    FreeBusy(ParameterList aList, - PeriodList pList) - -
    -           
    FreeBusy(ParameterList aList, - String aValue) - -
    -           
    Geo(ParameterList aList, - BigDecimal latitude, - BigDecimal longitude) - -
    -           
    Geo(ParameterList aList, - String aValue) - -
    -           
    LastModified(ParameterList aList, - DateTime aDate) - -
    -           
    LastModified(ParameterList aList, - String aValue) - -
    -           
    Locality(ParameterList aList, - String aValue) - -
    -           
    Location(ParameterList aList, - String aValue) - -
    -           
    LocationType(ParameterList aList, - LocationTypeList cList) - -
    -           
    LocationType(ParameterList aList, - String aValue) - -
    -           
    Method(ParameterList aList, - String aValue) - -
    -           
    Name(ParameterList aList, - String aValue) - -
    -           
    Organizer(ParameterList aList, - String aValue) - -
    -           
    Organizer(ParameterList aList, - URI aUri) - -
    -           
    PercentComplete(ParameterList aList, - int aPercentage) - -
    -           
    PercentComplete(ParameterList aList, - String aValue) - -
    -           
    Postalcode(ParameterList aList, - String aValue) - -
    -           
    Priority(ParameterList aList, - int aLevel) - -
    -           
    Priority(ParameterList aList, - String aValue) - -
    -           
    ProdId(ParameterList aList, - String aValue) - -
    -           
    RDate(ParameterList aList, - DateList dates) - -
    -          Constructor.
    RDate(ParameterList aList, - PeriodList periods) - -
    -          Constructor.
    RDate(ParameterList aList, - String aValue) - -
    -           
    RecurrenceId(ParameterList aList, - Date aDate) - -
    -          Constructor.
    RecurrenceId(ParameterList aList, - String aValue) - -
    -           
    Region(ParameterList aList, - String aValue) - -
    -           
    RelatedTo(ParameterList aList, - String aValue) - -
    -           
    Repeat(ParameterList aList, - int aCount) - -
    -           
    Repeat(ParameterList aList, - String aValue) - -
    -           
    RequestStatus(ParameterList aList, - String aValue) - -
    -           
    RequestStatus(ParameterList aList, - String aStatusCode, - String aDescription, - String data) - -
    -           
    Resources(ParameterList aList, - String aValue) - -
    -           
    Resources(ParameterList aList, - TextList rList) - -
    -           
    RRule(ParameterList aList, - Recur aRecur) - -
    -           
    RRule(ParameterList aList, - String aValue) - -
    -           
    Sequence(ParameterList aList, - int aSequenceNo) - -
    -           
    Sequence(ParameterList aList, - String aValue) - -
    -           
    Status(ParameterList aList, - String aValue) - -
    -           
    StreetAddress(ParameterList aList, - String aValue) - -
    -           
    Summary(ParameterList aList, - String aValue) - -
    -           
    Tel(ParameterList aList, - String aValue) - -
    -           
    Transp(ParameterList aList, - String aValue) - -
    -           
    Trigger(ParameterList aList, - DateTime dateTime) - -
    -           
    Trigger(ParameterList aList, - Dur duration) - -
    -           
    Trigger(ParameterList aList, - String aValue) - -
    -           
    TzId(ParameterList aList, - String aValue) - -
    -           
    TzName(ParameterList aList, - String aValue) - -
    -           
    TzOffsetFrom(ParameterList aList, - String aValue) - -
    -           
    TzOffsetFrom(ParameterList aList, - UtcOffset anOffset) - -
    -           
    TzOffsetTo(ParameterList aList, - String aValue) - -
    -           
    TzOffsetTo(ParameterList aList, - UtcOffset anOffset) - -
    -           
    TzUrl(ParameterList aList, - String aValue) - -
    -           
    TzUrl(ParameterList aList, - URI aUri) - -
    -           
    Uid(ParameterList aList, - String aValue) - -
    -           
    Url(ParameterList aList, - String aValue) - -
    -           
    Url(ParameterList aList, - URI aUri) - -
    -           
    UtcProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    Version(ParameterList aList, - String aValue) - -
    -           
    Version(ParameterList aList, - String aVersion1, - String aVersion2) - -
    -           
    XProperty(String aName, - ParameterList aList, - String aValue) - -
    -           
    -  -

    - - - - - -
    -Uses of ParameterList in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type ParameterList
    - voidParameterValidator.assertNone(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter doesn't occur in the specified list.
    - voidParameterValidator.assertNullOrEqual(Parameter param, - ParameterList parameters) - -
    -           
    - voidParameterValidator.assertOne(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter occurs once.
    - voidParameterValidator.assertOneOrLess(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter occurs no more than once.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Period.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Period.html deleted file mode 100644 index d8841c5b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Period.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Period (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Period

    -
    - - - - - - - - - - - - - -
    -Packages that use Period
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of Period in net.fortuna.ical4j.filter
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.filter with parameters of type Period
    PeriodRule(Period period) - -
    -          Constructs a new instance using the specified period.
    -  -

    - - - - - -
    -Uses of Period in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Period
    - PeriodPeriod.add(Period period) - -
    -          Creates a period that encompasses both this period and another one.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type Period
    - booleanPeriodList.add(Period period) - -
    -          Add a period to the list.
    - PeriodPeriod.add(Period period) - -
    -          Creates a period that encompasses both this period and another one.
    - PeriodListComponent.calculateRecurrenceSet(Period period) - -
    -          Calculates the recurrence set for this component using the specified period.
    - intPeriod.compareTo(Period arg0) - -
    -          Compares the specified period with this period.
    - DateListRecur.getDates(Date seed, - Period period, - Value value) - -
    -          Convenience method for retrieving recurrences in a specified period.
    - booleanPeriodList.remove(Period period) - -
    -          Remove a period from the list.
    - PeriodListPeriod.subtract(Period period) - -
    -          Creates a set of periods resulting from the subtraction of the specified - period from this one.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PeriodList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PeriodList.html deleted file mode 100644 index b68e6c2b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PeriodList.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.PeriodList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.PeriodList

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use PeriodList
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of PeriodList in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return PeriodList
    - PeriodListPeriodList.add(PeriodList periods) - -
    -          A convenience method that combines all the periods in the specified list to - this list.
    - PeriodListComponent.calculateRecurrenceSet(Period period) - -
    -          Calculates the recurrence set for this component using the specified period.
    - PeriodListPeriodList.normalise() - -
    -          Returns a normalised version of this period list.
    - PeriodListPeriod.subtract(Period period) - -
    -          Creates a set of periods resulting from the subtraction of the specified - period from this one.
    - PeriodListPeriodList.subtract(PeriodList subtractions) - -
    -          Subtracts the intersection of this list with the specified list of - periods from this list and returns the results as a new period list.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type PeriodList
    - PeriodListPeriodList.add(PeriodList periods) - -
    -          A convenience method that combines all the periods in the specified list to - this list.
    - PeriodListPeriodList.subtract(PeriodList subtractions) - -
    -          Subtracts the intersection of this list with the specified list of - periods from this list and returns the results as a new period list.
    -  -

    - - - - - -
    -Uses of PeriodList in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return PeriodList
    - PeriodListVEvent.getConsumedTime(Date rangeStart, - Date rangeEnd) - -
    -          Returns a normalised list of periods representing the consumed time for this event.
    - PeriodListVEvent.getConsumedTime(Date rangeStart, - Date rangeEnd, - boolean normalise) - -
    -          Returns a list of periods representing the consumed time for this event in the specified range.
    -  -

    - - - - - -
    -Uses of PeriodList in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return PeriodList
    - PeriodListFreeBusy.getPeriods() - -
    -           
    - PeriodListRDate.getPeriods() - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type PeriodList
    FreeBusy(ParameterList aList, - PeriodList pList) - -
    -           
    FreeBusy(PeriodList pList) - -
    -           
    RDate(ParameterList aList, - PeriodList periods) - -
    -          Constructor.
    RDate(PeriodList periods) - -
    -          Constructor.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Property.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Property.html deleted file mode 100644 index 6a2500df..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Property.html +++ /dev/null @@ -1,1183 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Property (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Property

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use Property
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of Property in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - -
    Fields in net.fortuna.ical4j.data declared as Property
    -protected  PropertyCalendarBuilder.property - -
    -          The current property instance created by the builder.
    -  -

    - - - - - -
    -Uses of Property in net.fortuna.ical4j.filter
    -  -

    - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.filter with parameters of type Property
    HasPropertyRule(Property property) - -
    -          Constructs a new instance with the specified property.
    HasPropertyRule(Property property, - boolean matchEquals) - -
    -          Constructs a new instance with the specified property.
    -  -

    - - - - - -
    -Uses of Property in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Property
    - PropertyProperty.copy() - -
    -          Create a (deep) copy of this property.
    - PropertyPropertyFactoryImpl.createProperty(String name) - -
    -          
    - PropertyPropertyFactory.createProperty(String name) - -
    -           
    - PropertyPropertyFactoryImpl.createProperty(String name, - ParameterList parameters, - String value) - -
    -          
    - PropertyPropertyFactory.createProperty(String name, - ParameterList parameters, - String value) - -
    -           
    - PropertyPropertyList.getProperty(String aName) - -
    -          Returns the first property of specified name.
    - PropertyComponent.getProperty(String name) - -
    -          Convenience method for retrieving a named property.
    - PropertyCalendar.getProperty(String name) - -
    -          Convenience method for retrieving a named property.
    - PropertyIndexedPropertyList.getProperty(String paramValue) - -
    -          Returns the first property containing a parameter with the specified - value.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type Property
    - booleanPropertyList.add(Property property) - -
    -          Add a property to the list.
    - booleanPropertyList.remove(Property property) - -
    -          Remove a property from the list.
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type Property
    Property(Property property) - -
    -          Deprecated. Use copy() instead
    -  -

    - - - - - -
    -Uses of Property in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of Property in net.fortuna.ical4j.model.property
    - classAction - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ACTION iCalendar component property.
    - classAttach - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ATTACH iCalendar component property.
    - classAttendee - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ATTENDEE iCalendar component property.
    - classBusyType - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a BUSYTYPE iCalendar component property.
    - classCalScale - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CALSCALE iCalendar property.
    - classCategories - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CATEGORIES iCalendar component property.
    - classClazz - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CLASS iCalendar property.
    - classComment - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a COMMENT iCalendar component property.
    - classCompleted - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a COMPLETED iCalendar component property.
    - classContact - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CONTACT iCalendar component property.
    - classCountry - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    - classCreated - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CREATED iCalendar component property.
    - classDateListProperty - -
    -          $Id$ - - Created on 11/08/2005 - - Base class for properties with a list of dates as a value.
    - classDateProperty - -
    -          $Id$ - - Created on 9/07/2005 - - Base class for properties with a DATE or DATE-TIME value.
    - classDescription - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DESCRIPTION iCalendar component property.
    - classDtEnd - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTEND iCalendar component property.
    - classDtStamp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTAMP iCalendar component property.
    - classDtStart - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTART iCalendar component property.
    - classDue - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DUE iCalendar component property.
    - classDuration - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DURATION iCalendar component property.
    - classExDate - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a EXDATE iCalendar component property.
    - classExRule - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a EXRULE iCalendar component property.
    - classExtendedAddress - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a EXTENDED_ADDRESS iCalendar component property.
    - classFreeBusy - -
    -          $Id$ - - Created: [Apr 14, 2004] - - Defines a FREEBUSY iCalendar component property.
    - classGeo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a GEO iCalendar component property.
    - classLastModified - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LAST-MODIFIED iCalendar component property.
    - classLocality - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCALITY iCalendar component property.
    - classLocation - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION iCalendar component property.
    - classLocationType - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION_TYPE iCalendar component property.
    - classMethod - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a METHOD iCalendar property.
    - className - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a NAME iCalendar component property.
    - classOrganizer - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ORGANIZER iCalendar component property.
    - classPercentComplete - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PERCENT-COMPLETE iCalendar component property.
    - classPostalcode - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a POSTALCODE iCalendar component property.
    - classPriority - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PRIORITY iCalendar component property.
    - classProdId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PRODID iCalendar property.
    - classRDate - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an RDATE iCalendar component property.
    - classRecurrenceId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RECURRENCE-ID iCalendar component property.
    - classRegion - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    - classRelatedTo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RELATED-TO iCalendar component property.
    - classRepeat - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REPEAT iCalendar component property.
    - classRequestStatus - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REQUEST-STATUS iCalendar component property.
    - classResources - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RESOURCES iCalendar component property.
    - classRRule - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an RRULE iCalendar component property.
    - classSequence - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a SEQUENCE iCalendar component property.
    - classStatus - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a STATUS iCalendar component property.
    - classStreetAddress - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a STREET_ADDRESS iCalendar component property.
    - classSummary - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a SUMMARY iCalendar component property.
    - classTel - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TEL iCalendar component property.
    - classTransp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRANSP iCalendar component property.
    - classTrigger - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRIGGER iCalendar component property.
    - classTzId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZID iCalendar component property.
    - classTzName - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZNAME iCalendar component property.
    - classTzOffsetFrom - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETFROM iCalendar component property.
    - classTzOffsetTo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETTO iCalendar component property.
    - classTzUrl - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZURL iCalendar component property.
    - classUid - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a UID iCalendar component property.
    - classUrl - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a URL iCalendar component property.
    - classUtcProperty - -
    -          $Id$ - - Created on 8/08/2005 - - Superclass for all properties with date-time values that must be specified in UTC time.
    - classVersion - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a VERSION iCalendar property.
    - classXProperty - -
    -          $Id$ - - Created: [15/06/2004] - - Defines an extension property.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return Property
    - PropertyDateProperty.copy() - -
    -          Create a (deep) copy of this property.
    - PropertyDateListProperty.copy() - -
    -          Create a (deep) copy of this property.
    - PropertyAttendee.copy() - -
    -          Create a (deep) copy of this property.
    -  -

    - - - - - -
    -Uses of Property in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that return Property
    -static PropertyConstants.forProperty(Property property) - -
    -          Returns a constant equivalent to the specified property - if one is applicable.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type Property
    -static PropertyConstants.forProperty(Property property) - -
    -          Returns a constant equivalent to the specified property - if one is applicable.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactory.html deleted file mode 100644 index 4f85e795..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactory.html +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.model.PropertyFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.model.PropertyFactory

    -
    - - - - - - - - - - - - - -
    -Packages that use PropertyFactory
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of PropertyFactory in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - -
    Classes in net.fortuna.ical4j.model that implement PropertyFactory
    - classPropertyFactoryImpl - -
    -          A factory for creating iCalendar properties.
    - classPropertyFactoryRegistry - -
    -           
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type PropertyFactory
    - voidPropertyFactoryRegistry.register(String name, - PropertyFactory factory) - -
    -           
    -  -

    - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type PropertyFactory
    Property(String aName, - ParameterList aList, - PropertyFactory factory) - -
    -           
    Property(String aName, - PropertyFactory factory) - -
    -          Constructor.
    -  -

    - - - - - -
    -Uses of PropertyFactory in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type PropertyFactory
    DateListProperty(String name, - DateList dates, - PropertyFactory factory) - -
    -           
    DateListProperty(String name, - ParameterList parameters, - DateList dates, - PropertyFactory factory) - -
    -           
    DateListProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    DateListProperty(String name, - PropertyFactory factory) - -
    -           
    DateProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    DateProperty(String name, - PropertyFactory factory) - -
    -           
    DateProperty(String name, - TimeZone timezone, - PropertyFactory factory) - -
    -          Creates a new instance of the named property with an initial timezone.
    UtcProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    UtcProperty(String name, - PropertyFactory factory) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryImpl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryImpl.html deleted file mode 100644 index 3f465e49..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryImpl.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.PropertyFactoryImpl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.PropertyFactoryImpl

    -
    - - - - - - - - - -
    -Packages that use PropertyFactoryImpl
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of PropertyFactoryImpl in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Subclasses of PropertyFactoryImpl in net.fortuna.ical4j.model
    - classPropertyFactoryRegistry - -
    -           
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return PropertyFactoryImpl
    -static PropertyFactoryImplPropertyFactoryImpl.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryRegistry.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryRegistry.html deleted file mode 100644 index 2fbf82c6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryRegistry.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.PropertyFactoryRegistry (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.PropertyFactoryRegistry

    -
    - - - - - - - - - -
    -Packages that use PropertyFactoryRegistry
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    -  -

    - - - - - -
    -Uses of PropertyFactoryRegistry in net.fortuna.ical4j.data
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.data with parameters of type PropertyFactoryRegistry
    CalendarBuilder(CalendarParser parser, - PropertyFactoryRegistry propertyFactoryRegistry, - ParameterFactoryRegistry parameterFactoryRegistry, - TimeZoneRegistry tzRegistry) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyList.html deleted file mode 100644 index 75f93297..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyList.html +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.PropertyList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.PropertyList

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use PropertyList
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of PropertyList in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return PropertyList
    - PropertyListComponent.getProperties() - -
    -           
    - PropertyListCalendar.getProperties() - -
    -           
    - PropertyListPropertyList.getProperties(String name) - -
    -          Returns a list of properties with the specified name.
    - PropertyListComponent.getProperties(String name) - -
    -          Convenience method for retrieving a list of named properties.
    - PropertyListCalendar.getProperties(String name) - -
    -          Convenience method for retrieving a list of named properties.
    - PropertyListIndexedPropertyList.getProperties(String paramValue) - -
    -          Returns a list of properties containing a parameter with the - specified value.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type PropertyList
    - ComponentComponentFactory.createComponent(String name, - PropertyList properties) - -
    -          Creates a component.
    - ComponentComponentFactory.createComponent(String name, - PropertyList properties, - ComponentList components) - -
    -          Creates a component which contains sub-components.
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type PropertyList
    Calendar(PropertyList p, - ComponentList c) - -
    -          Constructor.
    Component(String s, - PropertyList p) - -
    -          Constructor made protected to enforce the use of ComponentFactory for component instantiation.
    IndexedPropertyList(PropertyList list, - String parameterName) - -
    -          Creates a new instance indexed on the parameters with the specified name.
    PropertyList(PropertyList properties) - -
    -          Creates a deep copy of the specified property list.
    -  -

    - - - - - -
    -Uses of PropertyList in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.component with parameters of type PropertyList
    Available(PropertyList properties) - -
    -          Constructor.
    CalendarComponent(String name, - PropertyList properties) - -
    -           
    Daylight(PropertyList properties) - -
    -          Constructor.
    Observance(String name, - PropertyList properties) - -
    -          Constructor protected to enforce use of sub-classes from this library.
    Standard(PropertyList properties) - -
    -          Constructor.
    VAlarm(PropertyList properties) - -
    -          Constructor.
    VAvailability(PropertyList properties) - -
    -          Constructs a new instance containing the specified properties.
    VAvailability(PropertyList properties, - ComponentList available) - -
    -          Constructor.
    VEvent(PropertyList properties) - -
    -          Constructor.
    VEvent(PropertyList properties, - ComponentList alarms) - -
    -          Constructor.
    VFreeBusy(PropertyList properties) - -
    -          Constructor.
    VJournal(PropertyList properties) - -
    -          Constructor.
    VTimeZone(PropertyList properties) - -
    -          Constructs a new instance containing the specified properties.
    VTimeZone(PropertyList properties, - ComponentList observances) - -
    -          Constructor.
    VToDo(PropertyList properties) - -
    -          Constructor.
    VVenue(PropertyList properties) - -
    -          Constructs a new instance containing the specified properties.
    XComponent(String name, - PropertyList properties) - -
    -          Creates a new experimental component with the specified name and properties.
    -  -

    - - - - - -
    -Uses of PropertyList in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type PropertyList
    - voidPropertyValidator.assertNone(String propertyName, - PropertyList properties) - -
    -          Ensure a property doesn't occur in the specified list.
    - voidPropertyValidator.assertOne(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs once.
    - voidPropertyValidator.assertOneOrLess(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs no more than once.
    - voidPropertyValidator.assertOneOrMore(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs at least once.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Recur.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Recur.html deleted file mode 100644 index 771c099e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Recur.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Recur (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Recur

    -
    - - - - - - - - - -
    -Packages that use Recur
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Recur in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return Recur
    - RecurExRule.getRecur() - -
    -           
    - RecurRRule.getRecur() - -
    -           
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property with parameters of type Recur
    - voidExRule.setRecur(Recur recur) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type Recur
    ExRule(ParameterList aList, - Recur aRecur) - -
    -           
    ExRule(Recur aRecur) - -
    -           
    RRule(ParameterList aList, - Recur aRecur) - -
    -           
    RRule(Recur aRecur) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TextList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TextList.html deleted file mode 100644 index 70556620..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TextList.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.TextList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.TextList

    -
    - - - - - - - - - -
    -Packages that use TextList
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of TextList in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return TextList
    - TextListCategories.getCategories() - -
    -           
    - TextListResources.getResources() - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type TextList
    Categories(ParameterList aList, - TextList cList) - -
    -           
    Categories(TextList cList) - -
    -           
    Resources(ParameterList aList, - TextList rList) - -
    -           
    Resources(TextList rList) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Time.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Time.html deleted file mode 100644 index 19138a64..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Time.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.Time (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.Time

    -
    -No usage of net.fortuna.ical4j.model.Time -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZone.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZone.html deleted file mode 100644 index c132f85a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZone.html +++ /dev/null @@ -1,472 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.TimeZone (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.TimeZone

    -
    - - - - - - - - - - - - - -
    -Packages that use TimeZone
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of TimeZone in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return TimeZone
    - TimeZoneDateList.getTimeZone() - -
    -           
    - TimeZoneDateTime.getTimeZone() - -
    -          Returns the current timezone associated with this date-time value.
    - TimeZonePeriodList.getTimeZone() - -
    -           
    - TimeZoneTimeZoneRegistryImpl.getTimeZone(String id) - -
    -          Returns a timezone with the specified identifier.
    - TimeZoneTimeZoneRegistry.getTimeZone(String id) - -
    -          Returns a timezone with the specified identifier.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type TimeZone
    - voidTimeZoneRegistryImpl.register(TimeZone timezone) - -
    -          Registers a new timezone for use with iCalendar objects.
    - voidTimeZoneRegistry.register(TimeZone timezone) - -
    -          Registers a new timezone for use with iCalendar objects.
    - voidTimeZoneRegistryImpl.register(TimeZone timezone, - boolean update) - -
    -          Registers a new timezone for use with iCalendar objects.
    - voidTimeZoneRegistry.register(TimeZone timezone, - boolean update) - -
    -          Registers a new timezone for use with iCalendar objects.
    - voidDateList.setTimeZone(TimeZone timeZone) - -
    -          Applies the specified timezone to all dates in the list.
    - voidDateTime.setTimeZone(TimeZone timezone) - -
    -          Sets the timezone associated with this date-time instance.
    - voidPeriodList.setTimeZone(TimeZone timeZone) - -
    -          Applies the specified timezone to all dates in the list.
    - voidPeriod.setTimeZone(TimeZone timezone) - -
    -          Updates the start and (possible) end times of this period to reflect - the specified timezone status.
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type TimeZone
    DateList(String aValue, - Value aType, - TimeZone timezone) - -
    -          Parses the specified string representation to create a list of dates.
    DateList(Value aType, - TimeZone timezone) - -
    -          Default constructor.
    DateTime(String value, - String pattern, - TimeZone timezone) - -
    -           
    DateTime(String value, - TimeZone timezone) - -
    -          Creates a new date-time instance from the specified value in the given - timezone.
    -  -

    - - - - - -
    -Uses of TimeZone in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return TimeZone
    - TimeZoneDateProperty.getTimeZone() - -
    -           
    - TimeZoneDateListProperty.getTimeZone() - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property with parameters of type TimeZone
    - voidUtcProperty.setTimeZone(TimeZone timezone) - -
    -          Publically available method to update the current timezone.
    - voidDateProperty.setTimeZone(TimeZone timezone) - -
    -          Publically available method to update the current timezone.
    - voidDateListProperty.setTimeZone(TimeZone timezone) - -
    -          Sets the timezone associated with this property.
    - voidRDate.setTimeZone(TimeZone timezone) - -
    -          Sets the timezone associated with this property.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type TimeZone
    DateProperty(String name, - TimeZone timezone, - PropertyFactory factory) - -
    -          Creates a new instance of the named property with an initial timezone.
    DtEnd(String value, - TimeZone timezone) - -
    -          Creates a new DTEND property initialised with the specified timezone and value.
    DtEnd(TimeZone timezone) - -
    -          Creates a new DTEND property initialised with the specified timezone.
    DtStart(String value, - TimeZone timezone) - -
    -          Creates a new DTSTART property initialised with the specified timezone and value.
    DtStart(TimeZone timezone) - -
    -          Creates a new DTSTART property initialised with the specified timezone.
    Due(String value, - TimeZone timezone) - -
    -          Creates a new DUE property initialised with the specified timezone and value.
    Due(TimeZone timezone) - -
    -          Creates a new DUE property initialised with the specified timezone.
    RecurrenceId(String value, - TimeZone timezone) - -
    -          Creates a new RECURRENCE_ID property initialised with the specified timezone and value.
    RecurrenceId(TimeZone timezone) - -
    -          Creates a new RECURRENCE_ID property initialised with the specified timezone.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistry.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistry.html deleted file mode 100644 index c43c2283..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistry.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.model.TimeZoneRegistry (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.model.TimeZoneRegistry

    -
    - - - - - - - - - - - - - -
    -Packages that use TimeZoneRegistry
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of TimeZoneRegistry in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.data that return TimeZoneRegistry
    - TimeZoneRegistryCalendarBuilder.getRegistry() - -
    -          Returns the timezone registry used in the construction of calendars.
    -  -

    - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.data with parameters of type TimeZoneRegistry
    CalendarBuilder(CalendarParser parser, - PropertyFactoryRegistry propertyFactoryRegistry, - ParameterFactoryRegistry parameterFactoryRegistry, - TimeZoneRegistry tzRegistry) - -
    -           
    CalendarBuilder(CalendarParser parser, - TimeZoneRegistry tzRegistry) - -
    -          Constructs a new instance using the specified parser and registry.
    CalendarBuilder(TimeZoneRegistry tzRegistry) - -
    -          Constructs a new calendar builder using the specified timezone registry.
    -  -

    - - - - - -
    -Uses of TimeZoneRegistry in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Classes in net.fortuna.ical4j.model that implement TimeZoneRegistry
    - classTimeZoneRegistryImpl - -
    -          $Id$ - - Created on 18/09/2005 - - The default implementation of a TimeZoneRegistry.
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return TimeZoneRegistry
    - TimeZoneRegistryDefaultTimeZoneRegistryFactory.createRegistry() - -
    -          Returns a new instance of the configured TimeZoneRegistry.
    -abstract  TimeZoneRegistryTimeZoneRegistryFactory.createRegistry() - -
    -          Returns a new instance of the configured TimeZoneRegistry.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryFactory.html deleted file mode 100644 index 5f1a84f4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryFactory.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.TimeZoneRegistryFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.TimeZoneRegistryFactory

    -
    - - - - - - - - - -
    -Packages that use TimeZoneRegistryFactory
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of TimeZoneRegistryFactory in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Subclasses of TimeZoneRegistryFactory in net.fortuna.ical4j.model
    - classDefaultTimeZoneRegistryFactory - -
    -          $Id$ - - Created on 18/09/2005 - - Default factory implementation for timezone registries.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return TimeZoneRegistryFactory
    -static TimeZoneRegistryFactoryTimeZoneRegistryFactory.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryImpl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryImpl.html deleted file mode 100644 index a4ff2a16..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryImpl.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.TimeZoneRegistryImpl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.TimeZoneRegistryImpl

    -
    -No usage of net.fortuna.ical4j.model.TimeZoneRegistryImpl -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/UtcOffset.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/UtcOffset.html deleted file mode 100644 index bc89c29c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/UtcOffset.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.UtcOffset (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.UtcOffset

    -
    - - - - - - - - - -
    -Packages that use UtcOffset
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of UtcOffset in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that return UtcOffset
    - UtcOffsetTzOffsetFrom.getOffset() - -
    -           
    - UtcOffsetTzOffsetTo.getOffset() - -
    -           
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property with parameters of type UtcOffset
    - voidTzOffsetFrom.setOffset(UtcOffset offset) - -
    -           
    - voidTzOffsetTo.setOffset(UtcOffset offset) - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.property with parameters of type UtcOffset
    TzOffsetFrom(ParameterList aList, - UtcOffset anOffset) - -
    -           
    TzOffsetFrom(UtcOffset anOffset) - -
    -           
    TzOffsetTo(ParameterList aList, - UtcOffset anOffset) - -
    -           
    TzOffsetTo(UtcOffset anOffset) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ValidationException.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ValidationException.html deleted file mode 100644 index ad49a290..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/ValidationException.html +++ /dev/null @@ -1,1029 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.ValidationException (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.ValidationException

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use ValidationException
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of ValidationException in net.fortuna.ical4j.data
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.data that throw ValidationException
    - voidCalendarOutputter.output(Calendar calendar, - OutputStream out) - -
    -          Outputs an iCalender string to the specified output stream.
    - voidCalendarOutputter.output(Calendar calendar, - Writer out) - -
    -          Outputs an iCalender string to the specified writer.
    -  -

    - - - - - -
    -Uses of ValidationException in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that throw ValidationException
    - voidValidator.validate() - -
    -          Validates the associated model against an applicable standard.
    - voidComponent.validate() - -
    -          Perform validation on a component and its properties.
    - voidCalendar.validate() - -
    -          Perform validation on the calendar, its properties and its components in its current state.
    -abstract  voidProperty.validate() - -
    -          Perform validation on a property.
    -abstract  voidComponent.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidCalendar.validate(boolean recurse) - -
    -          Perform validation on the calendar in its current state.
    -protected  voidComponent.validateProperties() - -
    -          Invoke validation on the component properties in its current state.
    -  -

    - - - - - -
    -Uses of ValidationException in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that throw ValidationException
    - voidObservance.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidVFreeBusy.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidVAvailability.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidXComponent.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidVEvent.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidAvailable.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidVJournal.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidVToDo.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidVVenue.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidVAlarm.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidVTimeZone.validate(boolean recurse) - -
    -          Perform validation on a component.
    - voidCalendarComponent.validate(Method method) - -
    -          Performs method-specific ITIP validation.
    - voidCalendarComponent.validateAdd() - -
    -          Deprecated.  
    - voidCalendarComponent.validateCancel() - -
    -          Deprecated.  
    - voidCalendarComponent.validateCounter() - -
    -          Deprecated.  
    - voidCalendarComponent.validateDeclineCounter() - -
    -          Deprecated.  
    - voidCalendarComponent.validatePublish() - -
    -          Deprecated.  
    - voidCalendarComponent.validateRefresh() - -
    -          Deprecated.  
    - voidCalendarComponent.validateReply() - -
    -          Deprecated.  
    - voidCalendarComponent.validateRequest() - -
    -          Deprecated.  
    -  -

    - - - - - -
    -Uses of ValidationException in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.property that throw ValidationException
    - voidTel.validate() - -
    -          Perform validation on a property.
    - voidName.validate() - -
    -          Perform validation on a property.
    - voidRegion.validate() - -
    -          Perform validation on a property.
    - voidRequestStatus.validate() - -
    -          Perform validation on a property.
    - voidLocationType.validate() - -
    -          Perform validation on a property.
    - voidStreetAddress.validate() - -
    -          Perform validation on a property.
    - voidUtcProperty.validate() - -
    -          Perform validation on a property.
    - voidGeo.validate() - -
    -          Perform validation on a property.
    - voidTransp.validate() - -
    -          Perform validation on a property.
    - voidPercentComplete.validate() - -
    -          Perform validation on a property.
    - voidRelatedTo.validate() - -
    -          Perform validation on a property.
    - voidComment.validate() - -
    -          Perform validation on a property.
    - voidUrl.validate() - -
    -          Perform validation on a property.
    - voidCountry.validate() - -
    -          Perform validation on a property.
    - voidTzOffsetFrom.validate() - -
    -          Perform validation on a property.
    - voidExDate.validate() - -
    -          Perform validation on a property.
    - voidDateProperty.validate() - -
    -          Perform validation on a property.
    - voidFreeBusy.validate() - -
    -          Perform validation on a property.
    - voidTzId.validate() - -
    -          Perform validation on a property.
    - voidTrigger.validate() - -
    -          Perform validation on a property.
    - voidSequence.validate() - -
    -          Perform validation on a property.
    - voidCategories.validate() - -
    -          Perform validation on a property.
    - voidStatus.validate() - -
    -          Perform validation on a property.
    - voidXProperty.validate() - -
    -          Perform validation on a property.
    - voidLocality.validate() - -
    -          Perform validation on a property.
    - voidExRule.validate() - -
    -          Perform validation on a property.
    - voidAttach.validate() - -
    -          Perform validation on a property.
    - voidBusyType.validate() - -
    -          Perform validation on a property.
    - voidLocation.validate() - -
    -          Perform validation on a property.
    - voidDtEnd.validate() - -
    -          Perform validation on a property.
    - voidUid.validate() - -
    -          Perform validation on a property.
    - voidExtendedAddress.validate() - -
    -          Perform validation on a property.
    - voidPostalcode.validate() - -
    -          Perform validation on a property.
    - voidPriority.validate() - -
    -          Perform validation on a property.
    - voidSummary.validate() - -
    -          Perform validation on a property.
    - voidRepeat.validate() - -
    -          Perform validation on a property.
    - voidMethod.validate() - -
    -          Perform validation on a property.
    - voidDtStart.validate() - -
    -          Perform validation on a property.
    - voidProdId.validate() - -
    -          Perform validation on a property.
    - voidCalScale.validate() - -
    -          Perform validation on a property.
    - voidResources.validate() - -
    -          Perform validation on a property.
    - voidVersion.validate() - -
    -          Perform validation on a property.
    - voidAttendee.validate() - -
    -          Perform validation on a property.
    - voidDuration.validate() - -
    -          Perform validation on a property.
    - voidTzOffsetTo.validate() - -
    -          Perform validation on a property.
    - voidRRule.validate() - -
    -          Perform validation on a property.
    - voidRDate.validate() - -
    -          Perform validation on a property.
    - voidTzUrl.validate() - -
    -          Perform validation on a property.
    - voidAction.validate() - -
    -          Perform validation on a property.
    - voidContact.validate() - -
    -          Perform validation on a property.
    - voidTzName.validate() - -
    -          Perform validation on a property.
    - voidRecurrenceId.validate() - -
    -          Perform validation on a property.
    - voidDescription.validate() - -
    -          Perform validation on a property.
    - voidClazz.validate() - -
    -          Perform validation on a property.
    - voidDue.validate() - -
    -          Perform validation on a property.
    - voidOrganizer.validate() - -
    -          Perform validation on a property.
    -  -

    - - - - - -
    -Uses of ValidationException in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that throw ValidationException
    -static voidComponentValidator.assertNone(String componentName, - ComponentList components) - -
    -           
    - voidParameterValidator.assertNone(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter doesn't occur in the specified list.
    - voidPropertyValidator.assertNone(String propertyName, - PropertyList properties) - -
    -          Ensure a property doesn't occur in the specified list.
    - voidParameterValidator.assertNullOrEqual(Parameter param, - ParameterList parameters) - -
    -           
    - voidParameterValidator.assertOne(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter occurs once.
    - voidPropertyValidator.assertOne(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs once.
    -static voidComponentValidator.assertOneOrLess(String componentName, - ComponentList components) - -
    -           
    - voidParameterValidator.assertOneOrLess(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter occurs no more than once.
    - voidPropertyValidator.assertOneOrLess(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs no more than once.
    - voidPropertyValidator.assertOneOrMore(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs at least once.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Validator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Validator.html deleted file mode 100644 index 57532e58..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/Validator.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.model.Validator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.model.Validator

    -
    - - - - - - - - - -
    -Packages that use Validator
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Validator in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.component declared as Validator
    -protected static ValidatorCalendarComponent.EMPTY_VALIDATOR - -
    -          Validator instance that does nothing.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Validator
    -protected  ValidatorVFreeBusy.getValidator(Method method) - -
    -          
    -protected  ValidatorVAvailability.getValidator(Method method) - -
    -          
    -protected  ValidatorXComponent.getValidator(Method method) - -
    -          
    -protected abstract  ValidatorCalendarComponent.getValidator(Method method) - -
    -           
    -protected  ValidatorVEvent.getValidator(Method method) - -
    -          
    -protected  ValidatorVJournal.getValidator(Method method) - -
    -          
    -protected  ValidatorVToDo.getValidator(Method method) - -
    -          
    -protected  ValidatorVVenue.getValidator(Method method) - -
    -          
    -protected  ValidatorVAlarm.getValidator(Method method) - -
    -          
    -protected  ValidatorVTimeZone.getValidator(Method method) - -
    -          
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDay.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDay.html deleted file mode 100644 index 8be23122..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDay.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.WeekDay (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.WeekDay

    -
    - - - - - - - - - -
    -Packages that use WeekDay
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of WeekDay in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model declared as WeekDay
    -static WeekDayWeekDay.FR - -
    -          Friday.
    -static WeekDayWeekDay.MO - -
    -          Monday.
    -static WeekDayWeekDay.SA - -
    -          Saturday.
    -static WeekDayWeekDay.SU - -
    -          Sunday.
    -static WeekDayWeekDay.TH - -
    -          Thursday.
    -static WeekDayWeekDay.TU - -
    -          Tuesday.
    -static WeekDayWeekDay.WE - -
    -          Wednesday.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return WeekDay
    -static WeekDayWeekDay.getDay(int calDay) - -
    -          Returns the corresponding day constant to the specified - java.util.Calendar.DAY_OF_WEEK property.
    -static WeekDayWeekDay.getMonthlyOffset(Calendar cal) - -
    -          Returns a weekday/offset representation of the specified calendar.
    -static WeekDayWeekDay.getNegativeMonthlyOffset(Calendar cal) - -
    -          Returns a weekday/negative offset representation of the specified calendar.
    -static WeekDayWeekDay.getWeekDay(Calendar cal) - -
    -          Returns a weekday representation of the specified calendar.
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type WeekDay
    - booleanWeekDayList.add(WeekDay weekDay) - -
    -           
    -static intWeekDay.getCalendarDay(WeekDay weekday) - -
    -          Returns the corresponding java.util.Calendar.DAY_OF_WEEK - constant for the specified WeekDay.
    - booleanWeekDayList.remove(WeekDay weekDay) - -
    -           
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type WeekDay
    WeekDay(WeekDay weekDay, - int offset) - -
    -          Constructs a new weekday instance based on the specified - instance and offset.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDayList.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDayList.html deleted file mode 100644 index ef2e1e70..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDayList.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.WeekDayList (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.WeekDayList

    -
    - - - - - - - - - -
    -Packages that use WeekDayList
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of WeekDayList in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return WeekDayList
    - WeekDayListRecur.getDayList() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Available.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Available.html deleted file mode 100644 index 2d039522..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Available.html +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - - -Available (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class Available

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.Available
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Available
    extends Component
    - - -

    -$Id$ [05-Apr-2004] - - Defines an iCalendar Available component. - -

    -
    -       availablec  = "BEGIN" ":" "AVAILABLE" CRLF
    -
    -                    availableprop
    -
    -                    "END" ":" "AVAILABLE" CRLF
    -
    -          availableprop  = *(
    -
    -                         ; the following are REQUIRED,
    -                         ; but MUST NOT occur more than once
    -
    -                         dtstamp / dtstart / uid /
    -
    -                         ; either a 'dtend' or a 'duration' is required
    -                         ; in a 'availableprop', but 'dtend' and
    -                         ; 'duration' MUST NOT occur in the same
    -                         ; 'availableprop', and each MUST NOT occur more
    -                         ; than once
    -
    -                         dtend / duration /
    -
    -                         ; the following are OPTIONAL,
    -                         ; but MUST NOT occur more than once
    -
    -                         created / last-mod / recurid / rrule /
    -                         summary /
    -
    -                         ; the following are OPTIONAL,
    -                         ; and MAY occur more than once
    -
    -                         categories / comment / contact / exdate /
    -                         rdate / x-prop
    -
    -                         )
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Available() - -
    -          Default constructor.
    Available(PropertyList properties) - -
    -          Constructor.
    -  - - - - - - - - - - - -
    -Method Summary
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Available

    -
    -public Available()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Available

    -
    -public Available(PropertyList properties)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/CalendarComponent.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/CalendarComponent.html deleted file mode 100644 index 3517c1e5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/CalendarComponent.html +++ /dev/null @@ -1,581 +0,0 @@ - - - - - - - -CalendarComponent (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class CalendarComponent

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    VAlarm, VAvailability, VEvent, VFreeBusy, VJournal, VTimeZone, VToDo, VVenue, XComponent
    -
    -
    -
    -
    public abstract class CalendarComponent
    extends Component
    - - -

    -$Id$ - - Created on 26/02/2006 - - Base class for components that may be added to a calendar. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -protected static ValidatorEMPTY_VALIDATOR - -
    -          Validator instance that does nothing.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    CalendarComponent(String name) - -
    -           
    CalendarComponent(String name, - PropertyList properties) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected abstract  ValidatorgetValidator(Method method) - -
    -           
    - voidvalidate(Method method) - -
    -          Performs method-specific ITIP validation.
    - voidvalidateAdd() - -
    -          Deprecated.  
    - voidvalidateCancel() - -
    -          Deprecated.  
    - voidvalidateCounter() - -
    -          Deprecated.  
    - voidvalidateDeclineCounter() - -
    -          Deprecated.  
    - voidvalidatePublish() - -
    -          Deprecated.  
    - voidvalidateRefresh() - -
    -          Deprecated.  
    - voidvalidateReply() - -
    -          Deprecated.  
    - voidvalidateRequest() - -
    -          Deprecated.  
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -EMPTY_VALIDATOR

    -
    -protected static final Validator EMPTY_VALIDATOR
    -
    -
    Validator instance that does nothing. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -CalendarComponent

    -
    -public CalendarComponent(String name)
    -
    -
    -
    Parameters:
    name - component name
    -
    -
    - -

    -CalendarComponent

    -
    -public CalendarComponent(String name,
    -                         PropertyList properties)
    -
    -
    -
    Parameters:
    name - component name
    properties - component properties
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate(Method method)
    -                    throws ValidationException
    -
    -
    Performs method-specific ITIP validation. -

    -

    -
    Parameters:
    method - the applicable method -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    -
    - -

    -getValidator

    -
    -protected abstract Validator getValidator(Method method)
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    -
    - -

    -validatePublish

    -
    -public final void validatePublish()
    -                           throws ValidationException
    -
    -
    Deprecated.  -

    -

    Apply validation for METHOD=PUBLISH. -

    -

    - -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    -
    - -

    -validateRequest

    -
    -public final void validateRequest()
    -                           throws ValidationException
    -
    -
    Deprecated.  -

    -

    Apply validation for METHOD=REQUEST. -

    -

    - -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    -
    - -

    -validateReply

    -
    -public final void validateReply()
    -                         throws ValidationException
    -
    -
    Deprecated.  -

    -

    Apply validation for METHOD=REPLY. -

    -

    - -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    -
    - -

    -validateAdd

    -
    -public final void validateAdd()
    -                       throws ValidationException
    -
    -
    Deprecated.  -

    -

    Apply validation for METHOD=ADD. -

    -

    - -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    -
    - -

    -validateCancel

    -
    -public final void validateCancel()
    -                          throws ValidationException
    -
    -
    Deprecated.  -

    -

    Apply validation for METHOD=CANCEL. -

    -

    - -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    -
    - -

    -validateRefresh

    -
    -public final void validateRefresh()
    -                           throws ValidationException
    -
    -
    Deprecated.  -

    -

    Apply validation for METHOD=REFRESH. -

    -

    - -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    -
    - -

    -validateCounter

    -
    -public final void validateCounter()
    -                           throws ValidationException
    -
    -
    Deprecated.  -

    -

    Apply validation for METHOD=COUNTER. -

    -

    - -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    -
    - -

    -validateDeclineCounter

    -
    -public final void validateDeclineCounter()
    -                                  throws ValidationException
    -
    -
    Deprecated.  -

    -

    Apply validation for METHOD=DECLINE-COUNTER. -

    -

    - -
    Throws: -
    ValidationException - where the component does not comply with RFC2446
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Daylight.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Daylight.html deleted file mode 100644 index ff260642..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Daylight.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - -Daylight (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class Daylight

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.Observance
    -          extended by net.fortuna.ical4j.model.component.Daylight
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Daylight
    extends Observance
    - - -

    -$Id$ [05-Apr-2004] - - Defines an iCalendar daylight savings timezone observance component. - -

    -
    -       daylightc  = "BEGIN" ":" "DAYLIGHT" CRLF
    -
    -                    tzprop
    -
    -                    "END" ":" "DAYLIGHT" CRLF
    -
    -       tzprop     = 3*(
    -
    -                  ; the following are each REQUIRED,
    -                  ; but MUST NOT occur more than once
    -
    -                  dtstart / tzoffsetto / tzoffsetfrom /
    -
    -                  ; the following are optional,
    -                  ; and MAY occur more than once
    -
    -                  comment / rdate / rrule / tzname / x-prop
    -
    -                  )
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.Observance
    DAYLIGHT, STANDARD
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Daylight() - -
    -          Default constructor.
    Daylight(PropertyList properties) - -
    -          Constructor.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.Observance
    getLatestOnset, getOffsetFrom, getOffsetTo, getStartDate, validate
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Daylight

    -
    -public Daylight()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Daylight

    -
    -public Daylight(PropertyList properties)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Observance.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Observance.html deleted file mode 100644 index 18a0c51b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Observance.html +++ /dev/null @@ -1,472 +0,0 @@ - - - - - - - -Observance (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class Observance

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.Observance
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    Daylight, Standard
    -
    -
    -
    -
    public abstract class Observance
    extends Component
    - - -

    -$Id$ [05-Apr-2004] - - Defines an iCalendar sub-component representing a timezone observance. Class made abstract such that only Standard - and Daylight instances are valid. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringDAYLIGHT - -
    -          Token for daylight observance.
    -static StringSTANDARD - -
    -          one of 'standardc' or 'daylightc' MUST occur and each MAY occur more than once.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - - - -
    -Constructor Summary
    -protected Observance(String name) - -
    -          Constructs a timezone observance with the specified name and no properties.
    -protected Observance(String name, - PropertyList properties) - -
    -          Constructor protected to enforce use of sub-classes from this library.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - DategetLatestOnset(Date date) - -
    -          Returns the latest applicable onset of this observance for the specified date.
    - TzOffsetFromgetOffsetFrom() - -
    -          Returns the mandatory tzoffsetfrom property.
    - TzOffsetTogetOffsetTo() - -
    -          Returns the mandatory tzoffsetto property.
    - DtStartgetStartDate() - -
    -          Returns the mandatory dtstart property.
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -STANDARD

    -
    -public static final String STANDARD
    -
    -
    one of 'standardc' or 'daylightc' MUST occur and each MAY occur more than once. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DAYLIGHT

    -
    -public static final String DAYLIGHT
    -
    -
    Token for daylight observance. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Observance

    -
    -protected Observance(String name)
    -
    -
    Constructs a timezone observance with the specified name and no properties. -

    -

    -
    Parameters:
    name - the name of this observance component
    -
    -
    - -

    -Observance

    -
    -protected Observance(String name,
    -                     PropertyList properties)
    -
    -
    Constructor protected to enforce use of sub-classes from this library. -

    -

    -
    Parameters:
    name - the name of the time type
    properties - a list of properties
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getLatestOnset

    -
    -public final Date getLatestOnset(Date date)
    -
    -
    Returns the latest applicable onset of this observance for the specified date. -

    -

    -
    Parameters:
    date - the latest date that an observance onset may occur -
    Returns:
    the latest applicable observance date or null if there is no applicable observance onset for the - specified date
    -
    -
    -
    - -

    -getStartDate

    -
    -public final DtStart getStartDate()
    -
    -
    Returns the mandatory dtstart property. -

    -

    - -
    Returns:
    the DTSTART property or null if not specified
    -
    -
    -
    - -

    -getOffsetFrom

    -
    -public final TzOffsetFrom getOffsetFrom()
    -
    -
    Returns the mandatory tzoffsetfrom property. -

    -

    - -
    Returns:
    the TZOFFSETFROM property or null if not specified
    -
    -
    -
    - -

    -getOffsetTo

    -
    -public final TzOffsetTo getOffsetTo()
    -
    -
    Returns the mandatory tzoffsetto property. -

    -

    - -
    Returns:
    the TZOFFSETTO property or null if not specified
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Standard.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Standard.html deleted file mode 100644 index 322e260f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/Standard.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - -Standard (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class Standard

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.Observance
    -          extended by net.fortuna.ical4j.model.component.Standard
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Standard
    extends Observance
    - - -

    -$Id$ [05-Apr-2004] - - Defines an iCalendar standard timezone observance component. - -

    -
    -       standardc  = "BEGIN" ":" "STANDARD" CRLF
    -
    -                    tzprop
    -
    -                    "END" ":" "STANDARD" CRLF
    -
    -       tzprop     = 3*(
    -
    -                  ; the following are each REQUIRED,
    -                  ; but MUST NOT occur more than once
    -
    -                  dtstart / tzoffsetto / tzoffsetfrom /
    -
    -                  ; the following are optional,
    -                  ; and MAY occur more than once
    -
    -                  comment / rdate / rrule / tzname / x-prop
    -
    -                  )
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.Observance
    DAYLIGHT, STANDARD
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Standard() - -
    -          Default constructor.
    Standard(PropertyList properties) - -
    -          Constructor.
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.Observance
    getLatestOnset, getOffsetFrom, getOffsetTo, getStartDate, validate
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Standard

    -
    -public Standard()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Standard

    -
    -public Standard(PropertyList properties)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VAlarm.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VAlarm.html deleted file mode 100644 index c3ceccd4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VAlarm.html +++ /dev/null @@ -1,698 +0,0 @@ - - - - - - - -VAlarm (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class VAlarm

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.VAlarm
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class VAlarm
    extends CalendarComponent
    - - -

    -$Id$ [Apr 5, 2004] - - Defines an iCalendar VALARM component. - -

    -    4.6.6 Alarm Component
    -
    -       Component Name: VALARM
    -
    -       Purpose: Provide a grouping of component properties that define an
    -       alarm.
    -
    -       Formal Definition: A "VALARM" calendar component is defined by the
    -       following notation:
    -
    -              alarmc     = "BEGIN" ":" "VALARM" CRLF
    -                           (audioprop / dispprop / emailprop / procprop)
    -                           "END" ":" "VALARM" CRLF
    -
    -         audioprop  = 2*(
    -
    -                    ; 'action' and 'trigger' are both REQUIRED,
    -                    ; but MUST NOT occur more than once
    -
    -                    action / trigger /
    -
    -                    ; 'duration' and 'repeat' are both optional,
    -                    ; and MUST NOT occur more than once each,
    -                    ; but if one occurs, so MUST the other
    -
    -                    duration / repeat /
    -
    -                    ; the following is optional,
    -                    ; but MUST NOT occur more than once
    -
    -                    attach /
    -
    -                    ; the following is optional,
    -                    ; and MAY occur more than once
    -
    -                    x-prop
    -
    -                    )
    -
    -
    -
    -         dispprop   = 3*(
    -
    -                    ; the following are all REQUIRED,
    -                    ; but MUST NOT occur more than once
    -
    -                    action / description / trigger /
    -
    -                    ; 'duration' and 'repeat' are both optional,
    -                    ; and MUST NOT occur more than once each,
    -                    ; but if one occurs, so MUST the other
    -
    -                    duration / repeat /
    -
    -                    ; the following is optional,
    -                    ; and MAY occur more than once
    -
    -                    *x-prop
    -
    -                    )
    -
    -
    -
    -         emailprop  = 5*(
    -
    -                    ; the following are all REQUIRED,
    -                    ; but MUST NOT occur more than once
    -
    -                    action / description / trigger / summary
    -
    -                    ; the following is REQUIRED,
    -                    ; and MAY occur more than once
    -
    -                    attendee /
    -
    -                    ; 'duration' and 'repeat' are both optional,
    -                    ; and MUST NOT occur more than once each,
    -                    ; but if one occurs, so MUST the other
    -
    -                    duration / repeat /
    -
    -                    ; the following are optional,
    -                    ; and MAY occur more than once
    -
    -                    attach / x-prop
    -
    -                    )
    -
    -
    -
    -         procprop   = 3*(
    -
    -                    ; the following are all REQUIRED,
    -                    ; but MUST NOT occur more than once
    -
    -                    action / attach / trigger /
    -
    -                    ; 'duration' and 'repeat' are both optional,
    -                    ; and MUST NOT occur more than once each,
    -                    ; but if one occurs, so MUST the other
    -
    -                    duration / repeat /
    -
    -                    ; 'description' is optional,
    -                    ; and MUST NOT occur more than once
    -
    -                    description /
    -
    -                    ; the following is optional,
    -                    ; and MAY occur more than once
    -
    -                    x-prop
    -
    -                    )
    - 
    - - Example 1 - Creating an alarm to trigger at a specific time: - -
    
    - java.util.Calendar cal = java.util.Calendar.getInstance();
    - cal.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER);
    - cal.set(java.util.Calendar.DAY_OF_MONTH, 25);
    -
    - VAlarm christmas = new VAlarm(cal.getTime());
    - 
    - - Example 2 - Creating an alarm to trigger one (1) hour before the scheduled start of the parent event/the parent todo - is due: - -
    
    - VAlarm reminder = new VAlarm(new Dur(0, -1, 0, 0));
    -
    - // repeat reminder four (4) more times every fifteen (15) minutes..
    - reminder.getProperties().add(new Repeat(4));
    - reminder.getProperties().add(new Duration(new Dur(0, 0, 15, 0)));
    -
    - // display a message..
    - reminder.getProperties().add(Action.DISPLAY);
    - reminder.getProperties().add(new Description("Progress Meeting at 9:30am"));
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    VAlarm() - -
    -          Default constructor.
    VAlarm(DateTime trigger) - -
    -          Constructs a new VALARM instance that will trigger at the specified time.
    VAlarm(Dur trigger) - -
    -          Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component.
    VAlarm(PropertyList properties) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ActiongetAction() - -
    -          Returns the mandatory action property.
    - AttachgetAttachment() - -
    -          Returns the optional attachment property.
    - DescriptiongetDescription() - -
    -          Returns the optional description property.
    - DurationgetDuration() - -
    -          Returns the optional duration property.
    - RepeatgetRepeat() - -
    -          Returns the optional repeat property.
    - SummarygetSummary() - -
    -          Returns the optional summary property.
    - TriggergetTrigger() - -
    -          Returns the mandatory trigger property.
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VAlarm

    -
    -public VAlarm()
    -
    -
    Default constructor. -

    -

    -
    - -

    -VAlarm

    -
    -public VAlarm(PropertyList properties)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    -
    - -

    -VAlarm

    -
    -public VAlarm(DateTime trigger)
    -
    -
    Constructs a new VALARM instance that will trigger at the specified time. -

    -

    -
    Parameters:
    trigger - the time the alarm will trigger
    -
    -
    - -

    -VAlarm

    -
    -public VAlarm(Dur trigger)
    -
    -
    Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component. -

    -

    -
    Parameters:
    trigger - a duration of time relative to the parent component that the alarm will trigger at
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    -
    - -

    -getAction

    -
    -public final Action getAction()
    -
    -
    Returns the mandatory action property. -

    -

    - -
    Returns:
    the ACTION property or null if not specified
    -
    -
    -
    - -

    -getTrigger

    -
    -public final Trigger getTrigger()
    -
    -
    Returns the mandatory trigger property. -

    -

    - -
    Returns:
    the TRIGGER property or null if not specified
    -
    -
    -
    - -

    -getDuration

    -
    -public final Duration getDuration()
    -
    -
    Returns the optional duration property. -

    -

    - -
    Returns:
    the DURATION property or null if not specified
    -
    -
    -
    - -

    -getRepeat

    -
    -public final Repeat getRepeat()
    -
    -
    Returns the optional repeat property. -

    -

    - -
    Returns:
    the REPEAT property or null if not specified
    -
    -
    -
    - -

    -getAttachment

    -
    -public final Attach getAttachment()
    -
    -
    Returns the optional attachment property. -

    -

    - -
    Returns:
    the ATTACH property or null if not specified
    -
    -
    -
    - -

    -getDescription

    -
    -public final Description getDescription()
    -
    -
    Returns the optional description property. -

    -

    - -
    Returns:
    the DESCRIPTION property or null if not specified
    -
    -
    -
    - -

    -getSummary

    -
    -public final Summary getSummary()
    -
    -
    Returns the optional summary property. -

    -

    - -
    Returns:
    the SUMMARY property or null if not specified
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VAvailability.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VAvailability.html deleted file mode 100644 index d50d5142..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VAvailability.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - -VAvailability (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class VAvailability

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.VAvailability
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class VAvailability
    extends CalendarComponent
    - - -

    -$Id$ [Apr 5, 2004] - - Defines an iCalendar VAVAILABILITY component. - -

    -   Component Name:  VAVAILABILITY
    -
    -   Purpose:  Provide a grouping of component properties that describe
    -      the availability associated with a calendar user.
    -
    -   Format Definition:  A "VAVAILABILITY" calendar component is defined
    -      by the following notation:
    -
    -          availabilityc  = "BEGIN" ":" "VAVAILABILITY" CRLF
    -                           availabilityprop *availablec
    -                           "END" ":" "VAVAILABILITY" CRLF
    -
    -          availabilityprop  = *(
    -
    -                            ; the following are REQUIRED,
    -                            ; but MUST NOT occur more than once
    -
    -                            dtstamp / dtstart / uid
    -
    -                            ; the following are OPTIONAL,
    -                            ; but MUST NOT occur more than once
    -
    -                            busytype / created / last-mod /
    -                            organizer / seq / summary / url /
    -
    -                            ; either 'dtend' or 'duration' may appear
    -                            ; in a 'availabilityprop', but 'dtend' and
    -                            ; 'duration' MUST NOT occur in the same
    -                            ; 'availabilityprop'
    -
    -                            dtend / duration /
    -
    -                            ; the following are OPTIONAL,
    -                            ; and MAY occur more than once
    -
    -                            categories / comment / contact / x-prop
    -
    -                            )
    -
    -
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    VAvailability() - -
    -          Default constructor.
    VAvailability(PropertyList properties) - -
    -          Constructs a new instance containing the specified properties.
    VAvailability(PropertyList properties, - ComponentList available) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ComponentListgetAvailable() - -
    -          Returns the list of available times.
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - StringtoString() - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VAvailability

    -
    -public VAvailability()
    -
    -
    Default constructor. -

    -

    -
    - -

    -VAvailability

    -
    -public VAvailability(PropertyList properties)
    -
    -
    Constructs a new instance containing the specified properties. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    -
    - -

    -VAvailability

    -
    -public VAvailability(PropertyList properties,
    -                     ComponentList available)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    available - a list of available components
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAvailable

    -
    -public final ComponentList getAvailable()
    -
    -
    Returns the list of available times. -

    -

    - -
    Returns:
    a component list
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Component
    -
    -
    -
    -
    -
    -
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VEvent.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VEvent.html deleted file mode 100644 index e8d8809a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VEvent.html +++ /dev/null @@ -1,1203 +0,0 @@ - - - - - - - -VEvent (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class VEvent

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.VEvent
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class VEvent
    extends CalendarComponent
    - - -

    -$Id$ [Apr 5, 2004] - - Defines an iCalendar VEVENT component. - -

    -       4.6.1 Event Component
    -   
    -          Component Name: "VEVENT"
    -   
    -          Purpose: Provide a grouping of component properties that describe an
    -          event.
    -   
    -          Format Definition: A "VEVENT" calendar component is defined by the
    -          following notation:
    -   
    -            eventc     = "BEGIN" ":" "VEVENT" CRLF
    -                         eventprop *alarmc
    -                         "END" ":" "VEVENT" CRLF
    -   
    -            eventprop  = *(
    -   
    -                       ; the following are optional,
    -                       ; but MUST NOT occur more than once
    -   
    -                       class / created / description / dtstart / geo /
    -                       last-mod / location / organizer / priority /
    -                       dtstamp / seq / status / summary / transp /
    -                       uid / url / recurid /
    -   
    -                       ; either 'dtend' or 'duration' may appear in
    -                       ; a 'eventprop', but 'dtend' and 'duration'
    -                       ; MUST NOT occur in the same 'eventprop'
    -   
    -                       dtend / duration /
    -   
    -                       ; the following are optional,
    -                       ; and MAY occur more than once
    -   
    -                       attach / attendee / categories / comment /
    -                       contact / exdate / exrule / rstatus / related /
    -                       resources / rdate / rrule / x-prop
    -   
    -                       )
    - 
    - - Example 1 - Creating a new all-day event: - -
    
    - java.util.Calendar cal = java.util.Calendar.getInstance();
    - cal.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER);
    - cal.set(java.util.Calendar.DAY_OF_MONTH, 25);
    - 
    - VEvent christmas = new VEvent(cal.getTime(), "Christmas Day");
    - 
    - // initialise as an all-day event..
    - christmas.getProperties().getProperty(Property.DTSTART).getParameters().add(
    -         Value.DATE);
    - 
    - // add timezone information..
    - VTimeZone tz = VTimeZone.getDefault();
    - TzId tzParam = new TzId(tz.getProperties().getProperty(Property.TZID)
    -         .getValue());
    - christmas.getProperties().getProperty(Property.DTSTART).getParameters().add(
    -         tzParam);
    - 
    - - Example 2 - Creating an event of one (1) hour duration: - -
    
    - java.util.Calendar cal = java.util.Calendar.getInstance();
    - // tomorrow..
    - cal.add(java.util.Calendar.DAY_OF_MONTH, 1);
    - cal.set(java.util.Calendar.HOUR_OF_DAY, 9);
    - cal.set(java.util.Calendar.MINUTE, 30);
    - 
    - VEvent meeting = new VEvent(cal.getTime(), 1000 * 60 * 60, "Progress Meeting");
    - 
    - // add timezone information..
    - VTimeZone tz = VTimeZone.getDefault();
    - TzId tzParam = new TzId(tz.getProperties().getProperty(Property.TZID)
    -         .getValue());
    - meeting.getProperties().getProperty(Property.DTSTART).getParameters().add(
    -         tzParam);
    - 
    - - Example 3 - Retrieve a list of periods representing a recurring event in a specified range: - -
    
    - Calendar weekday9AM = Calendar.getInstance();
    - weekday9AM.set(2005, Calendar.MARCH, 7, 9, 0, 0);
    - weekday9AM.set(Calendar.MILLISECOND, 0);
    - 
    - Calendar weekday5PM = Calendar.getInstance();
    - weekday5PM.set(2005, Calendar.MARCH, 7, 17, 0, 0);
    - weekday5PM.set(Calendar.MILLISECOND, 0);
    - 
    - // Do the recurrence until December 31st.
    - Calendar untilCal = Calendar.getInstance();
    - untilCal.set(2005, Calendar.DECEMBER, 31);
    - untilCal.set(Calendar.MILLISECOND, 0);
    - 
    - // 9:00AM to 5:00PM Rule
    - Recur recur = new Recur(Recur.WEEKLY, untilCal.getTime());
    - recur.getDayList().add(WeekDay.MO);
    - recur.getDayList().add(WeekDay.TU);
    - recur.getDayList().add(WeekDay.WE);
    - recur.getDayList().add(WeekDay.TH);
    - recur.getDayList().add(WeekDay.FR);
    - recur.setInterval(3);
    - recur.setWeekStartDay(WeekDay.MO.getDay());
    - RRule rrule = new RRule(recur);
    - 
    - Summary summary = new Summary("TEST EVENTS THAT HAPPEN 9-5 MON-FRI");
    - 
    - weekdayNineToFiveEvents = new VEvent();
    - weekdayNineToFiveEvents.getProperties().add(rrule);
    - weekdayNineToFiveEvents.getProperties().add(summary);
    - weekdayNineToFiveEvents.getProperties().add(new DtStart(weekday9AM.getTime()));
    - weekdayNineToFiveEvents.getProperties().add(new DtEnd(weekday5PM.getTime()));
    - 
    - // Test Start 04/01/2005, End One month later.
    - // Query Calendar Start and End Dates.
    - Calendar queryStartDate = Calendar.getInstance();
    - queryStartDate.set(2005, Calendar.APRIL, 1, 14, 47, 0);
    - queryStartDate.set(Calendar.MILLISECOND, 0);
    - Calendar queryEndDate = Calendar.getInstance();
    - queryEndDate.set(2005, Calendar.MAY, 1, 11, 15, 0);
    - queryEndDate.set(Calendar.MILLISECOND, 0);
    - 
    - // This range is monday to friday every three weeks, starting from
    - // March 7th 2005, which means for our query dates we need
    - // April 18th through to the 22nd.
    - PeriodList periods = weekdayNineToFiveEvents.getPeriods(queryStartDate
    -         .getTime(), queryEndDate.getTime());
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    VEvent() - -
    -          Default constructor.
    VEvent(Date start, - Date end, - String summary) - -
    -          Constructs a new VEVENT instance starting and ending at the specified times with the specified summary.
    VEvent(Date start, - Dur duration, - String summary) - -
    -          Constructs a new VEVENT instance starting at the specified times, for the specified duration, with the specified - summary.
    VEvent(Date start, - String summary) - -
    -          Constructs a new VEVENT instance starting at the specified time with the specified summary.
    VEvent(PropertyList properties) - -
    -          Constructor.
    VEvent(PropertyList properties, - ComponentList alarms) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Componentcopy() - -
    -          Overrides default copy method to add support for copying alarm sub-components.
    - booleanequals(Object arg0) - -
    -          
    - ComponentListgetAlarms() - -
    -          Returns the list of alarms for this event.
    - ClazzgetClassification() - -
    -           
    - PeriodListgetConsumedTime(Date rangeStart, - Date rangeEnd) - -
    -          Returns a normalised list of periods representing the consumed time for this event.
    - PeriodListgetConsumedTime(Date rangeStart, - Date rangeEnd, - boolean normalise) - -
    -          Returns a list of periods representing the consumed time for this event in the specified range.
    - CreatedgetCreated() - -
    -           
    - DtStampgetDateStamp() - -
    -           
    - DescriptiongetDescription() - -
    -           
    - DurationgetDuration() - -
    -           
    - DtEndgetEndDate() - -
    -          Returns the end date of this event.
    - DtEndgetEndDate(boolean deriveFromDuration) - -
    -          Convenience method to pull the DTEND out of the property list.
    - GeogetGeographicPos() - -
    -           
    - LastModifiedgetLastModified() - -
    -           
    - LocationgetLocation() - -
    -           
    - VEventgetOccurrence(Date date) - -
    -          Returns a single occurrence of a recurring event.
    - OrganizergetOrganizer() - -
    -           
    - PrioritygetPriority() - -
    -           
    - RecurrenceIdgetRecurrenceId() - -
    -           
    - SequencegetSequence() - -
    -           
    - DtStartgetStartDate() - -
    -          Convenience method to pull the DTSTART out of the property list.
    - StatusgetStatus() - -
    -           
    - SummarygetSummary() - -
    -           
    - TranspgetTransparency() - -
    -           
    - UidgetUid() - -
    -          Returns the UID property of this component if available.
    - UrlgetUrl() - -
    -           
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - inthashCode() - -
    -          
    - StringtoString() - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, getName, getProperties, getProperties, getProperty, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VEvent

    -
    -public VEvent()
    -
    -
    Default constructor. -

    -

    -
    - -

    -VEvent

    -
    -public VEvent(PropertyList properties)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    -
    - -

    -VEvent

    -
    -public VEvent(PropertyList properties,
    -              ComponentList alarms)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    alarms - a list of alarms
    -
    -
    - -

    -VEvent

    -
    -public VEvent(Date start,
    -              String summary)
    -
    -
    Constructs a new VEVENT instance starting at the specified time with the specified summary. -

    -

    -
    Parameters:
    start - the start date of the new event
    summary - the event summary
    -
    -
    - -

    -VEvent

    -
    -public VEvent(Date start,
    -              Date end,
    -              String summary)
    -
    -
    Constructs a new VEVENT instance starting and ending at the specified times with the specified summary. -

    -

    -
    Parameters:
    start - the start date of the new event
    end - the end date of the new event
    summary - the event summary
    -
    -
    - -

    -VEvent

    -
    -public VEvent(Date start,
    -              Dur duration,
    -              String summary)
    -
    -
    Constructs a new VEVENT instance starting at the specified times, for the specified duration, with the specified - summary. -

    -

    -
    Parameters:
    start - the start date of the new event
    duration - the duration of the new event
    summary - the event summary
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAlarms

    -
    -public final ComponentList getAlarms()
    -
    -
    Returns the list of alarms for this event. -

    -

    - -
    Returns:
    a component list
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Component
    -
    -
    -
    -
    -
    -
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    -
    - -

    -getConsumedTime

    -
    -public final PeriodList getConsumedTime(Date rangeStart,
    -                                        Date rangeEnd)
    -
    -
    Returns a normalised list of periods representing the consumed time for this event. -

    -

    -
    Parameters:
    rangeStart - the start of a range
    rangeEnd - the end of a range -
    Returns:
    a normalised list of periods representing consumed time for this event
    See Also:
    getConsumedTime(Date, Date, boolean)
    -
    -
    -
    - -

    -getConsumedTime

    -
    -public final PeriodList getConsumedTime(Date rangeStart,
    -                                        Date rangeEnd,
    -                                        boolean normalise)
    -
    -
    Returns a list of periods representing the consumed time for this event in the specified range. Note that the - returned list may contain a single period for non-recurring components or multiple periods for recurring - components. If no time is consumed by this event an empty list is returned. -

    -

    -
    Parameters:
    rangeStart - the start of the range to check for consumed time
    rangeEnd - the end of the range to check for consumed time
    normalise - indicate whether the returned list of periods should be normalised -
    Returns:
    a list of periods representing consumed time for this event
    -
    -
    -
    - -

    -getOccurrence

    -
    -public final VEvent getOccurrence(Date date)
    -                           throws IOException,
    -                                  URISyntaxException,
    -                                  ParseException
    -
    -
    Returns a single occurrence of a recurring event. -

    -

    -
    Parameters:
    date - a date on which the occurence should occur -
    Returns:
    a single non-recurring event instance for the specified date, or null if the event doesn't - occur on the specified date -
    Throws: -
    IOException - where an error occurs reading data -
    URISyntaxException - where an invalid URI is encountered -
    ParseException - where an error occurs parsing data
    -
    -
    -
    - -

    -getClassification

    -
    -public final Clazz getClassification()
    -
    -
    - -
    Returns:
    the optional access classification property for an event
    -
    -
    -
    - -

    -getCreated

    -
    -public final Created getCreated()
    -
    -
    - -
    Returns:
    the optional creation-time property for an event
    -
    -
    -
    - -

    -getDescription

    -
    -public final Description getDescription()
    -
    -
    - -
    Returns:
    the optional description property for an event
    -
    -
    -
    - -

    -getStartDate

    -
    -public final DtStart getStartDate()
    -
    -
    Convenience method to pull the DTSTART out of the property list. -

    -

    - -
    Returns:
    The DtStart object representation of the start Date
    -
    -
    -
    - -

    -getGeographicPos

    -
    -public final Geo getGeographicPos()
    -
    -
    - -
    Returns:
    the optional geographic position property for an event
    -
    -
    -
    - -

    -getLastModified

    -
    -public final LastModified getLastModified()
    -
    -
    - -
    Returns:
    the optional last-modified property for an event
    -
    -
    -
    - -

    -getLocation

    -
    -public final Location getLocation()
    -
    -
    - -
    Returns:
    the optional location property for an event
    -
    -
    -
    - -

    -getOrganizer

    -
    -public final Organizer getOrganizer()
    -
    -
    - -
    Returns:
    the optional organizer property for an event
    -
    -
    -
    - -

    -getPriority

    -
    -public final Priority getPriority()
    -
    -
    - -
    Returns:
    the optional priority property for an event
    -
    -
    -
    - -

    -getDateStamp

    -
    -public final DtStamp getDateStamp()
    -
    -
    - -
    Returns:
    the optional date-stamp property
    -
    -
    -
    - -

    -getSequence

    -
    -public final Sequence getSequence()
    -
    -
    - -
    Returns:
    the optional sequence number property for an event
    -
    -
    -
    - -

    -getStatus

    -
    -public final Status getStatus()
    -
    -
    - -
    Returns:
    the optional status property for an event
    -
    -
    -
    - -

    -getSummary

    -
    -public final Summary getSummary()
    -
    -
    - -
    Returns:
    the optional summary property for an event
    -
    -
    -
    - -

    -getTransparency

    -
    -public final Transp getTransparency()
    -
    -
    - -
    Returns:
    the optional time transparency property for an event
    -
    -
    -
    - -

    -getUrl

    -
    -public final Url getUrl()
    -
    -
    - -
    Returns:
    the optional URL property for an event
    -
    -
    -
    - -

    -getRecurrenceId

    -
    -public final RecurrenceId getRecurrenceId()
    -
    -
    - -
    Returns:
    the optional recurrence identifier property for an event
    -
    -
    -
    - -

    -getEndDate

    -
    -public final DtEnd getEndDate()
    -
    -
    Returns the end date of this event. Where an end date is not available it will be derived from the event - duration. -

    -

    - -
    Returns:
    a DtEnd instance, or null if one cannot be derived
    -
    -
    -
    - -

    -getEndDate

    -
    -public final DtEnd getEndDate(boolean deriveFromDuration)
    -
    -
    Convenience method to pull the DTEND out of the property list. If DTEND was not specified, use the DTSTART + - DURATION to calculate it. -

    -

    -
    Parameters:
    deriveFromDuration - specifies whether to derive an end date from the event duration where an end date is - not found -
    Returns:
    The end for this VEVENT.
    -
    -
    -
    - -

    -getDuration

    -
    -public final Duration getDuration()
    -
    -
    - -
    Returns:
    the optional Duration property
    -
    -
    -
    - -

    -getUid

    -
    -public final Uid getUid()
    -
    -
    Returns the UID property of this component if available. -

    -

    - -
    Returns:
    a Uid instance, or null if no UID property exists
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Component
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Component
    -
    -
    -
    -
    -
    -
    - -

    -copy

    -
    -public Component copy()
    -               throws ParseException,
    -                      IOException,
    -                      URISyntaxException
    -
    -
    Overrides default copy method to add support for copying alarm sub-components. -

    -

    -
    Overrides:
    copy in class Component
    -
    -
    - -
    Returns:
    a copy of the instance -
    Throws: -
    ParseException - where values in the instance cannot be parsed -
    IOException - where values in the instance cannot be read -
    URISyntaxException - where an invalid URI value is encountered in the instance
    See Also:
    Component.copy()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VFreeBusy.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VFreeBusy.html deleted file mode 100644 index 888dca74..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VFreeBusy.html +++ /dev/null @@ -1,750 +0,0 @@ - - - - - - - -VFreeBusy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class VFreeBusy

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.VFreeBusy
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class VFreeBusy
    extends CalendarComponent
    - - -

    -$Id$ [Apr 5, 2004] - - Defines an iCalendar VFREEBUSY component. - -

    -  4.6.4 Free/Busy Component
    -
    -     Component Name: VFREEBUSY
    -
    -     Purpose: Provide a grouping of component properties that describe
    -     either a request for free/busy time, describe a response to a request
    -     for free/busy time or describe a published set of busy time.
    -
    -     Formal Definition: A "VFREEBUSY" calendar component is defined by the
    -     following notation:
    -
    -       freebusyc  = "BEGIN" ":" "VFREEBUSY" CRLF
    -                    fbprop
    -                    "END" ":" "VFREEBUSY" CRLF
    -
    -       fbprop     = *(
    -
    -                  ; the following are optional,
    -                  ; but MUST NOT occur more than once
    -
    -                  contact / dtstart / dtend / duration / dtstamp /
    -                  organizer / uid / url /
    -
    -                  ; the following are optional,
    -                  ; and MAY occur more than once
    -
    -                  attendee / comment / freebusy / rstatus / x-prop
    -
    -                  )
    -
    -     Description: A "VFREEBUSY" calendar component is a grouping of
    -     component properties that represents either a request for, a reply to
    -     a request for free or busy time information or a published set of
    -     busy time information.
    -
    -     When used to request free/busy time information, the "ATTENDEE"
    -     property specifies the calendar users whose free/busy time is being
    -     requested; the "ORGANIZER" property specifies the calendar user who
    -     is requesting the free/busy time; the "DTSTART" and "DTEND"
    -     properties specify the window of time for which the free/busy time is
    -     being requested; the "UID" and "DTSTAMP" properties are specified to
    -     assist in proper sequencing of multiple free/busy time requests.
    -
    -     When used to reply to a request for free/busy time, the "ATTENDEE"
    -     property specifies the calendar user responding to the free/busy time
    -     request; the "ORGANIZER" property specifies the calendar user that
    -     originally requested the free/busy time; the "FREEBUSY" property
    -     specifies the free/busy time information (if it exists); and the
    -     "UID" and "DTSTAMP" properties are specified to assist in proper
    -     sequencing of multiple free/busy time replies.
    -
    -     When used to publish busy time, the "ORGANIZER" property specifies
    -     the calendar user associated with the published busy time; the
    -     "DTSTART" and "DTEND" properties specify an inclusive time window
    -     that surrounds the busy time information; the "FREEBUSY" property
    -     specifies the published busy time information; and the "DTSTAMP"
    -     property specifies the date/time that iCalendar object was created.
    -
    -     The "VFREEBUSY" calendar component cannot be nested within another
    -     calendar component. Multiple "VFREEBUSY" calendar components can be
    -     specified within an iCalendar object. This permits the grouping of
    -     Free/Busy information into logical collections, such as monthly
    -     groups of busy time information.
    -
    -     The "VFREEBUSY" calendar component is intended for use in iCalendar
    -     object methods involving requests for free time, requests for busy
    -     time, requests for both free and busy, and the associated replies.
    -
    -     Free/Busy information is represented with the "FREEBUSY" property.
    -     This property provides a terse representation of time periods. One or
    -     more "FREEBUSY" properties can be specified in the "VFREEBUSY"
    -     calendar component.
    -
    -     When present in a "VFREEBUSY" calendar component, the "DTSTART" and
    -     "DTEND" properties SHOULD be specified prior to any "FREEBUSY"
    -     properties. In a free time request, these properties can be used in
    -     combination with the "DURATION" property to represent a request for a
    -     duration of free time within a specified window of time.
    -
    -     The recurrence properties ("RRULE", "EXRULE", "RDATE", "EXDATE") are
    -     not permitted within a "VFREEBUSY" calendar component. Any recurring
    -     events are resolved into their individual busy time periods using the
    -     "FREEBUSY" property.
    -
    -     Example: The following is an example of a "VFREEBUSY" calendar
    -     component used to request free or busy time information:
    -
    -       BEGIN:VFREEBUSY
    -       ORGANIZER:MAILTO:jane_doe@host1.com
    -       ATTENDEE:MAILTO:john_public@host2.com
    -       DTSTART:19971015T050000Z
    -       DTEND:19971016T050000Z
    -       DTSTAMP:19970901T083000Z
    -       END:VFREEBUSY
    -
    -     The following is an example of a "VFREEBUSY" calendar component used
    -     to reply to the request with busy time information:
    -
    -       BEGIN:VFREEBUSY
    -       ORGANIZER:MAILTO:jane_doe@host1.com
    -       ATTENDEE:MAILTO:john_public@host2.com
    -       DTSTAMP:19970901T100000Z
    -       FREEBUSY;VALUE=PERIOD:19971015T050000Z/PT8H30M,
    -        19971015T160000Z/PT5H30M,19971015T223000Z/PT6H30M
    -       URL:http://host2.com/pub/busy/jpublic-01.ifb
    -       COMMENT:This iCalendar file contains busy time information for
    -         the next three months.
    -       END:VFREEBUSY
    -
    -     The following is an example of a "VFREEBUSY" calendar component used
    -     to publish busy time information.
    -
    -       BEGIN:VFREEBUSY
    -       ORGANIZER:jsmith@host.com
    -       DTSTART:19980313T141711Z
    -       DTEND:19980410T141711Z
    -       FREEBUSY:19980314T233000Z/19980315T003000Z
    -       FREEBUSY:19980316T153000Z/19980316T163000Z
    -       FREEBUSY:19980318T030000Z/19980318T040000Z
    -       URL:http://www.host.com/calendar/busytime/jsmith.ifb
    -       END:VFREEBUSY
    - 
    - - Example 1 - Requesting all busy time slots for a given period: - -
    
    - // request all busy times between today and 1 week from now..
    - DateTime start = new DateTime();
    - DateTime end = new DateTime(start.getTime() + 1000 * 60 * 60 * 24 * 7);
    -
    - VFreeBusy request = new VFreeBusy(start, end);
    -
    - VFreeBusy reply = new VFreeBusy(request, calendar.getComponents());
    - 
    - - Example 2 - Requesting all free time slots for a given period of at least the specified duration: - -
    
    - // request all free time between today and 1 week from now of
    - // duration 2 hours or more..
    - DateTime start = new DateTime();
    - DateTime end = new DateTime(start.getTime() + 1000 * 60 * 60 * 24 * 7);
    -
    - VFreeBusy request = new VFreeBusy(start, end, new Dur(0, 2, 0, 0));
    -
    - VFreeBusy response = new VFreeBusy(request, myCalendar.getComponents());
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    VFreeBusy() - -
    -          Default constructor.
    VFreeBusy(DateTime start, - DateTime end) - -
    -          Constructs a new VFreeBusy instance with the specified start and end boundaries.
    VFreeBusy(DateTime start, - DateTime end, - Dur duration) - -
    -          Constructs a new VFreeBusy instance with the specified start and end boundaries.
    VFreeBusy(PropertyList properties) - -
    -          Constructor.
    VFreeBusy(VFreeBusy request, - ComponentList components) - -
    -          Constructs a new VFreeBusy instance representing a reply to the specified VFREEBUSY request according to the - specified list of components.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ContactgetContact() - -
    -           
    - DtStampgetDateStamp() - -
    -           
    - DurationgetDuration() - -
    -           
    - DtEndgetEndDate() - -
    -           
    - OrganizergetOrganizer() - -
    -           
    - DtStartgetStartDate() - -
    -           
    - UidgetUid() - -
    -          Returns the UID property of this component if available.
    - UrlgetUrl() - -
    -           
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VFreeBusy

    -
    -public VFreeBusy()
    -
    -
    Default constructor. -

    -

    -
    - -

    -VFreeBusy

    -
    -public VFreeBusy(PropertyList properties)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    -
    - -

    -VFreeBusy

    -
    -public VFreeBusy(DateTime start,
    -                 DateTime end)
    -
    -
    Constructs a new VFreeBusy instance with the specified start and end boundaries. This constructor should be used - for requesting busy time for a specified period. -

    -

    -
    Parameters:
    start - the starting boundary for the VFreeBusy
    end - the ending boundary for the VFreeBusy
    -
    -
    - -

    -VFreeBusy

    -
    -public VFreeBusy(DateTime start,
    -                 DateTime end,
    -                 Dur duration)
    -
    -
    Constructs a new VFreeBusy instance with the specified start and end boundaries. This constructor should be used - for requesting free time for a specified duration in given period defined by the start date and end date. -

    -

    -
    Parameters:
    start - the starting boundary for the VFreeBusy
    end - the ending boundary for the VFreeBusy
    duration - the length of the period being requested
    -
    -
    - -

    -VFreeBusy

    -
    -public VFreeBusy(VFreeBusy request,
    -                 ComponentList components)
    -
    -
    Constructs a new VFreeBusy instance representing a reply to the specified VFREEBUSY request according to the - specified list of components. - If the request argument has its duration set, then the result - represents a list of free times (that is, parameter FBTYPE - is set to FbType.FREE). - If the request argument does not have its duration set, then the result - represents a list of busy times. -

    -

    -
    Parameters:
    request - a VFREEBUSY request
    components - a component list used to initialise busy time -
    Throws: -
    ValidationException
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    -
    - -

    -getContact

    -
    -public final Contact getContact()
    -
    -
    - -
    Returns:
    the CONTACT property or null if not specified
    -
    -
    -
    - -

    -getStartDate

    -
    -public final DtStart getStartDate()
    -
    -
    - -
    Returns:
    the DTSTART propery or null if not specified
    -
    -
    -
    - -

    -getEndDate

    -
    -public final DtEnd getEndDate()
    -
    -
    - -
    Returns:
    the DTEND property or null if not specified
    -
    -
    -
    - -

    -getDuration

    -
    -public final Duration getDuration()
    -
    -
    - -
    Returns:
    the DURATION property or null if not specified
    -
    -
    -
    - -

    -getDateStamp

    -
    -public final DtStamp getDateStamp()
    -
    -
    - -
    Returns:
    the DTSTAMP property or null if not specified
    -
    -
    -
    - -

    -getOrganizer

    -
    -public final Organizer getOrganizer()
    -
    -
    - -
    Returns:
    the ORGANIZER property or null if not specified
    -
    -
    -
    - -

    -getUrl

    -
    -public final Url getUrl()
    -
    -
    - -
    Returns:
    the URL property or null if not specified
    -
    -
    -
    - -

    -getUid

    -
    -public final Uid getUid()
    -
    -
    Returns the UID property of this component if available. -

    -

    - -
    Returns:
    a Uid instance, or null if no UID property exists
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VJournal.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VJournal.html deleted file mode 100644 index d0cd5d6f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VJournal.html +++ /dev/null @@ -1,702 +0,0 @@ - - - - - - - -VJournal (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class VJournal

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.VJournal
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class VJournal
    extends CalendarComponent
    - - -

    -$Id$ [Apr 5, 2004] - - Defines an iCalendar VJOURNAL component. - -

    -    4.6.3 Journal Component
    -
    -       Component Name: VJOURNAL
    -
    -       Purpose: Provide a grouping of component properties that describe a
    -       journal entry.
    -
    -       Formal Definition: A "VJOURNAL" calendar component is defined by the
    -       following notation:
    -
    -         journalc   = "BEGIN" ":" "VJOURNAL" CRLF
    -                      jourprop
    -                      "END" ":" "VJOURNAL" CRLF
    -
    -         jourprop   = *(
    -
    -                    ; the following are optional,
    -                    ; but MUST NOT occur more than once
    -
    -                    class / created / description / dtstart / dtstamp /
    -                    last-mod / organizer / recurid / seq / status /
    -                    summary / uid / url /
    -
    -                    ; the following are optional,
    -                    ; and MAY occur more than once
    -
    -                    attach / attendee / categories / comment /
    -                    contact / exdate / exrule / related / rdate /
    -                    rrule / rstatus / x-prop
    -
    -                    )
    - 
    - - Example 1 - Creating a journal associated with an event: - -
    
    - DtStart meetingDate = (DtStart) meeting.getProperties().getProperty(
    -         Property.DTSTART);
    -
    - VJournal minutes = new VJournal(meetingDate.getTime(),
    -         "Progress Meeting - Minutes");
    -
    - // add timezone information..
    - TzId tzParam = meetingDate.getParameters().getParmaeter(Parameter.TZID);
    - minutes.getProperties().getProperty(Property.DTSTART).getParameters().add(
    -         tzParam);
    -
    - // add description..
    - minutes.getProperties().add(new Description("1. Agenda.., 2. Action Items.."));
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    VJournal() - -
    -          Default constructor.
    VJournal(Date start, - String summary) - -
    -          Constructs a new VJOURNAL instance associated with the specified time with the specified summary.
    VJournal(PropertyList properties) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - ClazzgetClassification() - -
    -           
    - CreatedgetCreated() - -
    -           
    - DtStampgetDateStamp() - -
    -           
    - DescriptiongetDescription() - -
    -           
    - LastModifiedgetLastModified() - -
    -           
    - OrganizergetOrganizer() - -
    -           
    - RecurrenceIdgetRecurrenceId() - -
    -           
    - SequencegetSequence() - -
    -           
    - DtStartgetStartDate() - -
    -          Convenience method to pull the DTSTART out of the property list.
    - StatusgetStatus() - -
    -           
    - SummarygetSummary() - -
    -           
    - UidgetUid() - -
    -          Returns the UID property of this component if available.
    - UrlgetUrl() - -
    -           
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VJournal

    -
    -public VJournal()
    -
    -
    Default constructor. -

    -

    -
    - -

    -VJournal

    -
    -public VJournal(PropertyList properties)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    -
    - -

    -VJournal

    -
    -public VJournal(Date start,
    -                String summary)
    -
    -
    Constructs a new VJOURNAL instance associated with the specified time with the specified summary. -

    -

    -
    Parameters:
    start - the date the journal entry is associated with
    summary - the journal summary
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    -
    - -

    -getClassification

    -
    -public final Clazz getClassification()
    -
    -
    - -
    Returns:
    the optional access classification property for a journal entry
    -
    -
    -
    - -

    -getCreated

    -
    -public final Created getCreated()
    -
    -
    - -
    Returns:
    the optional creation-time property for a journal entry
    -
    -
    -
    - -

    -getDescription

    -
    -public final Description getDescription()
    -
    -
    - -
    Returns:
    the optional description property for a journal entry
    -
    -
    -
    - -

    -getStartDate

    -
    -public final DtStart getStartDate()
    -
    -
    Convenience method to pull the DTSTART out of the property list. -

    -

    - -
    Returns:
    The DtStart object representation of the start Date
    -
    -
    -
    - -

    -getLastModified

    -
    -public final LastModified getLastModified()
    -
    -
    - -
    Returns:
    the optional last-modified property for a journal entry
    -
    -
    -
    - -

    -getOrganizer

    -
    -public final Organizer getOrganizer()
    -
    -
    - -
    Returns:
    the optional organizer property for a journal entry
    -
    -
    -
    - -

    -getDateStamp

    -
    -public final DtStamp getDateStamp()
    -
    -
    - -
    Returns:
    the optional date-stamp property
    -
    -
    -
    - -

    -getSequence

    -
    -public final Sequence getSequence()
    -
    -
    - -
    Returns:
    the optional sequence number property for a journal entry
    -
    -
    -
    - -

    -getStatus

    -
    -public final Status getStatus()
    -
    -
    - -
    Returns:
    the optional status property for a journal entry
    -
    -
    -
    - -

    -getSummary

    -
    -public final Summary getSummary()
    -
    -
    - -
    Returns:
    the optional summary property for a journal entry
    -
    -
    -
    - -

    -getUrl

    -
    -public final Url getUrl()
    -
    -
    - -
    Returns:
    the optional URL property for a journal entry
    -
    -
    -
    - -

    -getRecurrenceId

    -
    -public final RecurrenceId getRecurrenceId()
    -
    -
    - -
    Returns:
    the optional recurrence identifier property for a journal entry
    -
    -
    -
    - -

    -getUid

    -
    -public final Uid getUid()
    -
    -
    Returns the UID property of this component if available. -

    -

    - -
    Returns:
    a Uid instance, or null if no UID property exists
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VTimeZone.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VTimeZone.html deleted file mode 100644 index 5ab6638a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VTimeZone.html +++ /dev/null @@ -1,677 +0,0 @@ - - - - - - - -VTimeZone (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class VTimeZone

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.VTimeZone
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class VTimeZone
    extends CalendarComponent
    - - -

    -$Id$ [Apr 5, 2004] - - Defines an iCalendar VTIMEZONE component. - -

    -       4.6.5 Time Zone Component
    -  
    -          Component Name: VTIMEZONE
    -  
    -          Purpose: Provide a grouping of component properties that defines a
    -          time zone.
    -  
    -          Formal Definition: A "VTIMEZONE" calendar component is defined by the
    -          following notation:
    -  
    -            timezonec  = "BEGIN" ":" "VTIMEZONE" CRLF
    -  
    -                         2*(
    -  
    -                         ; 'tzid' is required, but MUST NOT occur more
    -                         ; than once
    -  
    -                       tzid /
    -  
    -                         ; 'last-mod' and 'tzurl' are optional,
    -                       but MUST NOT occur more than once
    -  
    -                       last-mod / tzurl /
    -  
    -                         ; one of 'standardc' or 'daylightc' MUST occur
    -                       ..; and each MAY occur more than once.
    -  
    -                       standardc / daylightc /
    -  
    -                       ; the following is optional,
    -                       ; and MAY occur more than once
    -  
    -                         x-prop
    -  
    -                         )
    -  
    -                         "END" ":" "VTIMEZONE" CRLF
    -  
    -            standardc  = "BEGIN" ":" "STANDARD" CRLF
    -  
    -                         tzprop
    -  
    -                         "END" ":" "STANDARD" CRLF
    -  
    -            daylightc  = "BEGIN" ":" "DAYLIGHT" CRLF
    -  
    -                         tzprop
    -  
    -                         "END" ":" "DAYLIGHT" CRLF
    -  
    -            tzprop     = 3*(
    -  
    -                       ; the following are each REQUIRED,
    -                       ; but MUST NOT occur more than once
    -  
    -                       dtstart / tzoffsetto / tzoffsetfrom /
    -  
    -                       ; the following are optional,
    -                       ; and MAY occur more than once
    -  
    -                       comment / rdate / rrule / tzname / x-prop
    -  
    -                       )
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    VTimeZone() - -
    -          Default constructor.
    VTimeZone(ComponentList observances) - -
    -          Constructs a new vtimezone component with no properties and the specified list of type components.
    VTimeZone(PropertyList properties) - -
    -          Constructs a new instance containing the specified properties.
    VTimeZone(PropertyList properties, - ComponentList observances) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Componentcopy() - -
    -          Overrides default copy method to add support for copying observance sub-components.
    - booleanequals(Object arg0) - -
    -          
    - ObservancegetApplicableObservance(Date date) - -
    -          Returns the latest applicable timezone observance for the specified date.
    - LastModifiedgetLastModified() - -
    -           
    - ComponentListgetObservances() - -
    -           
    - TzIdgetTimeZoneId() - -
    -           
    - TzUrlgetTimeZoneUrl() - -
    -           
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - inthashCode() - -
    -          
    - StringtoString() - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, getName, getProperties, getProperties, getProperty, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VTimeZone

    -
    -public VTimeZone()
    -
    -
    Default constructor. -

    -

    -
    - -

    -VTimeZone

    -
    -public VTimeZone(PropertyList properties)
    -
    -
    Constructs a new instance containing the specified properties. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    -
    - -

    -VTimeZone

    -
    -public VTimeZone(ComponentList observances)
    -
    -
    Constructs a new vtimezone component with no properties and the specified list of type components. -

    -

    -
    Parameters:
    observances - a list of type components
    -
    -
    - -

    -VTimeZone

    -
    -public VTimeZone(PropertyList properties,
    -                 ComponentList observances)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    observances - a list of timezone types
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Component
    -
    -
    -
    -
    -
    -
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    -
    - -

    -getObservances

    -
    -public final ComponentList getObservances()
    -
    -
    - -
    Returns:
    Returns the types.
    -
    -
    -
    - -

    -getApplicableObservance

    -
    -public final Observance getApplicableObservance(Date date)
    -
    -
    Returns the latest applicable timezone observance for the specified date. -

    -

    -
    Parameters:
    date - the latest possible date for a timezone observance onset -
    Returns:
    the latest applicable timezone observance for the specified date or null if there are no applicable - observances
    -
    -
    -
    - -

    -getTimeZoneId

    -
    -public final TzId getTimeZoneId()
    -
    -
    - -
    Returns:
    the mandatory timezone identifier property
    -
    -
    -
    - -

    -getLastModified

    -
    -public final LastModified getLastModified()
    -
    -
    - -
    Returns:
    the optional last-modified property
    -
    -
    -
    - -

    -getTimeZoneUrl

    -
    -public final TzUrl getTimeZoneUrl()
    -
    -
    - -
    Returns:
    the optional timezone url property
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Component
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Component
    -
    -
    -
    -
    -
    -
    - -

    -copy

    -
    -public Component copy()
    -               throws ParseException,
    -                      IOException,
    -                      URISyntaxException
    -
    -
    Overrides default copy method to add support for copying observance sub-components. -

    -

    -
    Overrides:
    copy in class Component
    -
    -
    - -
    Returns:
    a copy of the instance -
    Throws: -
    ParseException - where an error occurs parsing data -
    IOException - where an error occurs reading data -
    URISyntaxException - where an invalid URI is encountered
    See Also:
    Component.copy()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VToDo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VToDo.html deleted file mode 100644 index 1890cc0a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VToDo.html +++ /dev/null @@ -1,1022 +0,0 @@ - - - - - - - -VToDo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class VToDo

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.VToDo
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class VToDo
    extends CalendarComponent
    - - -

    -$Id$ [Apr 5, 2004] - - Defines an iCalendar VTODO component. - -

    -       4.6.2 To-do Component
    -  
    -          Component Name: VTODO
    -  
    -          Purpose: Provide a grouping of calendar properties that describe a
    -          to-do.
    -  
    -          Formal Definition: A "VTODO" calendar component is defined by the
    -          following notation:
    -  
    -            todoc      = "BEGIN" ":" "VTODO" CRLF
    -                         todoprop *alarmc
    -                         "END" ":" "VTODO" CRLF
    -  
    -            todoprop   = *(
    -  
    -                       ; the following are optional,
    -                       ; but MUST NOT occur more than once
    -  
    -                       class / completed / created / description / dtstamp /
    -                       dtstart / geo / last-mod / location / organizer /
    -                       percent / priority / recurid / seq / status /
    -                       summary / uid / url /
    -  
    -                       ; either 'due' or 'duration' may appear in
    -                       ; a 'todoprop', but 'due' and 'duration'
    -                       ; MUST NOT occur in the same 'todoprop'
    -  
    -                       due / duration /
    -  
    -                       ; the following are optional,
    -                       ; and MAY occur more than once
    -                       attach / attendee / categories / comment / contact /
    -                       exdate / exrule / rstatus / related / resources /
    -                       rdate / rrule / x-prop
    -  
    -                       )
    - 
    - - Example 1 - Creating a todo of two (2) hour duration starting tomorrow: - -
    
    - java.util.Calendar cal = java.util.Calendar.getInstance();
    - // tomorrow..
    - cal.add(java.util.Calendar.DAY_OF_MONTH, 1);
    - cal.set(java.util.Calendar.HOUR_OF_DAY, 11);
    - cal.set(java.util.Calendar.MINUTE, 00);
    - 
    - VToDo documentation = new VEvent(cal.getTime(), 1000 * 60 * 60 * 2,
    -         "Document calendar component usage");
    - 
    - // add timezone information..
    - VTimeZone tz = VTimeZone.getDefault();
    - TzId tzParam = new TzId(tz.getProperties().getProperty(Property.TZID)
    -         .getValue());
    - documentation.getProperties().getProperty(Property.DTSTART).getParameters()
    -         .add(tzParam);
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    VToDo() - -
    -          Default constructor.
    VToDo(Date start, - Date due, - String summary) - -
    -          Constructs a new VTODO instance starting and ending at the specified times with the specified summary.
    VToDo(Date start, - Dur duration, - String summary) - -
    -          Constructs a new VTODO instance starting at the specified times, for the specified duration, with the specified - summary.
    VToDo(Date start, - String summary) - -
    -          Constructs a new VTODO instance starting at the specified time with the specified summary.
    VToDo(PropertyList properties) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Componentcopy() - -
    -          Overrides default copy method to add support for copying alarm sub-components.
    - booleanequals(Object arg0) - -
    -          
    - ComponentListgetAlarms() - -
    -          Returns the list of alarms for this todo.
    - ClazzgetClassification() - -
    -           
    - CreatedgetCreated() - -
    -           
    - CompletedgetDateCompleted() - -
    -           
    - DtStampgetDateStamp() - -
    -           
    - DescriptiongetDescription() - -
    -           
    - DuegetDue() - -
    -           
    - DurationgetDuration() - -
    -           
    - GeogetGeographicPos() - -
    -           
    - LastModifiedgetLastModified() - -
    -           
    - LocationgetLocation() - -
    -           
    - OrganizergetOrganizer() - -
    -           
    - PercentCompletegetPercentComplete() - -
    -           
    - PrioritygetPriority() - -
    -           
    - RecurrenceIdgetRecurrenceId() - -
    -           
    - SequencegetSequence() - -
    -           
    - DtStartgetStartDate() - -
    -          Convenience method to pull the DTSTART out of the property list.
    - StatusgetStatus() - -
    -           
    - SummarygetSummary() - -
    -           
    - UidgetUid() - -
    -          Returns the UID property of this component if available.
    - UrlgetUrl() - -
    -           
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - inthashCode() - -
    -          
    - StringtoString() - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, getName, getProperties, getProperties, getProperty, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VToDo

    -
    -public VToDo()
    -
    -
    Default constructor. -

    -

    -
    - -

    -VToDo

    -
    -public VToDo(PropertyList properties)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    -
    - -

    -VToDo

    -
    -public VToDo(Date start,
    -             String summary)
    -
    -
    Constructs a new VTODO instance starting at the specified time with the specified summary. -

    -

    -
    Parameters:
    start - the start date of the new todo
    summary - the todo summary
    -
    -
    - -

    -VToDo

    -
    -public VToDo(Date start,
    -             Date due,
    -             String summary)
    -
    -
    Constructs a new VTODO instance starting and ending at the specified times with the specified summary. -

    -

    -
    Parameters:
    start - the start date of the new todo
    due - the due date of the new todo
    summary - the todo summary
    -
    -
    - -

    -VToDo

    -
    -public VToDo(Date start,
    -             Dur duration,
    -             String summary)
    -
    -
    Constructs a new VTODO instance starting at the specified times, for the specified duration, with the specified - summary. -

    -

    -
    Parameters:
    start - the start date of the new todo
    duration - the duration of the new todo
    summary - the todo summary
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAlarms

    -
    -public final ComponentList getAlarms()
    -
    -
    Returns the list of alarms for this todo. -

    -

    - -
    Returns:
    a component list
    -
    -
    -
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Component
    -
    -
    -
    -
    -
    -
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    -
    - -

    -getClassification

    -
    -public final Clazz getClassification()
    -
    -
    - -
    Returns:
    the optional access classification property
    -
    -
    -
    - -

    -getDateCompleted

    -
    -public final Completed getDateCompleted()
    -
    -
    - -
    Returns:
    the optional date completed property
    -
    -
    -
    - -

    -getCreated

    -
    -public final Created getCreated()
    -
    -
    - -
    Returns:
    the optional creation-time property
    -
    -
    -
    - -

    -getDescription

    -
    -public final Description getDescription()
    -
    -
    - -
    Returns:
    the optional description property
    -
    -
    -
    - -

    -getStartDate

    -
    -public final DtStart getStartDate()
    -
    -
    Convenience method to pull the DTSTART out of the property list. -

    -

    - -
    Returns:
    The DtStart object representation of the start Date
    -
    -
    -
    - -

    -getGeographicPos

    -
    -public final Geo getGeographicPos()
    -
    -
    - -
    Returns:
    the optional geographic position property
    -
    -
    -
    - -

    -getLastModified

    -
    -public final LastModified getLastModified()
    -
    -
    - -
    Returns:
    the optional last-modified property
    -
    -
    -
    - -

    -getLocation

    -
    -public final Location getLocation()
    -
    -
    - -
    Returns:
    the optional location property
    -
    -
    -
    - -

    -getOrganizer

    -
    -public final Organizer getOrganizer()
    -
    -
    - -
    Returns:
    the optional organizer property
    -
    -
    -
    - -

    -getPercentComplete

    -
    -public final PercentComplete getPercentComplete()
    -
    -
    - -
    Returns:
    the optional percentage complete property
    -
    -
    -
    - -

    -getPriority

    -
    -public final Priority getPriority()
    -
    -
    - -
    Returns:
    the optional priority property
    -
    -
    -
    - -

    -getDateStamp

    -
    -public final DtStamp getDateStamp()
    -
    -
    - -
    Returns:
    the optional date-stamp property
    -
    -
    -
    - -

    -getSequence

    -
    -public final Sequence getSequence()
    -
    -
    - -
    Returns:
    the optional sequence number property
    -
    -
    -
    - -

    -getStatus

    -
    -public final Status getStatus()
    -
    -
    - -
    Returns:
    the optional status property
    -
    -
    -
    - -

    -getSummary

    -
    -public final Summary getSummary()
    -
    -
    - -
    Returns:
    the optional summary property
    -
    -
    -
    - -

    -getUrl

    -
    -public final Url getUrl()
    -
    -
    - -
    Returns:
    the optional URL property
    -
    -
    -
    - -

    -getRecurrenceId

    -
    -public final RecurrenceId getRecurrenceId()
    -
    -
    - -
    Returns:
    the optional recurrence identifier property
    -
    -
    -
    - -

    -getDuration

    -
    -public final Duration getDuration()
    -
    -
    - -
    Returns:
    the optional Duration property
    -
    -
    -
    - -

    -getDue

    -
    -public final Due getDue()
    -
    -
    - -
    Returns:
    the optional due property
    -
    -
    -
    - -

    -getUid

    -
    -public final Uid getUid()
    -
    -
    Returns the UID property of this component if available. -

    -

    - -
    Returns:
    a Uid instance, or null if no UID property exists
    -
    -
    -
    - -

    -equals

    -
    -public boolean equals(Object arg0)
    -
    -
    -

    -

    -
    Overrides:
    equals in class Component
    -
    -
    -
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Component
    -
    -
    -
    -
    -
    -
    - -

    -copy

    -
    -public Component copy()
    -               throws ParseException,
    -                      IOException,
    -                      URISyntaxException
    -
    -
    Overrides default copy method to add support for copying alarm sub-components. -

    -

    -
    Overrides:
    copy in class Component
    -
    -
    - -
    Returns:
    a copy of the instance -
    Throws: -
    ParseException - where an error occurs parsing data -
    IOException - where an error occurs reading data -
    URISyntaxException - where an invalid URI is encountered
    See Also:
    Component.copy()
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VVenue.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VVenue.html deleted file mode 100644 index d8e29440..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/VVenue.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - -VVenue (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class VVenue

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.VVenue
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class VVenue
    extends CalendarComponent
    - - -

    -$Id $ [Apr 5, 2004] - - Defines an iCalendar VVENUE component. - -

    - 4.  Venue Component
    -
    -    Component Name: "VVENUE"
    -
    -    Purpose: Provide a grouping of component properties that describe an
    -    event venue.
    -
    -    Format Definition: A "VVENUE" calendar component is defined by the
    -    following notation:
    -      venuec  = "BEGIN" ":" "VVENUE" CRLF
    -              venueprop
    -              "END" ":" "VVENUE" CRLF
    -
    -      venueprop  = *(
    -
    -                ; the following are all REQUIRED,
    -                ; but MUST NOT occur more than once
    -
    -                uid
    -
    -                ; the following are optional,
    -                ; but MUST NOT occur more than once
    -
    -                name / description / street-address / extended-address /
    -                locality / region / country / postal-code / tzid / geo /
    -                location-type / categories
    -
    -                ; the following are optional,
    -                ; and MAY occur more than once
    -
    -                tel / url
    -              )
    -
    -    Description: A "VVENUE" calendar component is a grouping of component
    -    properties that represent a venue where an event occurs.  This
    -    extends the "LOCATION" property of "VEVENT" and "TODO" components,
    -    providing the ability to specify detailed information about the event
    -    venue.
    -
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    VVenue() - -
    -          Default constructor.
    VVenue(PropertyList properties) - -
    -          Constructs a new instance containing the specified properties.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - StringtoString() - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -VVenue

    -
    -public VVenue()
    -
    -
    Default constructor. -

    -

    -
    - -

    -VVenue

    -
    -public VVenue(PropertyList properties)
    -
    -
    Constructs a new instance containing the specified properties. -

    -

    -
    Parameters:
    properties - a list of properties
    -
    - - - - - - - - -
    -Method Detail
    - -

    -toString

    -
    -public final String toString()
    -
    -
    -

    -

    -
    Overrides:
    toString in class Component
    -
    -
    -
    -
    -
    -
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/XComponent.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/XComponent.html deleted file mode 100644 index 07cf8a8c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/XComponent.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - -XComponent (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.component -
    -Class XComponent

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Component
    -      extended by net.fortuna.ical4j.model.component.CalendarComponent
    -          extended by net.fortuna.ical4j.model.component.XComponent
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class XComponent
    extends CalendarComponent
    - - -

    -$Id$ - - Created on 3/11/2005 - - Implementation of an experimental component as defined in RFC2445. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    EMPTY_VALIDATOR
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Component
    AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    XComponent(String name) - -
    -          Creates a new experimental component with the specified name.
    XComponent(String name, - PropertyList properties) - -
    -          Creates a new experimental component with the specified name and properties.
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -protected  ValidatorgetValidator(Method method) - -
    -          
    - voidvalidate(boolean recurse) - -
    -          Perform validation on a component.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
    validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Component
    calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -XComponent

    -
    -public XComponent(String name)
    -
    -
    Creates a new experimental component with the specified name. -

    -

    -
    Parameters:
    name - the name of the experimental component
    -
    -
    - -

    -XComponent

    -
    -public XComponent(String name,
    -                  PropertyList properties)
    -
    -
    Creates a new experimental component with the specified name and properties. -

    -

    -
    Parameters:
    name - the name of the experimental component
    properties - a list of properties
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate(boolean recurse)
    -                    throws ValidationException
    -
    -
    Perform validation on a component. -

    -

    -
    Specified by:
    validate in class Component
    -
    -
    -
    Parameters:
    recurse - indicates whether to validate the component's properties -
    Throws: -
    ValidationException - where the component is not in a valid state
    -
    -
    -
    - -

    -getValidator

    -
    -protected Validator getValidator(Method method)
    -
    -
    -

    -

    -
    Specified by:
    getValidator in class CalendarComponent
    -
    -
    -
    Parameters:
    method - a method to validate on -
    Returns:
    a validator for the specified method or null if the method is not supported
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Available.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Available.html deleted file mode 100644 index 1933862c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Available.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.Available (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.Available

    -
    -No usage of net.fortuna.ical4j.model.component.Available -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/CalendarComponent.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/CalendarComponent.html deleted file mode 100644 index 7e4eba8e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/CalendarComponent.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.CalendarComponent (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.CalendarComponent

    -
    - - - - - - - - - -
    -Packages that use CalendarComponent
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of CalendarComponent in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of CalendarComponent in net.fortuna.ical4j.model.component
    - classVAlarm - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VALARM component.
    - classVAvailability - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VAVAILABILITY component.
    - classVEvent - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VEVENT component.
    - classVFreeBusy - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VFREEBUSY component.
    - classVJournal - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VJOURNAL component.
    - classVTimeZone - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VTIMEZONE component.
    - classVToDo - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VTODO component.
    - classVVenue - -
    -          $Id $ [Apr 5, 2004] - - Defines an iCalendar VVENUE component.
    - classXComponent - -
    -          $Id$ - - Created on 3/11/2005 - - Implementation of an experimental component as defined in RFC2445.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Daylight.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Daylight.html deleted file mode 100644 index f8e477c1..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Daylight.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.Daylight (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.Daylight

    -
    -No usage of net.fortuna.ical4j.model.component.Daylight -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Observance.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Observance.html deleted file mode 100644 index 1a78067c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Observance.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.Observance (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.Observance

    -
    - - - - - - - - - -
    -Packages that use Observance
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Observance in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - -
    Subclasses of Observance in net.fortuna.ical4j.model.component
    - classDaylight - -
    -          $Id$ [05-Apr-2004] - - Defines an iCalendar daylight savings timezone observance component.
    - classStandard - -
    -          $Id$ [05-Apr-2004] - - Defines an iCalendar standard timezone observance component.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Observance
    - ObservanceVTimeZone.getApplicableObservance(Date date) - -
    -          Returns the latest applicable timezone observance for the specified date.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Standard.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Standard.html deleted file mode 100644 index 01d57679..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Standard.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.Standard (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.Standard

    -
    -No usage of net.fortuna.ical4j.model.component.Standard -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAlarm.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAlarm.html deleted file mode 100644 index c509b133..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAlarm.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.VAlarm (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.VAlarm

    -
    -No usage of net.fortuna.ical4j.model.component.VAlarm -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAvailability.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAvailability.html deleted file mode 100644 index dbfedf27..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAvailability.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.VAvailability (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.VAvailability

    -
    -No usage of net.fortuna.ical4j.model.component.VAvailability -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VEvent.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VEvent.html deleted file mode 100644 index ffaecc9c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VEvent.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.VEvent (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.VEvent

    -
    - - - - - - - - - -
    -Packages that use VEvent
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of VEvent in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return VEvent
    - VEventVEvent.getOccurrence(Date date) - -
    -          Returns a single occurrence of a recurring event.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VFreeBusy.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VFreeBusy.html deleted file mode 100644 index 0d41f857..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VFreeBusy.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.VFreeBusy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.VFreeBusy

    -
    - - - - - - - - - -
    -Packages that use VFreeBusy
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of VFreeBusy in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model.component with parameters of type VFreeBusy
    VFreeBusy(VFreeBusy request, - ComponentList components) - -
    -          Constructs a new VFreeBusy instance representing a reply to the specified VFREEBUSY request according to the - specified list of components.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VJournal.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VJournal.html deleted file mode 100644 index 3fc98028..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VJournal.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.VJournal (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.VJournal

    -
    -No usage of net.fortuna.ical4j.model.component.VJournal -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VTimeZone.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VTimeZone.html deleted file mode 100644 index 2241575b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VTimeZone.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.VTimeZone (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.VTimeZone

    -
    - - - - - - - - - -
    -Packages that use VTimeZone
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of VTimeZone in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return VTimeZone
    - VTimeZoneTimeZone.getVTimeZone() - -
    -           
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type VTimeZone
    TimeZone(VTimeZone vTimeZone) - -
    -          Constructs a new instance based on the specified VTimeZone.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VToDo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VToDo.html deleted file mode 100644 index 13541a98..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VToDo.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.VToDo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.VToDo

    -
    -No usage of net.fortuna.ical4j.model.component.VToDo -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VVenue.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VVenue.html deleted file mode 100644 index 513d69c2..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VVenue.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.VVenue (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.VVenue

    -
    -No usage of net.fortuna.ical4j.model.component.VVenue -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/XComponent.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/XComponent.html deleted file mode 100644 index f4463149..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/class-use/XComponent.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.component.XComponent (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.component.XComponent

    -
    -No usage of net.fortuna.ical4j.model.component.XComponent -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-frame.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-frame.html deleted file mode 100644 index 0113b878..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-frame.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.component (iCal4j 1.0.4 API) - - - - - - - - - - - -net.fortuna.ical4j.model.component - - - - -
    -Classes  - -
    -Available -
    -CalendarComponent -
    -Daylight -
    -Observance -
    -Standard -
    -VAlarm -
    -VAvailability -
    -VEvent -
    -VFreeBusy -
    -VJournal -
    -VTimeZone -
    -VToDo -
    -VVenue -
    -XComponent
    - - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-summary.html deleted file mode 100644 index 0c44635c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-summary.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.component (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package net.fortuna.ical4j.model.component -

    -Contains types used to represent the iCalendar component model. -

    -See: -
    -          Description -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    Available$Id$ [05-Apr-2004] - - Defines an iCalendar Available component.
    CalendarComponent$Id$ - - Created on 26/02/2006 - - Base class for components that may be added to a calendar.
    Daylight$Id$ [05-Apr-2004] - - Defines an iCalendar daylight savings timezone observance component.
    Observance$Id$ [05-Apr-2004] - - Defines an iCalendar sub-component representing a timezone observance.
    Standard$Id$ [05-Apr-2004] - - Defines an iCalendar standard timezone observance component.
    VAlarm$Id$ [Apr 5, 2004] - - Defines an iCalendar VALARM component.
    VAvailability$Id$ [Apr 5, 2004] - - Defines an iCalendar VAVAILABILITY component.
    VEvent$Id$ [Apr 5, 2004] - - Defines an iCalendar VEVENT component.
    VFreeBusy$Id$ [Apr 5, 2004] - - Defines an iCalendar VFREEBUSY component.
    VJournal$Id$ [Apr 5, 2004] - - Defines an iCalendar VJOURNAL component.
    VTimeZone$Id$ [Apr 5, 2004] - - Defines an iCalendar VTIMEZONE component.
    VToDo$Id$ [Apr 5, 2004] - - Defines an iCalendar VTODO component.
    VVenue$Id $ [Apr 5, 2004] - - Defines an iCalendar VVENUE component.
    XComponent$Id$ - - Created on 3/11/2005 - - Implementation of an experimental component as defined in RFC2445.
    -  - -

    -

    -Package net.fortuna.ical4j.model.component Description -

    - -

    -Contains types used to represent the iCalendar component model. -

    - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-tree.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-tree.html deleted file mode 100644 index b0bb5f3d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-tree.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.component Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package net.fortuna.ical4j.model.component -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-use.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-use.html deleted file mode 100644 index 570beb75..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/component/package-use.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - -Uses of Package net.fortuna.ical4j.model.component (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    net.fortuna.ical4j.model.component

    -
    - - - - - - - - - - - - - -
    -Packages that use net.fortuna.ical4j.model.component
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.component used by net.fortuna.ical4j.model
    VTimeZone - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VTIMEZONE component.
    -  -

    - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.component used by net.fortuna.ical4j.model.component
    CalendarComponent - -
    -          $Id$ - - Created on 26/02/2006 - - Base class for components that may be added to a calendar.
    Observance - -
    -          $Id$ [05-Apr-2004] - - Defines an iCalendar sub-component representing a timezone observance.
    VEvent - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VEVENT component.
    VFreeBusy - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar VFREEBUSY component.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-frame.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-frame.html deleted file mode 100644 index cc367ad0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-frame.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model (iCal4j 1.0.4 API) - - - - - - - - - - - -net.fortuna.ical4j.model - - - - -
    -Interfaces  - -
    -Escapable -
    -ParameterFactory -
    -PropertyFactory -
    -TimeZoneRegistry -
    -Validator
    - - - - - - -
    -Classes  - -
    -AbstractContentFactory -
    -AddressList -
    -Calendar -
    -CalendarDateFormatFactory -
    -Component -
    -ComponentFactory -
    -ComponentList -
    -Content -
    -Date -
    -DateList -
    -DateRange -
    -DateTime -
    -DefaultTimeZoneRegistryFactory -
    -Dur -
    -IndexedComponentList -
    -IndexedPropertyList -
    -Iso8601 -
    -LocationTypeList -
    -NumberList -
    -Parameter -
    -ParameterFactoryImpl -
    -ParameterFactoryRegistry -
    -ParameterList -
    -Period -
    -PeriodList -
    -Property -
    -PropertyFactoryImpl -
    -PropertyFactoryRegistry -
    -PropertyList -
    -Recur -
    -TextList -
    -Time -
    -TimeZone -
    -TimeZoneRegistryFactory -
    -TimeZoneRegistryImpl -
    -UtcOffset -
    -WeekDay -
    -WeekDayList
    - - - - - - -
    -Exceptions  - -
    -CalendarException -
    -ConstraintViolationException -
    -ValidationException
    - - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-summary.html deleted file mode 100644 index 0c97ffff..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-summary.html +++ /dev/null @@ -1,485 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package net.fortuna.ical4j.model -

    -Contains core types used to define the iCalendar model. -

    -See: -
    -          Description -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Interface Summary
    Escapable$Id$ - - Created on 26/06/2005 - - Implementors by definition require their string value to be converted to/from an escaped form when converting to/from - and iCalendar representation.
    ParameterFactoryImplementors provide parameter creation services.
    PropertyFactoryA factory for creating iCalendar properties.
    TimeZoneRegistry$Id$ - - Created on 18/09/2005 - - Implementors provide a list of timezone definitions applicable for use - with iCalendar objects.
    Validator 
    -  - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    AbstractContentFactory$Id$ - - Created on 28/01/2007 - - Abstract implementation of a content factory.
    AddressList$Id$ [23-Apr-2004] - - Defines a list of iCalendar addresses.
    Calendar$Id$ [Apr 5, 2004] - - Defines an iCalendar calendar.
    CalendarDateFormatFactory$Id$ [06-Apr-2004] - - Creates DateFormat objects optimized for common iCalendar date patterns.
    Component$Id$ [Apr 5, 2004] - - Defines an iCalendar component.
    ComponentFactory$Id$ [05-Apr-2004] - - A factory for creating iCalendar components.
    ComponentList$Id$ [Apr 5, 2004] - - Defines a list of iCalendar components.
    Content$Id$ - - Created: 12/10/2004 - - Base class for calendar content in the form of - properties and parameters.
    Date$Id$ - - Created on 26/06/2005 - - Base class for all representations of time values in RFC2445.
    DateList$Id$ [23-Apr-2004] - - Defines a list of iCalendar dates.
    DateRange 
    DateTime$Id$ - - Created on 26/06/2005 - - Represents a time of day on a specific date.
    DefaultTimeZoneRegistryFactory$Id$ - - Created on 18/09/2005 - - Default factory implementation for timezone registries.
    Dur$Id$ - - Created on 20/06/2005 - - Represents a duration of time in iCalendar.
    IndexedComponentList$Id$ - - Created on 4/02/2006 - - Provides indexing of components on a specific property.
    IndexedPropertyList$Id$ - - Created on 4/02/2006 - - Provides indexing of properties on a specific parameter.
    Iso8601$Id$ - - Created on 30/06/2005 - - Base class for date and time representations as defined - by the ISO 8601 standard.
    LocationTypeList$Id LocationTypeList.java $ [23-Apr-2004] - - Defines a list of iCalendar location types.
    NumberList$Id$ [29-May-2004] - - Defines a list of numbers.
    ParameterDefines an iCalendar parameter.
    ParameterFactoryImplA factory for creating iCalendar parameters.
    ParameterFactoryRegistry 
    ParameterList$Id$ [Apr 5, 2004] - - Defines a list of iCalendar parameters.
    Period$Id$ [Apr 14, 2004] - - Defines a period of time.
    PeriodList$Id$ [23-Apr-2004] - - Defines a list of iCalendar periods.
    PropertyDefines an iCalendar property.
    PropertyFactoryImplA factory for creating iCalendar properties.
    PropertyFactoryRegistry 
    PropertyList$Id$ [Apr 5, 2004] - - Defines a list of iCalendar properties.
    Recur$Id$ [18-Apr-2004] - - Defines a recurrence.
    TextList$Id$ [23-Apr-2004] - - Defines a list of iCalendar text elements.
    Time$Id$ - - Created on 30/06/2005 - - A type used to represent iCalendar time values.
    TimeZone$Id$ - - Created on 13/09/2005 - - A Java timezone implementation based on an underlying VTimeZone - definition.
    TimeZoneRegistryFactory$Id$ - - Created on 18/09/2005 - - Provides access to the configured TimeZoneRegistry instance.
    TimeZoneRegistryImpl$Id$ - - Created on 18/09/2005 - - The default implementation of a TimeZoneRegistry.
    UtcOffset$Id$ - - Created on 26/06/2005 - - Represents a timezone offset from UTC time.
    WeekDay$Id$ - - Created: 19/12/2004 - - Defines a day of the week with a possible offset related to - a MONTHLY or YEARLY occurrence.
    WeekDayList$Id$ [29-May-2004] - - Defines a list of days.
    -  - -

    - - - - - - - - - - - - - - - - - -
    -Exception Summary
    CalendarException 
    ConstraintViolationException$Id$ - - Created on 02/03/2008 - - Indicates the violation of a constraint imposed by a relevant specification.
    ValidationException$Id$ [23-Apr-2004] - - An exception thrown during validation.
    -  - -

    -

    -Package net.fortuna.ical4j.model Description -

    - -

    -Contains core types used to define the iCalendar model. -

    - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-tree.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-tree.html deleted file mode 100644 index 82be2fc1..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-tree.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package net.fortuna.ical4j.model -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-use.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-use.html deleted file mode 100644 index 05d90267..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/package-use.html +++ /dev/null @@ -1,929 +0,0 @@ - - - - - - - -Uses of Package net.fortuna.ical4j.model (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    net.fortuna.ical4j.model

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use net.fortuna.ical4j.model
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality. 
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters. 
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    net.fortuna.ical4j.transformContains types used to transform an iCalendar component model according to RFC2446. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.data
    Calendar - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar calendar.
    Component - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar component.
    ParameterFactoryRegistry - -
    -           
    Property - -
    -          Defines an iCalendar property.
    PropertyFactoryRegistry - -
    -           
    TimeZoneRegistry - -
    -          $Id$ - - Created on 18/09/2005 - - Implementors provide a list of timezone definitions applicable for use - with iCalendar objects.
    ValidationException - -
    -          $Id$ [23-Apr-2004] - - An exception thrown during validation.
    -  -

    - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.filter
    Component - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar component.
    DateRange - -
    -           
    Period - -
    -          $Id$ [Apr 14, 2004] - - Defines a period of time.
    Property - -
    -          Defines an iCalendar property.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.model
    AbstractContentFactory - -
    -          $Id$ - - Created on 28/01/2007 - - Abstract implementation of a content factory.
    Calendar - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar calendar.
    Component - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar component.
    ComponentFactory - -
    -          $Id$ [05-Apr-2004] - - A factory for creating iCalendar components.
    ComponentList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar components.
    Content - -
    -          $Id$ - - Created: 12/10/2004 - - Base class for calendar content in the form of - properties and parameters.
    Date - -
    -          $Id$ - - Created on 26/06/2005 - - Base class for all representations of time values in RFC2445.
    DateList - -
    -          $Id$ [23-Apr-2004] - - Defines a list of iCalendar dates.
    DateRange - -
    -           
    DateTime - -
    -          $Id$ - - Created on 26/06/2005 - - Represents a time of day on a specific date.
    Dur - -
    -          $Id$ - - Created on 20/06/2005 - - Represents a duration of time in iCalendar.
    Iso8601 - -
    -          $Id$ - - Created on 30/06/2005 - - Base class for date and time representations as defined - by the ISO 8601 standard.
    NumberList - -
    -          $Id$ [29-May-2004] - - Defines a list of numbers.
    Parameter - -
    -          Defines an iCalendar parameter.
    ParameterFactory - -
    -          Implementors provide parameter creation services.
    ParameterFactoryImpl - -
    -          A factory for creating iCalendar parameters.
    ParameterList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar parameters.
    Period - -
    -          $Id$ [Apr 14, 2004] - - Defines a period of time.
    PeriodList - -
    -          $Id$ [23-Apr-2004] - - Defines a list of iCalendar periods.
    Property - -
    -          Defines an iCalendar property.
    PropertyFactory - -
    -          A factory for creating iCalendar properties.
    PropertyFactoryImpl - -
    -          A factory for creating iCalendar properties.
    PropertyList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar properties.
    TimeZone - -
    -          $Id$ - - Created on 13/09/2005 - - A Java timezone implementation based on an underlying VTimeZone - definition.
    TimeZoneRegistry - -
    -          $Id$ - - Created on 18/09/2005 - - Implementors provide a list of timezone definitions applicable for use - with iCalendar objects.
    TimeZoneRegistryFactory - -
    -          $Id$ - - Created on 18/09/2005 - - Provides access to the configured TimeZoneRegistry instance.
    ValidationException - -
    -          $Id$ [23-Apr-2004] - - An exception thrown during validation.
    WeekDay - -
    -          $Id$ - - Created: 19/12/2004 - - Defines a day of the week with a possible offset related to - a MONTHLY or YEARLY occurrence.
    WeekDayList - -
    -          $Id$ [29-May-2004] - - Defines a list of days.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.model.component
    Component - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar component.
    ComponentList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar components.
    Date - -
    -          $Id$ - - Created on 26/06/2005 - - Base class for all representations of time values in RFC2445.
    DateTime - -
    -          $Id$ - - Created on 26/06/2005 - - Represents a time of day on a specific date.
    Dur - -
    -          $Id$ - - Created on 20/06/2005 - - Represents a duration of time in iCalendar.
    PeriodList - -
    -          $Id$ [23-Apr-2004] - - Defines a list of iCalendar periods.
    PropertyList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar properties.
    ValidationException - -
    -          $Id$ [23-Apr-2004] - - An exception thrown during validation.
    Validator - -
    -           
    -  -

    - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.model.parameter
    AddressList - -
    -          $Id$ [23-Apr-2004] - - Defines a list of iCalendar addresses.
    Content - -
    -          $Id$ - - Created: 12/10/2004 - - Base class for calendar content in the form of - properties and parameters.
    Escapable - -
    -          $Id$ - - Created on 26/06/2005 - - Implementors by definition require their string value to be converted to/from an escaped form when converting to/from - and iCalendar representation.
    Parameter - -
    -          Defines an iCalendar parameter.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.model.property
    Content - -
    -          $Id$ - - Created: 12/10/2004 - - Base class for calendar content in the form of - properties and parameters.
    Date - -
    -          $Id$ - - Created on 26/06/2005 - - Base class for all representations of time values in RFC2445.
    DateList - -
    -          $Id$ [23-Apr-2004] - - Defines a list of iCalendar dates.
    DateTime - -
    -          $Id$ - - Created on 26/06/2005 - - Represents a time of day on a specific date.
    Dur - -
    -          $Id$ - - Created on 20/06/2005 - - Represents a duration of time in iCalendar.
    Escapable - -
    -          $Id$ - - Created on 26/06/2005 - - Implementors by definition require their string value to be converted to/from an escaped form when converting to/from - and iCalendar representation.
    LocationTypeList - -
    -          $Id LocationTypeList.java $ [23-Apr-2004] - - Defines a list of iCalendar location types.
    ParameterList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar parameters.
    PeriodList - -
    -          $Id$ [23-Apr-2004] - - Defines a list of iCalendar periods.
    Property - -
    -          Defines an iCalendar property.
    PropertyFactory - -
    -          A factory for creating iCalendar properties.
    Recur - -
    -          $Id$ [18-Apr-2004] - - Defines a recurrence.
    TextList - -
    -          $Id$ [23-Apr-2004] - - Defines a list of iCalendar text elements.
    TimeZone - -
    -          $Id$ - - Created on 13/09/2005 - - A Java timezone implementation based on an underlying VTimeZone - definition.
    UtcOffset - -
    -          $Id$ - - Created on 26/06/2005 - - Represents a timezone offset from UTC time.
    ValidationException - -
    -          $Id$ [23-Apr-2004] - - An exception thrown during validation.
    -  -

    - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.transform
    Calendar - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar calendar.
    Component - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar component.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.util
    Calendar - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar calendar.
    Component - -
    -          $Id$ [Apr 5, 2004] - - Defines an iCalendar component.
    ComponentList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar components.
    ConstraintViolationException - -
    -          $Id$ - - Created on 02/03/2008 - - Indicates the violation of a constraint imposed by a relevant specification.
    Date - -
    -          $Id$ - - Created on 26/06/2005 - - Base class for all representations of time values in RFC2445.
    Parameter - -
    -          Defines an iCalendar parameter.
    ParameterList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar parameters.
    Property - -
    -          Defines an iCalendar property.
    PropertyList - -
    -          $Id$ [Apr 5, 2004] - - Defines a list of iCalendar properties.
    ValidationException - -
    -          $Id$ [23-Apr-2004] - - An exception thrown during validation.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Abbrev.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Abbrev.html deleted file mode 100644 index 2d92110e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Abbrev.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -Abbrev (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Abbrev

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Abbrev
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Abbrev
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines an Abbreviation parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Abbrev(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Abbrev

    -
    -public Abbrev(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string abbreviation
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/AltRep.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/AltRep.html deleted file mode 100644 index 86bc7021..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/AltRep.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - -AltRep (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class AltRep

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.AltRep
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class AltRep
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines an Alternate Text Representation parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    AltRep(String aValue) - -
    -           
    AltRep(URI aUri) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - URIgetUri() - -
    -           
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -AltRep

    -
    -public AltRep(String aValue)
    -       throws URISyntaxException
    -
    -
    -
    Parameters:
    aValue - a string representation of an alternate text represenation -
    Throws: -
    URISyntaxException - when the specified string is not a value (quoted) uri
    -
    -
    - -

    -AltRep

    -
    -public AltRep(URI aUri)
    -
    -
    -
    Parameters:
    aUri - a URI representing an alternate text representation
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getUri

    -
    -public final URI getUri()
    -
    -
    - -
    Returns:
    Returns the uri.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Cn.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Cn.html deleted file mode 100644 index 9385465f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Cn.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -Cn (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Cn

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Cn
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Cn
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Common Name parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Cn(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Cn

    -
    -public Cn(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a Common Name
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/CuType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/CuType.html deleted file mode 100644 index cbe44059..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/CuType.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - -CuType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class CuType

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.CuType
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class CuType
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Calendar User Type. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static CuTypeGROUP - -
    -          Group.
    -static CuTypeINDIVIDUAL - -
    -          Individual.
    -static CuTypeRESOURCE - -
    -          Resource.
    -static CuTypeROOM - -
    -          Room.
    -static CuTypeUNKNOWN - -
    -          Unknown.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    CuType(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -INDIVIDUAL

    -
    -public static final CuType INDIVIDUAL
    -
    -
    Individual. -

    -

    -
    -
    -
    - -

    -GROUP

    -
    -public static final CuType GROUP
    -
    -
    Group. -

    -

    -
    -
    -
    - -

    -RESOURCE

    -
    -public static final CuType RESOURCE
    -
    -
    Resource. -

    -

    -
    -
    -
    - -

    -ROOM

    -
    -public static final CuType ROOM
    -
    -
    Room. -

    -

    -
    -
    -
    - -

    -UNKNOWN

    -
    -public static final CuType UNKNOWN
    -
    -
    Unknown. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -CuType

    -
    -public CuType(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a Calendar User Type
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedFrom.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedFrom.html deleted file mode 100644 index 85b06163..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedFrom.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - -DelegatedFrom (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class DelegatedFrom

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.DelegatedFrom
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class DelegatedFrom
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Delegators parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    DelegatedFrom(AddressList aList) - -
    -           
    DelegatedFrom(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - AddressListgetDelegators() - -
    -           
    - StringgetValue() - -
    -          
    -protected  booleanisQuotable() - -
    -          Indicates whether the current parameter value should be quoted.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DelegatedFrom

    -
    -public DelegatedFrom(String aValue)
    -              throws URISyntaxException
    -
    -
    -
    Parameters:
    aValue - a string representation of Delegators -
    Throws: -
    URISyntaxException - when the specified string is not a valid list of cal-addresses
    -
    -
    - -

    -DelegatedFrom

    -
    -public DelegatedFrom(AddressList aList)
    -
    -
    -
    Parameters:
    aList - a list of addresses
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDelegators

    -
    -public final AddressList getDelegators()
    -
    -
    - -
    Returns:
    Returns the delegators addresses.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -isQuotable

    -
    -protected boolean isQuotable()
    -
    -
    Indicates whether the current parameter value should be quoted. -

    -

    -
    Overrides:
    isQuotable in class Parameter
    -
    -
    - -
    Returns:
    true if the value should be quoted, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedTo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedTo.html deleted file mode 100644 index c17fe97f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedTo.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - -DelegatedTo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class DelegatedTo

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.DelegatedTo
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class DelegatedTo
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Delegatees parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    DelegatedTo(AddressList aList) - -
    -           
    DelegatedTo(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - AddressListgetDelegatees() - -
    -           
    - StringgetValue() - -
    -          
    -protected  booleanisQuotable() - -
    -          Indicates whether the current parameter value should be quoted.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DelegatedTo

    -
    -public DelegatedTo(String aValue)
    -            throws URISyntaxException
    -
    -
    -
    Parameters:
    aValue - a string representation of Delegatees -
    Throws: -
    URISyntaxException - when the specified string is not a valid list of cal-addresses
    -
    -
    - -

    -DelegatedTo

    -
    -public DelegatedTo(AddressList aList)
    -
    -
    -
    Parameters:
    aList - a list of addresses
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDelegatees

    -
    -public final AddressList getDelegatees()
    -
    -
    - -
    Returns:
    Returns the delegatees addresses.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -isQuotable

    -
    -protected boolean isQuotable()
    -
    -
    Indicates whether the current parameter value should be quoted. -

    -

    -
    Overrides:
    isQuotable in class Parameter
    -
    -
    - -
    Returns:
    true if the value should be quoted, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Dir.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Dir.html deleted file mode 100644 index c2343dce..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Dir.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - -Dir (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Dir

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Dir
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Dir
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Directory Entry Reference parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Dir(String aValue) - -
    -           
    Dir(URI aUri) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - URIgetUri() - -
    -           
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Dir

    -
    -public Dir(String aValue)
    -    throws URISyntaxException
    -
    -
    -
    Parameters:
    aValue - a string representation of a directory entry reference -
    Throws: -
    URISyntaxException - when the specified string is not a valid (quoted) uri
    -
    -
    - -

    -Dir

    -
    -public Dir(URI aUri)
    -
    -
    -
    Parameters:
    aUri - a URI representing a directory entry reference
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getUri

    -
    -public final URI getUri()
    -
    -
    - -
    Returns:
    Returns the uri.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Encoding.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Encoding.html deleted file mode 100644 index d9bd06f8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Encoding.html +++ /dev/null @@ -1,452 +0,0 @@ - - - - - - - -Encoding (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Encoding

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Encoding
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Encoding
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines an Inline Encoding parameter. Constants are provided for all encodings specified in RFC2045. - -

    -  4.2.7 Inline Encoding
    -
    -     Parameter Name: ENCODING
    -
    -     Purpose: To specify an alternate inline encoding for the property
    -     value.
    -
    -     Format Definition: The property parameter is defined by the following
    -     notation:
    -
    -       encodingparam      = "ENCODING" "="
    -                            ("8BIT"
    -          ; "8bit" text encoding is defined in [RFC 2045]
    -                          / "BASE64"
    -          ; "BASE64" binary encoding format is defined in [RFC 2045]
    -                          / iana-token
    -          ; Some other IANA registered iCalendar encoding type
    -                          / x-name)
    -          ; A non-standard, experimental encoding type
    -
    -     Description: The property parameter identifies the inline encoding
    -     used in a property value. The default encoding is "8BIT",
    -     corresponding to a property value consisting of text. The "BASE64"
    -     encoding type corresponds to a property value encoded using the
    -     "BASE64" encoding defined in [RFC 2045].
    -
    -     If the value type parameter is ";VALUE=BINARY", then the inline
    -     encoding parameter MUST be specified with the value
    -     ";ENCODING=BASE64".
    -
    -     Example:
    -
    -       ATTACH;FMTYPE=IMAGE/JPEG;ENCODING=BASE64;VALUE=BINARY:MIICajC
    -        CAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDA
    -        qBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRw
    -        <...remainder of "BASE64" encoded binary data...>
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static EncodingBASE64 - -
    -          Base64 encoding.
    -static EncodingBINARY - -
    -          Binary encoding.
    -static EncodingEIGHT_BIT - -
    -          8 bit encoding.
    -static EncodingQUOTED_PRINTABLE - -
    -          Quoted printable encoding.
    -static EncodingSEVEN_BIT - -
    -          7 bit encoding.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Encoding(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -SEVEN_BIT

    -
    -public static final Encoding SEVEN_BIT
    -
    -
    7 bit encoding. -

    -

    -
    -
    -
    - -

    -EIGHT_BIT

    -
    -public static final Encoding EIGHT_BIT
    -
    -
    8 bit encoding. -

    -

    -
    -
    -
    - -

    -BINARY

    -
    -public static final Encoding BINARY
    -
    -
    Binary encoding. -

    -

    -
    -
    -
    - -

    -QUOTED_PRINTABLE

    -
    -public static final Encoding QUOTED_PRINTABLE
    -
    -
    Quoted printable encoding. -

    -

    -
    -
    -
    - -

    -BASE64

    -
    -public static final Encoding BASE64
    -
    -
    Base64 encoding. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Encoding

    -
    -public Encoding(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of an Inline Encoding
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/FbType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/FbType.html deleted file mode 100644 index 99f95353..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/FbType.html +++ /dev/null @@ -1,392 +0,0 @@ - - - - - - - -FbType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class FbType

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.FbType
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class FbType
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Free/Busy Time Type parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static FbTypeBUSY - -
    -          Busy time.
    -static FbTypeBUSY_TENTATIVE - -
    -          Busy (tentative) time.
    -static FbTypeBUSY_UNAVAILABLE - -
    -          Busy (unavailable) time.
    -static FbTypeFREE - -
    -          Free time.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    FbType(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -FREE

    -
    -public static final FbType FREE
    -
    -
    Free time. -

    -

    -
    -
    -
    - -

    -BUSY

    -
    -public static final FbType BUSY
    -
    -
    Busy time. -

    -

    -
    -
    -
    - -

    -BUSY_UNAVAILABLE

    -
    -public static final FbType BUSY_UNAVAILABLE
    -
    -
    Busy (unavailable) time. -

    -

    -
    -
    -
    - -

    -BUSY_TENTATIVE

    -
    -public static final FbType BUSY_TENTATIVE
    -
    -
    Busy (tentative) time. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -FbType

    -
    -public FbType(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a format type
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/FmtType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/FmtType.html deleted file mode 100644 index 835847cf..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/FmtType.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -FmtType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class FmtType

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.FmtType
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class FmtType
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Format Type parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    FmtType(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -FmtType

    -
    -public FmtType(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a format type
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Language.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Language.html deleted file mode 100644 index c7403c13..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Language.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -Language (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Language

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Language
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Language
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Language parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Language(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Language

    -
    -public Language(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a Language
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Member.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Member.html deleted file mode 100644 index c8b43fc8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Member.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - -Member (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Member

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Member
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Member
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Group or List Membership parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Member(AddressList aList) - -
    -           
    Member(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - AddressListgetGroups() - -
    -           
    - StringgetValue() - -
    -          
    -protected  booleanisQuotable() - -
    -          Indicates whether the current parameter value should be quoted.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Member

    -
    -public Member(String aValue)
    -       throws URISyntaxException
    -
    -
    -
    Parameters:
    aValue - a string representation of a group or list membership -
    Throws: -
    URISyntaxException - when the specified string is not a valid list of (quoted) cal-addresses
    -
    -
    - -

    -Member

    -
    -public Member(AddressList aList)
    -
    -
    -
    Parameters:
    aList - a list of groups
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getGroups

    -
    -public final AddressList getGroups()
    -
    -
    - -
    Returns:
    Returns the group addresses.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -isQuotable

    -
    -protected boolean isQuotable()
    -
    -
    Indicates whether the current parameter value should be quoted. -

    -

    -
    Overrides:
    isQuotable in class Parameter
    -
    -
    - -
    Returns:
    true if the value should be quoted, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/PartStat.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/PartStat.html deleted file mode 100644 index 24d492d1..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/PartStat.html +++ /dev/null @@ -1,452 +0,0 @@ - - - - - - - -PartStat (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class PartStat

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.PartStat
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class PartStat
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Participation Status parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static PartStatACCEPTED - -
    -          Accepted.
    -static PartStatCOMPLETED - -
    -          Completed.
    -static PartStatDECLINED - -
    -          Declined.
    -static PartStatDELEGATED - -
    -          Delegated.
    -static PartStatIN_PROCESS - -
    -          In-process.
    -static PartStatNEEDS_ACTION - -
    -          Needs action.
    -static PartStatTENTATIVE - -
    -          Tentative.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    PartStat(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -NEEDS_ACTION

    -
    -public static final PartStat NEEDS_ACTION
    -
    -
    Needs action. -

    -

    -
    -
    -
    - -

    -ACCEPTED

    -
    -public static final PartStat ACCEPTED
    -
    -
    Accepted. -

    -

    -
    -
    -
    - -

    -DECLINED

    -
    -public static final PartStat DECLINED
    -
    -
    Declined. -

    -

    -
    -
    -
    - -

    -TENTATIVE

    -
    -public static final PartStat TENTATIVE
    -
    -
    Tentative. -

    -

    -
    -
    -
    - -

    -DELEGATED

    -
    -public static final PartStat DELEGATED
    -
    -
    Delegated. -

    -

    -
    -
    -
    - -

    -COMPLETED

    -
    -public static final PartStat COMPLETED
    -
    -
    Completed. -

    -

    -
    -
    -
    - -

    -IN_PROCESS

    -
    -public static final PartStat IN_PROCESS
    -
    -
    In-process. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -PartStat

    -
    -public PartStat(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a participation status
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Range.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Range.html deleted file mode 100644 index 5b2a2542..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Range.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - -Range (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Range

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Range
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Range
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Recurrence Identifier Range parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static RangeTHISANDFUTURE - -
    -          This and future.
    -static RangeTHISANDPRIOR - -
    -          This and prior.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Range(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -THISANDPRIOR

    -
    -public static final Range THISANDPRIOR
    -
    -
    This and prior. -

    -

    -
    -
    -
    - -

    -THISANDFUTURE

    -
    -public static final Range THISANDFUTURE
    -
    -
    This and future. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Range

    -
    -public Range(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a recurrence identifier range
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/RelType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/RelType.html deleted file mode 100644 index fc655696..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/RelType.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - -RelType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class RelType

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.RelType
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class RelType
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Relationship Type parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static RelTypeCHILD - -
    -          Child.
    -static RelTypePARENT - -
    -          Parent.
    -static RelTypeSIBLING - -
    -          Sibling.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    RelType(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PARENT

    -
    -public static final RelType PARENT
    -
    -
    Parent. -

    -

    -
    -
    -
    - -

    -CHILD

    -
    -public static final RelType CHILD
    -
    -
    Child. -

    -

    -
    -
    -
    - -

    -SIBLING

    -
    -public static final RelType SIBLING
    -
    -
    Sibling. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -RelType

    -
    -public RelType(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a relationship type
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Related.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Related.html deleted file mode 100644 index 3e46cf99..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Related.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - -Related (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Related

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Related
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Related
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines an Alarm Trigger Relationship parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static RelatedEND - -
    -          Trigger end.
    -static RelatedSTART - -
    -          Trigger start.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Related(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -START

    -
    -public static final Related START
    -
    -
    Trigger start. -

    -

    -
    -
    -
    - -

    -END

    -
    -public static final Related END
    -
    -
    Trigger end. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Related

    -
    -public Related(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of an alarm trigger relationship
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Role.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Role.html deleted file mode 100644 index 2d39cbe9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Role.html +++ /dev/null @@ -1,392 +0,0 @@ - - - - - - - -Role (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Role

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Role
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Role
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Participation Role parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static RoleCHAIR - -
    -          Chair.
    -static RoleNON_PARTICIPANT - -
    -          Non-participant.
    -static RoleOPT_PARTICIPANT - -
    -          Optional participant.
    -static RoleREQ_PARTICIPANT - -
    -          Required participant.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Role(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -CHAIR

    -
    -public static final Role CHAIR
    -
    -
    Chair. -

    -

    -
    -
    -
    - -

    -REQ_PARTICIPANT

    -
    -public static final Role REQ_PARTICIPANT
    -
    -
    Required participant. -

    -

    -
    -
    -
    - -

    -OPT_PARTICIPANT

    -
    -public static final Role OPT_PARTICIPANT
    -
    -
    Optional participant. -

    -

    -
    -
    -
    - -

    -NON_PARTICIPANT

    -
    -public static final Role NON_PARTICIPANT
    -
    -
    Non-participant. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Role

    -
    -public Role(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a participation role
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Rsvp.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Rsvp.html deleted file mode 100644 index e5f7fc1d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Rsvp.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - -Rsvp (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Rsvp

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Rsvp
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Rsvp
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines an RSVP parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static RsvpFALSE - -
    -          RSVP not required.
    -static RsvpTRUE - -
    -          RSVP is required.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    Rsvp(Boolean aValue) - -
    -           
    Rsvp(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Parametercopy() - -
    -          Deep copy of parameter.
    - BooleangetRsvp() - -
    -           
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -TRUE

    -
    -public static final Rsvp TRUE
    -
    -
    RSVP is required. -

    -

    -
    -
    -
    - -

    -FALSE

    -
    -public static final Rsvp FALSE
    -
    -
    RSVP not required. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Rsvp

    -
    -public Rsvp(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of an RSVP
    -
    -
    - -

    -Rsvp

    -
    -public Rsvp(Boolean aValue)
    -
    -
    -
    Parameters:
    aValue - a boolean value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getRsvp

    -
    -public final Boolean getRsvp()
    -
    -
    - -
    Returns:
    Returns the rsvp.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -copy

    -
    -public final Parameter copy()
    -
    -
    Deep copy of parameter. -

    -

    -
    Overrides:
    copy in class Parameter
    -
    -
    - -
    Returns:
    new parameter
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleAgent.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleAgent.html deleted file mode 100644 index f7e0aa47..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleAgent.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - -ScheduleAgent (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class ScheduleAgent

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.ScheduleAgent
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class ScheduleAgent
    extends Parameter
    - - -

    -Defines the scheduling agent for CalDAV scheduling. -

    - -

    -

    -
    Author:
    -
    Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static ScheduleAgentCLIENT - -
    -           
    -static ScheduleAgentNONE - -
    -           
    -static ScheduleAgentSERVER - -
    -           
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    ScheduleAgent(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -           
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -SERVER

    -
    -public static final ScheduleAgent SERVER
    -
    -
    -
    -
    -
    - -

    -CLIENT

    -
    -public static final ScheduleAgent CLIENT
    -
    -
    -
    -
    -
    - -

    -NONE

    -
    -public static final ScheduleAgent NONE
    -
    -
    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -ScheduleAgent

    -
    -public ScheduleAgent(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a scheduling agent
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleStatus.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleStatus.html deleted file mode 100644 index 065f7fcb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleStatus.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -ScheduleStatus (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class ScheduleStatus

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.ScheduleStatus
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class ScheduleStatus
    extends Parameter
    - - -

    -Defines the scheduling status for CalDAV scheduling. -

    - -

    -

    -
    Author:
    -
    Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    ScheduleStatus(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -           
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ScheduleStatus

    -
    -public ScheduleStatus(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string scheduling status
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/SentBy.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/SentBy.html deleted file mode 100644 index 24c8f5c3..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/SentBy.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - -SentBy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class SentBy

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.SentBy
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class SentBy
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Sent By parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    SentBy(String aValue) - -
    -           
    SentBy(URI aUri) - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - URIgetAddress() - -
    -           
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -SentBy

    -
    -public SentBy(String aValue)
    -       throws URISyntaxException
    -
    -
    -
    Parameters:
    aValue - a string representation of a sent by -
    Throws: -
    URISyntaxException - when the specified string is not a valid (quoted) uri
    -
    -
    - -

    -SentBy

    -
    -public SentBy(URI aUri)
    -
    -
    -
    Parameters:
    aUri - a URI representing a sent by
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAddress

    -
    -public final URI getAddress()
    -
    -
    - -
    Returns:
    Returns the address.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Type.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Type.html deleted file mode 100644 index 6fe7e45a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Type.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -Type (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Type

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Type
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Type
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Type parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Type(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Type

    -
    -public Type(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string abbreviation
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/TzId.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/TzId.html deleted file mode 100644 index 6b860fa3..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/TzId.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - -TzId (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class TzId

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.TzId
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class TzId
    extends Parameter
    implements Escapable
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Time Zone Identifier parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static StringPREFIX - -
    -          Timezone identifier prefix.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    TzId(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PREFIX

    -
    -public static final String PREFIX
    -
    -
    Timezone identifier prefix. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -TzId

    -
    -public TzId(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a time zone identifier
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Value.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Value.html deleted file mode 100644 index 6e460c88..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Value.html +++ /dev/null @@ -1,592 +0,0 @@ - - - - - - - -Value (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Value

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Value
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Value
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Value Data Type parameter. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static ValueBINARY - -
    -          Binary value type.
    -static ValueBOOLEAN - -
    -          Boolean value type.
    -static ValueCAL_ADDRESS - -
    -          Calendar address value type.
    -static ValueDATE - -
    -          Date value type.
    -static ValueDATE_TIME - -
    -          Date-time value type.
    -static ValueDURATION - -
    -          Duration value type.
    -static ValueFLOAT - -
    -          Float value type.
    -static ValueINTEGER - -
    -          Integer value type.
    -static ValuePERIOD - -
    -          Period value type.
    -static ValueRECUR - -
    -          Recurrence value type.
    -static ValueTEXT - -
    -          Text value type.
    -static ValueTIME - -
    -          Time value type.
    -static ValueURI - -
    -          URI value type.
    -static ValueUTC_OFFSET - -
    -          UTC offset value type.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Value(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -BINARY

    -
    -public static final Value BINARY
    -
    -
    Binary value type. -

    -

    -
    -
    -
    - -

    -BOOLEAN

    -
    -public static final Value BOOLEAN
    -
    -
    Boolean value type. -

    -

    -
    -
    -
    - -

    -CAL_ADDRESS

    -
    -public static final Value CAL_ADDRESS
    -
    -
    Calendar address value type. -

    -

    -
    -
    -
    - -

    -DATE

    -
    -public static final Value DATE
    -
    -
    Date value type. -

    -

    -
    -
    -
    - -

    -DATE_TIME

    -
    -public static final Value DATE_TIME
    -
    -
    Date-time value type. -

    -

    -
    -
    -
    - -

    -DURATION

    -
    -public static final Value DURATION
    -
    -
    Duration value type. -

    -

    -
    -
    -
    - -

    -FLOAT

    -
    -public static final Value FLOAT
    -
    -
    Float value type. -

    -

    -
    -
    -
    - -

    -INTEGER

    -
    -public static final Value INTEGER
    -
    -
    Integer value type. -

    -

    -
    -
    -
    - -

    -PERIOD

    -
    -public static final Value PERIOD
    -
    -
    Period value type. -

    -

    -
    -
    -
    - -

    -RECUR

    -
    -public static final Value RECUR
    -
    -
    Recurrence value type. -

    -

    -
    -
    -
    - -

    -TEXT

    -
    -public static final Value TEXT
    -
    -
    Text value type. -

    -

    -
    -
    -
    - -

    -TIME

    -
    -public static final Value TIME
    -
    -
    Time value type. -

    -

    -
    -
    -
    - -

    -URI

    -
    -public static final Value URI
    -
    -
    URI value type. -

    -

    -
    -
    -
    - -

    -UTC_OFFSET

    -
    -public static final Value UTC_OFFSET
    -
    -
    UTC offset value type. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Value

    -
    -public Value(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string representation of a value data type
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Vvenue.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Vvenue.html deleted file mode 100644 index 57f27288..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/Vvenue.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - -Vvenue (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class Vvenue

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.Vvenue
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Vvenue
    extends Parameter
    - - -

    -$Id$ [18-Apr-2004] - - Defines a Vvenue parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    Vvenue(String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Vvenue

    -
    -public Vvenue(String aValue)
    -
    -
    -
    Parameters:
    aValue - a string abbreviation
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/XParameter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/XParameter.html deleted file mode 100644 index a59b7b2d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/XParameter.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - - -XParameter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.parameter -
    -Class XParameter

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Parameter
    -          extended by net.fortuna.ical4j.model.parameter.XParameter
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class XParameter
    extends Parameter
    - - -

    -$Id$ [15/06/2004] - - Defines an extension parameter. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Parameter
    ABBREV, ALTREP, CN, CUTYPE, DELEGATED_FROM, DELEGATED_TO, DIR, ENCODING, EXPERIMENTAL_PREFIX, FBTYPE, FMTTYPE, LANGUAGE, MEMBER, PARTSTAT, RANGE, RELATED, RELTYPE, ROLE, RSVP, SCHEDULE_AGENT, SCHEDULE_STATUS, SENT_BY, TYPE, TZID, VALUE, VVENUE
    -  - - - - - - - - - - -
    -Constructor Summary
    XParameter(String aName, - String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Parameter
    copy, equals, getName, hashCode, isQuotable, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -XParameter

    -
    -public XParameter(String aName,
    -                  String aValue)
    -
    -
    -
    Parameters:
    aName - parameter name
    aValue - parameter value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Abbrev.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Abbrev.html deleted file mode 100644 index 18c2e641..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Abbrev.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Abbrev (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Abbrev

    -
    -No usage of net.fortuna.ical4j.model.parameter.Abbrev -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/AltRep.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/AltRep.html deleted file mode 100644 index 04e4a653..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/AltRep.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.AltRep (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.AltRep

    -
    -No usage of net.fortuna.ical4j.model.parameter.AltRep -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Cn.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Cn.html deleted file mode 100644 index 82803172..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Cn.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Cn (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Cn

    -
    -No usage of net.fortuna.ical4j.model.parameter.Cn -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/CuType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/CuType.html deleted file mode 100644 index 0f0afe85..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/CuType.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.CuType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.CuType

    -
    - - - - - - - - - -
    -Packages that use CuType
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of CuType in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as CuType
    -static CuTypeCuType.GROUP - -
    -          Group.
    -static CuTypeCuType.INDIVIDUAL - -
    -          Individual.
    -static CuTypeCuType.RESOURCE - -
    -          Resource.
    -static CuTypeCuType.ROOM - -
    -          Room.
    -static CuTypeCuType.UNKNOWN - -
    -          Unknown.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedFrom.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedFrom.html deleted file mode 100644 index 3a55da83..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedFrom.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.DelegatedFrom (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.DelegatedFrom

    -
    -No usage of net.fortuna.ical4j.model.parameter.DelegatedFrom -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedTo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedTo.html deleted file mode 100644 index 79d09bc3..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedTo.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.DelegatedTo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.DelegatedTo

    -
    -No usage of net.fortuna.ical4j.model.parameter.DelegatedTo -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Dir.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Dir.html deleted file mode 100644 index cb74ff57..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Dir.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Dir (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Dir

    -
    -No usage of net.fortuna.ical4j.model.parameter.Dir -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Encoding.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Encoding.html deleted file mode 100644 index 0069cbc7..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Encoding.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Encoding (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Encoding

    -
    - - - - - - - - - - - - - -
    -Packages that use Encoding
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of Encoding in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as Encoding
    -static EncodingEncoding.BASE64 - -
    -          Base64 encoding.
    -static EncodingEncoding.BINARY - -
    -          Binary encoding.
    -static EncodingEncoding.EIGHT_BIT - -
    -          8 bit encoding.
    -static EncodingEncoding.QUOTED_PRINTABLE - -
    -          Quoted printable encoding.
    -static EncodingEncoding.SEVEN_BIT - -
    -          7 bit encoding.
    -  -

    - - - - - -
    -Uses of Encoding in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type Encoding
    -abstract  org.apache.commons.codec.BinaryDecoderDecoderFactory.createBinaryDecoder(Encoding encoding) - -
    -          Returns a new BinaryDecoder for the specified encoding.
    - org.apache.commons.codec.BinaryDecoderDefaultDecoderFactory.createBinaryDecoder(Encoding encoding) - -
    -          Returns a new BinaryDecoder for the specified encoding.
    -abstract  org.apache.commons.codec.BinaryEncoderEncoderFactory.createBinaryEncoder(Encoding encoding) - -
    -          Returns a new BinaryEncoder for the specified encoding.
    - org.apache.commons.codec.BinaryEncoderDefaultEncoderFactory.createBinaryEncoder(Encoding encoding) - -
    -          Returns a new BinaryEncoder for the specified encoding.
    -abstract  org.apache.commons.codec.StringDecoderDecoderFactory.createStringDecoder(Encoding encoding) - -
    -          Returns a new StringDecoder for the specified encoding.
    - org.apache.commons.codec.StringDecoderDefaultDecoderFactory.createStringDecoder(Encoding encoding) - -
    -          Returns a new StringDecoder for the specified encoding.
    -abstract  org.apache.commons.codec.StringEncoderEncoderFactory.createStringEncoder(Encoding encoding) - -
    -          Returns a new StringEncoder for the specified encoding.
    - org.apache.commons.codec.StringEncoderDefaultEncoderFactory.createStringEncoder(Encoding encoding) - -
    -          Returns a new StringEncoder for the specified encoding.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FbType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FbType.html deleted file mode 100644 index bcf71898..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FbType.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.FbType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.FbType

    -
    - - - - - - - - - -
    -Packages that use FbType
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of FbType in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as FbType
    -static FbTypeFbType.BUSY - -
    -          Busy time.
    -static FbTypeFbType.BUSY_TENTATIVE - -
    -          Busy (tentative) time.
    -static FbTypeFbType.BUSY_UNAVAILABLE - -
    -          Busy (unavailable) time.
    -static FbTypeFbType.FREE - -
    -          Free time.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FmtType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FmtType.html deleted file mode 100644 index 83166082..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FmtType.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.FmtType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.FmtType

    -
    -No usage of net.fortuna.ical4j.model.parameter.FmtType -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Language.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Language.html deleted file mode 100644 index e80979c8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Language.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Language (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Language

    -
    -No usage of net.fortuna.ical4j.model.parameter.Language -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Member.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Member.html deleted file mode 100644 index 2570d19a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Member.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Member (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Member

    -
    -No usage of net.fortuna.ical4j.model.parameter.Member -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/PartStat.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/PartStat.html deleted file mode 100644 index c242f1a6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/PartStat.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.PartStat (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.PartStat

    -
    - - - - - - - - - -
    -Packages that use PartStat
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of PartStat in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as PartStat
    -static PartStatPartStat.ACCEPTED - -
    -          Accepted.
    -static PartStatPartStat.COMPLETED - -
    -          Completed.
    -static PartStatPartStat.DECLINED - -
    -          Declined.
    -static PartStatPartStat.DELEGATED - -
    -          Delegated.
    -static PartStatPartStat.IN_PROCESS - -
    -          In-process.
    -static PartStatPartStat.NEEDS_ACTION - -
    -          Needs action.
    -static PartStatPartStat.TENTATIVE - -
    -          Tentative.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Range.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Range.html deleted file mode 100644 index 897b294d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Range.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Range (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Range

    -
    - - - - - - - - - -
    -Packages that use Range
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of Range in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as Range
    -static RangeRange.THISANDFUTURE - -
    -          This and future.
    -static RangeRange.THISANDPRIOR - -
    -          This and prior.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/RelType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/RelType.html deleted file mode 100644 index 4acefb3b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/RelType.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.RelType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.RelType

    -
    - - - - - - - - - -
    -Packages that use RelType
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of RelType in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as RelType
    -static RelTypeRelType.CHILD - -
    -          Child.
    -static RelTypeRelType.PARENT - -
    -          Parent.
    -static RelTypeRelType.SIBLING - -
    -          Sibling.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Related.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Related.html deleted file mode 100644 index 777d02a2..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Related.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Related (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Related

    -
    - - - - - - - - - -
    -Packages that use Related
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of Related in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as Related
    -static RelatedRelated.END - -
    -          Trigger end.
    -static RelatedRelated.START - -
    -          Trigger start.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Role.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Role.html deleted file mode 100644 index 3b59d102..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Role.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Role (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Role

    -
    - - - - - - - - - -
    -Packages that use Role
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of Role in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as Role
    -static RoleRole.CHAIR - -
    -          Chair.
    -static RoleRole.NON_PARTICIPANT - -
    -          Non-participant.
    -static RoleRole.OPT_PARTICIPANT - -
    -          Optional participant.
    -static RoleRole.REQ_PARTICIPANT - -
    -          Required participant.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Rsvp.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Rsvp.html deleted file mode 100644 index 2d643b0e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Rsvp.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Rsvp (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Rsvp

    -
    - - - - - - - - - -
    -Packages that use Rsvp
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of Rsvp in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as Rsvp
    -static RsvpRsvp.FALSE - -
    -          RSVP not required.
    -static RsvpRsvp.TRUE - -
    -          RSVP is required.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleAgent.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleAgent.html deleted file mode 100644 index 0f397d4c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleAgent.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.ScheduleAgent (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.ScheduleAgent

    -
    - - - - - - - - - -
    -Packages that use ScheduleAgent
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    -  -

    - - - - - -
    -Uses of ScheduleAgent in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as ScheduleAgent
    -static ScheduleAgentScheduleAgent.CLIENT - -
    -           
    -static ScheduleAgentScheduleAgent.NONE - -
    -           
    -static ScheduleAgentScheduleAgent.SERVER - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleStatus.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleStatus.html deleted file mode 100644 index b6e2911e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleStatus.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.ScheduleStatus (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.ScheduleStatus

    -
    -No usage of net.fortuna.ical4j.model.parameter.ScheduleStatus -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/SentBy.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/SentBy.html deleted file mode 100644 index 00dd342a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/SentBy.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.SentBy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.SentBy

    -
    -No usage of net.fortuna.ical4j.model.parameter.SentBy -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Type.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Type.html deleted file mode 100644 index e47ce9dc..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Type.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Type (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Type

    -
    -No usage of net.fortuna.ical4j.model.parameter.Type -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/TzId.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/TzId.html deleted file mode 100644 index 88e61985..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/TzId.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.TzId (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.TzId

    -
    -No usage of net.fortuna.ical4j.model.parameter.TzId -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Value.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Value.html deleted file mode 100644 index d118b272..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Value.html +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Value (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Value

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Value
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of Value in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Value
    - ValueDateList.getType() - -
    -          Returns the VALUE parameter specifying the type of dates (ie.
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model with parameters of type Value
    - DateListRecur.getDates(Date seed, - Date periodStart, - Date periodEnd, - Value value) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date seed, - Date periodStart, - Date periodEnd, - Value value, - int maxCount) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date periodStart, - Date periodEnd, - Value value) - -
    -          Returns a list of start dates in the specified period represented by this recur.
    - DateListRecur.getDates(Date seed, - Period period, - Value value) - -
    -          Convenience method for retrieving recurrences in a specified period.
    -  -

    - - - - - - - - - - - - - - - - - - - - -
    Constructors in net.fortuna.ical4j.model with parameters of type Value
    DateList(DateList list, - Value type) - -
    -          Constructs a new date list of the specified type containing - the dates in the specified list.
    DateList(String aValue, - Value aType) - -
    -           
    DateList(String aValue, - Value aType, - TimeZone timezone) - -
    -          Parses the specified string representation to create a list of dates.
    DateList(Value aType) - -
    -           
    DateList(Value aType, - TimeZone timezone) - -
    -          Default constructor.
    -  -

    - - - - - -
    -Uses of Value in net.fortuna.ical4j.model.parameter
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.parameter declared as Value
    -static ValueValue.BINARY - -
    -          Binary value type.
    -static ValueValue.BOOLEAN - -
    -          Boolean value type.
    -static ValueValue.CAL_ADDRESS - -
    -          Calendar address value type.
    -static ValueValue.DATE - -
    -          Date value type.
    -static ValueValue.DATE_TIME - -
    -          Date-time value type.
    -static ValueValue.DURATION - -
    -          Duration value type.
    -static ValueValue.FLOAT - -
    -          Float value type.
    -static ValueValue.INTEGER - -
    -          Integer value type.
    -static ValueValue.PERIOD - -
    -          Period value type.
    -static ValueValue.RECUR - -
    -          Recurrence value type.
    -static ValueValue.TEXT - -
    -          Text value type.
    -static ValueValue.TIME - -
    -          Time value type.
    -static ValueValue.URI - -
    -          URI value type.
    -static ValueValue.UTC_OFFSET - -
    -          UTC offset value type.
    -  -

    - - - - - -
    -Uses of Value in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util with parameters of type Value
    -static DateDates.getInstance(Date date, - Value type) - -
    -          Returns a new date instance of the specified type.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Vvenue.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Vvenue.html deleted file mode 100644 index e6c2bb3d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Vvenue.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.Vvenue (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.Vvenue

    -
    -No usage of net.fortuna.ical4j.model.parameter.Vvenue -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/XParameter.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/XParameter.html deleted file mode 100644 index 503d3aec..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/XParameter.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.parameter.XParameter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.parameter.XParameter

    -
    -No usage of net.fortuna.ical4j.model.parameter.XParameter -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-frame.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-frame.html deleted file mode 100644 index a1a5b07a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-frame.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.parameter (iCal4j 1.0.4 API) - - - - - - - - - - - -net.fortuna.ical4j.model.parameter - - - - -
    -Classes  - -
    -Abbrev -
    -AltRep -
    -Cn -
    -CuType -
    -DelegatedFrom -
    -DelegatedTo -
    -Dir -
    -Encoding -
    -FbType -
    -FmtType -
    -Language -
    -Member -
    -PartStat -
    -Range -
    -Related -
    -RelType -
    -Role -
    -Rsvp -
    -ScheduleAgent -
    -ScheduleStatus -
    -SentBy -
    -Type -
    -TzId -
    -Value -
    -Vvenue -
    -XParameter
    - - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-summary.html deleted file mode 100644 index d82d7993..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-summary.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.parameter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package net.fortuna.ical4j.model.parameter -

    -Contains types used to represent the iCalendar parameter model. -

    -See: -
    -          Description -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    Abbrev$Id$ [18-Apr-2004] - - Defines an Abbreviation parameter.
    AltRep$Id$ [18-Apr-2004] - - Defines an Alternate Text Representation parameter.
    Cn$Id$ [18-Apr-2004] - - Defines a Common Name parameter.
    CuType$Id$ [18-Apr-2004] - - Defines a Calendar User Type.
    DelegatedFrom$Id$ [18-Apr-2004] - - Defines a Delegators parameter.
    DelegatedTo$Id$ [18-Apr-2004] - - Defines a Delegatees parameter.
    Dir$Id$ [18-Apr-2004] - - Defines a Directory Entry Reference parameter.
    Encoding$Id$ [18-Apr-2004] - - Defines an Inline Encoding parameter.
    FbType$Id$ [18-Apr-2004] - - Defines a Free/Busy Time Type parameter.
    FmtType$Id$ [18-Apr-2004] - - Defines a Format Type parameter.
    Language$Id$ [18-Apr-2004] - - Defines a Language parameter.
    Member$Id$ [18-Apr-2004] - - Defines a Group or List Membership parameter.
    PartStat$Id$ [18-Apr-2004] - - Defines a Participation Status parameter.
    Range$Id$ [18-Apr-2004] - - Defines a Recurrence Identifier Range parameter.
    Related$Id$ [18-Apr-2004] - - Defines an Alarm Trigger Relationship parameter.
    RelType$Id$ [18-Apr-2004] - - Defines a Relationship Type parameter.
    Role$Id$ [18-Apr-2004] - - Defines a Participation Role parameter.
    Rsvp$Id$ [18-Apr-2004] - - Defines an RSVP parameter.
    ScheduleAgentDefines the scheduling agent for CalDAV scheduling.
    ScheduleStatusDefines the scheduling status for CalDAV scheduling.
    SentBy$Id$ [18-Apr-2004] - - Defines a Sent By parameter.
    Type$Id$ [18-Apr-2004] - - Defines a Type parameter.
    TzId$Id$ [18-Apr-2004] - - Defines a Time Zone Identifier parameter.
    Value$Id$ [18-Apr-2004] - - Defines a Value Data Type parameter.
    Vvenue$Id$ [18-Apr-2004] - - Defines a Vvenue parameter.
    XParameter$Id$ [15/06/2004] - - Defines an extension parameter.
    -  - -

    -

    -Package net.fortuna.ical4j.model.parameter Description -

    - -

    -Contains types used to represent the iCalendar parameter model. -

    - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-tree.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-tree.html deleted file mode 100644 index d3b0215e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-tree.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.parameter Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package net.fortuna.ical4j.model.parameter -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    -
      -
    • java.lang.Object
        -
      • net.fortuna.ical4j.model.Content (implements java.io.Serializable) -
          -
        • net.fortuna.ical4j.model.Parameter
            -
          • net.fortuna.ical4j.model.parameter.Abbrev
          • net.fortuna.ical4j.model.parameter.AltRep
          • net.fortuna.ical4j.model.parameter.Cn
          • net.fortuna.ical4j.model.parameter.CuType
          • net.fortuna.ical4j.model.parameter.DelegatedFrom
          • net.fortuna.ical4j.model.parameter.DelegatedTo
          • net.fortuna.ical4j.model.parameter.Dir
          • net.fortuna.ical4j.model.parameter.Encoding
          • net.fortuna.ical4j.model.parameter.FbType
          • net.fortuna.ical4j.model.parameter.FmtType
          • net.fortuna.ical4j.model.parameter.Language
          • net.fortuna.ical4j.model.parameter.Member
          • net.fortuna.ical4j.model.parameter.PartStat
          • net.fortuna.ical4j.model.parameter.Range
          • net.fortuna.ical4j.model.parameter.Related
          • net.fortuna.ical4j.model.parameter.RelType
          • net.fortuna.ical4j.model.parameter.Role
          • net.fortuna.ical4j.model.parameter.Rsvp
          • net.fortuna.ical4j.model.parameter.ScheduleAgent
          • net.fortuna.ical4j.model.parameter.ScheduleStatus
          • net.fortuna.ical4j.model.parameter.SentBy
          • net.fortuna.ical4j.model.parameter.Type
          • net.fortuna.ical4j.model.parameter.TzId (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.parameter.Value
          • net.fortuna.ical4j.model.parameter.Vvenue
          • net.fortuna.ical4j.model.parameter.XParameter
          -
        -
      -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-use.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-use.html deleted file mode 100644 index 9268eb2a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/parameter/package-use.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - -Uses of Package net.fortuna.ical4j.model.parameter (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    net.fortuna.ical4j.model.parameter

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use net.fortuna.ical4j.model.parameter
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.parameter used by net.fortuna.ical4j.model
    Value - -
    -          $Id$ [18-Apr-2004] - - Defines a Value Data Type parameter.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.parameter used by net.fortuna.ical4j.model.parameter
    CuType - -
    -          $Id$ [18-Apr-2004] - - Defines a Calendar User Type.
    Encoding - -
    -          $Id$ [18-Apr-2004] - - Defines an Inline Encoding parameter.
    FbType - -
    -          $Id$ [18-Apr-2004] - - Defines a Free/Busy Time Type parameter.
    PartStat - -
    -          $Id$ [18-Apr-2004] - - Defines a Participation Status parameter.
    Range - -
    -          $Id$ [18-Apr-2004] - - Defines a Recurrence Identifier Range parameter.
    Related - -
    -          $Id$ [18-Apr-2004] - - Defines an Alarm Trigger Relationship parameter.
    RelType - -
    -          $Id$ [18-Apr-2004] - - Defines a Relationship Type parameter.
    Role - -
    -          $Id$ [18-Apr-2004] - - Defines a Participation Role parameter.
    Rsvp - -
    -          $Id$ [18-Apr-2004] - - Defines an RSVP parameter.
    ScheduleAgent - -
    -          Defines the scheduling agent for CalDAV scheduling.
    Value - -
    -          $Id$ [18-Apr-2004] - - Defines a Value Data Type parameter.
    -  -

    - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.parameter used by net.fortuna.ical4j.util
    Encoding - -
    -          $Id$ [18-Apr-2004] - - Defines an Inline Encoding parameter.
    Value - -
    -          $Id$ [18-Apr-2004] - - Defines a Value Data Type parameter.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Action.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Action.html deleted file mode 100644 index 6fcb765b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Action.html +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - - -Action (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Action

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Action
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Action
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines an ACTION iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static ActionAUDIO - -
    -          Constant action for playing an audible sound.
    -static ActionDISPLAY - -
    -          Constant action for displaying a visible notification.
    -static ActionEMAIL - -
    -          Constant action for sending an email.
    -static ActionPROCEDURE - -
    -          Constant action for a procedure.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Action() - -
    -          Default constructor.
    Action(ParameterList aList, - String aValue) - -
    -           
    Action(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -AUDIO

    -
    -public static final Action AUDIO
    -
    -
    Constant action for playing an audible sound. -

    -

    -
    -
    -
    - -

    -DISPLAY

    -
    -public static final Action DISPLAY
    -
    -
    Constant action for displaying a visible notification. -

    -

    -
    -
    -
    - -

    -EMAIL

    -
    -public static final Action EMAIL
    -
    -
    Constant action for sending an email. -

    -

    -
    -
    -
    - -

    -PROCEDURE

    -
    -public static final Action PROCEDURE
    -
    -
    Constant action for a procedure. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Action

    -
    -public Action()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Action

    -
    -public Action(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Action

    -
    -public Action(ParameterList aList,
    -              String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Attach.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Attach.html deleted file mode 100644 index 8f6de75e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Attach.html +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - -Attach (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Attach

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Attach
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Attach
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines an ATTACH iCalendar component property. - -

    -       4.8.1.1 Attachment
    -       
    -          Property Name: ATTACH
    -       
    -          Purpose: The property provides the capability to associate a document
    -          object with a calendar component.
    -       
    -          Value Type: The default value type for this property is URI. The
    -          value type can also be set to BINARY to indicate inline binary
    -          encoded content information.
    -       
    -          Property Parameters: Non-standard, inline encoding, format type and
    -          value data type property parameters can be specified on this
    -          property.
    -        
    -          Conformance: The property can be specified in a "VEVENT", "VTODO",
    -          "VJOURNAL" or "VALARM" calendar components.
    -       
    -          Description: The property can be specified within "VEVENT", "VTODO",
    -          "VJOURNAL", or "VALARM" calendar components. This property can be
    -          specified multiple times within an iCalendar object.
    -       
    -          Format Definition: The property is defined by the following notation:
    -       
    -            attach     = "ATTACH" attparam ":" uri  CRLF
    -       
    -        attach     =/ "ATTACH" attparam ";" "ENCODING" "=" "BASE64"
    -                          ";" "VALUE" "=" "BINARY" ":" binary
    -       
    -            attparam   = *(
    -       
    -                       ; the following is optional,
    -                       ; but MUST NOT occur more than once
    -       
    -                       (";" fmttypeparam) /
    -       
    -                       ; the following is optional,
    -                       ; and MAY occur more than once
    -       
    -                       (";" xparam)
    -       
    -                       )
    - 
    -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Attach() - -
    -          Default constructor.
    Attach(byte[] data) - -
    -           
    Attach(ParameterList aList, - byte[] data) - -
    -           
    Attach(ParameterList aList, - String aValue) - -
    -           
    Attach(ParameterList aList, - URI aUri) - -
    -           
    Attach(URI aUri) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - byte[]getBinary() - -
    -           
    - URIgetUri() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetBinary(byte[] binary) - -
    -           
    - voidsetUri(URI uri) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the Attach instance.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Attach

    -
    -public Attach()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Attach

    -
    -public Attach(ParameterList aList,
    -              String aValue)
    -       throws IOException,
    -              URISyntaxException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    IOException - when there is an error reading the binary stream -
    URISyntaxException - where the specified string is not a valid uri
    -
    -
    - -

    -Attach

    -
    -public Attach(byte[] data)
    -
    -
    -
    Parameters:
    data - binary data
    -
    -
    - -

    -Attach

    -
    -public Attach(ParameterList aList,
    -              byte[] data)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    data - binary data
    -
    -
    - -

    -Attach

    -
    -public Attach(URI aUri)
    -
    -
    -
    Parameters:
    aUri - a URI
    -
    -
    - -

    -Attach

    -
    -public Attach(ParameterList aList,
    -              URI aUri)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aUri - a URI
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getBinary

    -
    -public final byte[] getBinary()
    -
    -
    - -
    Returns:
    Returns the binary.
    -
    -
    -
    - -

    -getUri

    -
    -public final URI getUri()
    -
    -
    - -
    Returns:
    Returns the uri.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws IOException,
    -                           URISyntaxException
    -
    -
    Sets the current value of the Attach instance. If the specified - value is encoded binary data, the value is decoded and stored in - the binary field. Otherwise the value is assumed to be a URI - location to binary data and is stored as such. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string encoded binary or URI value -
    Throws: -
    IOException - where binary data cannot be decoded -
    URISyntaxException - where the specified value is not a valid URI
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setBinary

    -
    -public final void setBinary(byte[] binary)
    -
    -
    -
    Parameters:
    binary - The binary to set.
    -
    -
    -
    - -

    -setUri

    -
    -public final void setUri(URI uri)
    -
    -
    -
    Parameters:
    uri - The uri to set.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Attendee.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Attendee.html deleted file mode 100644 index 8cf23576..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Attendee.html +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - -Attendee (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Attendee

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Attendee
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Attendee
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines an ATTENDEE iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Attendee() - -
    -          Default constructor.
    Attendee(ParameterList aList, - String aValue) - -
    -           
    Attendee(ParameterList aList, - URI aUri) - -
    -           
    Attendee(String aValue) - -
    -           
    Attendee(URI aUri) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Propertycopy() - -
    -          Create a (deep) copy of this property.
    - URIgetCalAddress() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetCalAddress(URI calAddress) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Attendee

    -
    -public Attendee()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Attendee

    -
    -public Attendee(String aValue)
    -         throws URISyntaxException
    -
    -
    -
    Parameters:
    aValue - a value string for this component -
    Throws: -
    URISyntaxException - where the specified value string is not a valid uri
    -
    -
    - -

    -Attendee

    -
    -public Attendee(ParameterList aList,
    -                String aValue)
    -         throws URISyntaxException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    URISyntaxException - where the specified value string is not a valid uri
    -
    -
    - -

    -Attendee

    -
    -public Attendee(URI aUri)
    -
    -
    -
    Parameters:
    aUri - a URI
    -
    -
    - -

    -Attendee

    -
    -public Attendee(ParameterList aList,
    -                URI aUri)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aUri - a URI
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws URISyntaxException
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    URISyntaxException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getCalAddress

    -
    -public final URI getCalAddress()
    -
    -
    - -
    Returns:
    Returns the calAddress.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setCalAddress

    -
    -public final void setCalAddress(URI calAddress)
    -
    -
    -
    Parameters:
    calAddress - The calAddress to set.
    -
    -
    -
    - -

    -copy

    -
    -public final Property copy()
    -                    throws IOException,
    -                           URISyntaxException,
    -                           ParseException
    -
    -
    Create a (deep) copy of this property. -

    -

    -
    Overrides:
    copy in class Property
    -
    -
    - -
    Returns:
    the copy of the property -
    Throws: -
    IOException - where an error occurs reading property data -
    URISyntaxException - where the property contains an invalid URI value -
    ParseException - where the property contains an invalid date value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/BusyType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/BusyType.html deleted file mode 100644 index a1f78d10..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/BusyType.html +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - -BusyType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class BusyType

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.BusyType
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class BusyType
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a BUSYTYPE iCalendar component property. - - Format Definition: This property is defined by the following - notation: - - busytype = "BUSYTYPE" busytypeparam ":" busytypevalue CRLF - - busytypeparam = *(";" xparam) - - busytypevalue = "BUSY" / "BUSY-UNAVAILABLE" / - "BUSY-TENTATIVE" / iana-token / x-name - ; Default is "BUSY-UNAVAILABLE" -

    - -

    -

    -
    Author:
    -
    Ben Fortuna, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static BusyTypeBUSY - -
    -          Constant for busy time.
    -static BusyTypeBUSY_TENTATIVE - -
    -          Constant for tentatively busy time.
    -static BusyTypeBUSY_UNAVAILABLE - -
    -          Constant for busy unavailable time.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    BusyType() - -
    -          Default constructor.
    BusyType(ParameterList aList, - String aValue) - -
    -           
    BusyType(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -BUSY

    -
    -public static final BusyType BUSY
    -
    -
    Constant for busy time. -

    -

    -
    -
    -
    - -

    -BUSY_UNAVAILABLE

    -
    -public static final BusyType BUSY_UNAVAILABLE
    -
    -
    Constant for busy unavailable time. -

    -

    -
    -
    -
    - -

    -BUSY_TENTATIVE

    -
    -public static final BusyType BUSY_TENTATIVE
    -
    -
    Constant for tentatively busy time. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -BusyType

    -
    -public BusyType()
    -
    -
    Default constructor. -

    -

    -
    - -

    -BusyType

    -
    -public BusyType(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -BusyType

    -
    -public BusyType(ParameterList aList,
    -                String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/CalScale.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/CalScale.html deleted file mode 100644 index d5e2dc8b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/CalScale.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - -CalScale (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class CalScale

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.CalScale
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class CalScale
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a CALSCALE iCalendar property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static CalScaleGREGORIAN - -
    -          Constant for Gregorian calendar representation.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    CalScale() - -
    -          Default constructor.
    CalScale(ParameterList aList, - String aValue) - -
    -           
    CalScale(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -GREGORIAN

    -
    -public static final CalScale GREGORIAN
    -
    -
    Constant for Gregorian calendar representation. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -CalScale

    -
    -public CalScale()
    -
    -
    Default constructor. -

    -

    -
    - -

    -CalScale

    -
    -public CalScale(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -CalScale

    -
    -public CalScale(ParameterList aList,
    -                String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Categories.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Categories.html deleted file mode 100644 index e01ea33b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Categories.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - - - - -Categories (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Categories

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Categories
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Categories
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a CATEGORIES iCalendar component property. -

    -     4.8.1.2 Categories
    -     
    -        Property Name: CATEGORIES
    -     
    -        Purpose: This property defines the categories for a calendar
    -        component.
    -     
    -        Value Type: TEXT
    -     
    -        Property Parameters: Non-standard and language property parameters
    -        can be specified on this property.
    -     
    -        Conformance: The property can be specified within "VEVENT", "VTODO"
    -        or "VJOURNAL" calendar components.
    -     
    -        Description: This property is used to specify categories or subtypes
    -        of the calendar component. The categories are useful in searching for
    -        a calendar component of a particular type and category. Within the
    -        "VEVENT", "VTODO" or "VJOURNAL" calendar components, more than one
    -        category can be specified as a list of categories separated by the
    -        COMMA character (US-ASCII decimal 44).
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          categories = "CATEGORIES" catparam ":" text *("," text)
    -                       CRLF
    -     
    -          catparam   = *(
    -     
    -                     ; the following is optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" languageparam ) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                     (";" xparam)
    -     
    -                     )
    - 
    -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Categories() - -
    -          Default constructor.
    Categories(ParameterList aList, - String aValue) - -
    -           
    Categories(ParameterList aList, - TextList cList) - -
    -           
    Categories(String aValue) - -
    -           
    Categories(TextList cList) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - TextListgetCategories() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Categories

    -
    -public Categories()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Categories

    -
    -public Categories(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Categories

    -
    -public Categories(ParameterList aList,
    -                  String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Categories

    -
    -public Categories(TextList cList)
    -
    -
    -
    Parameters:
    cList - a list of categories
    -
    -
    - -

    -Categories

    -
    -public Categories(ParameterList aList,
    -                  TextList cList)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    cList - a list of categories
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getCategories

    -
    -public final TextList getCategories()
    -
    -
    - -
    Returns:
    Returns the categories.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Clazz.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Clazz.html deleted file mode 100644 index fb83dbc8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Clazz.html +++ /dev/null @@ -1,505 +0,0 @@ - - - - - - - -Clazz (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Clazz

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Clazz
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Clazz
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a CLASS iCalendar property. - -

    -     4.8.1.3 Classification
    -     
    -        Property Name: CLASS
    -     
    -        Purpose: This property defines the access classification for a
    -        calendar component.
    -     
    -        Value Type: TEXT
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: The property can be specified once in a "VEVENT",
    -        "VTODO" or "VJOURNAL" calendar components.
    -     
    -        Description: An access classification is only one component of the
    -        general security system within a calendar application. It provides a
    -        method of capturing the scope of the access the calendar owner
    -        intends for information within an individual calendar entry. The
    -        access classification of an individual iCalendar component is useful
    -        when measured along with the other security components of a calendar
    -        system (e.g., calendar user authentication, authorization, access
    -        rights, access role, etc.). Hence, the semantics of the individual
    -        access classifications cannot be completely defined by this memo
    -        alone. Additionally, due to the "blind" nature of most exchange
    -        processes using this memo, these access classifications cannot serve
    -        as an enforcement statement for a system receiving an iCalendar
    -        object. Rather, they provide a method for capturing the intention of
    -        the calendar owner for the access to the calendar component.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          class      = "CLASS" classparam ":" classvalue CRLF
    -     
    -          classparam = *(";" xparam)
    -     
    -          classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token
    -                     / x-name
    -          ;Default is PUBLIC
    -     
    -        Example: The following is an example of this property:
    -     
    -          CLASS:PUBLIC
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static ClazzCONFIDENTIAL - -
    -          Constant for confidential classification.
    -static ClazzPRIVATE - -
    -          Constant for private classification.
    -static ClazzPUBLIC - -
    -          Constant for public classification.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Clazz() - -
    -          Default constructor.
    Clazz(ParameterList aList, - String aValue) - -
    -           
    Clazz(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PUBLIC

    -
    -public static final Clazz PUBLIC
    -
    -
    Constant for public classification. -

    -

    -
    -
    -
    - -

    -PRIVATE

    -
    -public static final Clazz PRIVATE
    -
    -
    Constant for private classification. -

    -

    -
    -
    -
    - -

    -CONFIDENTIAL

    -
    -public static final Clazz CONFIDENTIAL
    -
    -
    Constant for confidential classification. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Clazz

    -
    -public Clazz()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Clazz

    -
    -public Clazz(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Clazz

    -
    -public Clazz(ParameterList aList,
    -             String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Comment.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Comment.html deleted file mode 100644 index 4802e461..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Comment.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Comment (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Comment

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Comment
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Comment
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a COMMENT iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Comment() - -
    -          Default constructor.
    Comment(ParameterList aList, - String aValue) - -
    -           
    Comment(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Comment

    -
    -public Comment()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Comment

    -
    -public Comment(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Comment

    -
    -public Comment(ParameterList aList,
    -               String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Completed.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Completed.html deleted file mode 100644 index e519dda8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Completed.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Completed (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Completed

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.UtcProperty
    -                  extended by net.fortuna.ical4j.model.property.Completed
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Completed
    extends UtcProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a COMPLETED iCalendar component property. - -

    -     4.8.2.1 Date/Time Completed
    -     
    -        Property Name: COMPLETED
    -     
    -        Purpose: This property defines the date and time that a to-do was
    -        actually completed.
    -     
    -        Value Type: DATE-TIME
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: The property can be specified in a "VTODO" calendar
    -        component.
    -     
    -        Description: The date and time MUST be in a UTC format.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          completed  = "COMPLETED" compparam ":" date-time CRLF
    -     
    -          compparam  = *(";" xparam)
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Completed() - -
    -          Default constructor.
    Completed(DateTime aDate) - -
    -           
    Completed(ParameterList aList, - DateTime aDate) - -
    -           
    Completed(ParameterList aList, - String aValue) - -
    -           
    Completed(String aValue) - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.UtcProperty
    getDateTime, setDateTime, setTimeZone, validate
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Completed

    -
    -public Completed()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Completed

    -
    -public Completed(String aValue)
    -          throws ParseException
    -
    -
    -
    Parameters:
    aValue - a value string for this component -
    Throws: -
    ParseException - when the specified string is not a valid date-time represenation
    -
    -
    - -

    -Completed

    -
    -public Completed(ParameterList aList,
    -                 String aValue)
    -          throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - when the specified string is not a valid date-time represenation
    -
    -
    - -

    -Completed

    -
    -public Completed(DateTime aDate)
    -
    -
    -
    Parameters:
    aDate - a date
    -
    -
    - -

    -Completed

    -
    -public Completed(ParameterList aList,
    -                 DateTime aDate)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aDate - a date
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Contact.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Contact.html deleted file mode 100644 index 07e8665a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Contact.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Contact (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Contact

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Contact
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Contact
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a CONTACT iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Contact() - -
    -          Default constructor.
    Contact(ParameterList aList, - String aValue) - -
    -           
    Contact(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Contact

    -
    -public Contact()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Contact

    -
    -public Contact(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Contact

    -
    -public Contact(ParameterList aList,
    -               String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Country.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Country.html deleted file mode 100644 index 9fe530b2..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Country.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Country (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Country

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Country
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Country
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Country() - -
    -          Default constructor.
    Country(ParameterList aList, - String aValue) - -
    -           
    Country(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Country

    -
    -public Country()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Country

    -
    -public Country(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Country

    -
    -public Country(ParameterList aList,
    -               String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Created.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Created.html deleted file mode 100644 index 39c6abe6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Created.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - -Created (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Created

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.UtcProperty
    -                  extended by net.fortuna.ical4j.model.property.Created
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Created
    extends UtcProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a CREATED iCalendar component property. - -

    -     4.8.7.1 Date/Time Created
    -     
    -        Property Name: CREATED
    -     
    -        Purpose: This property specifies the date and time that the calendar
    -        information was created by the calendar user agent in the calendar
    -        store.
    -     
    -             Note: This is analogous to the creation date and time for a file
    -             in the file system.
    -     
    -        Value Type: DATE-TIME
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: The property can be specified once in "VEVENT", "VTODO"
    -        or "VJOURNAL" calendar components.
    -     
    -        Description: The date and time is a UTC value.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          created    = "CREATED" creaparam ":" date-time CRLF
    -     
    -          creaparam  = *(";" xparam)
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Created() - -
    -          Default constructor.
    Created(DateTime aDate) - -
    -           
    Created(ParameterList aList, - DateTime aDate) - -
    -           
    Created(ParameterList aList, - String aValue) - -
    -           
    Created(String aValue) - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.UtcProperty
    getDateTime, setDateTime, setTimeZone, validate
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Created

    -
    -public Created()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Created

    -
    -public Created(String aValue)
    -        throws ParseException
    -
    -
    -
    Parameters:
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -Created

    -
    -public Created(ParameterList aList,
    -               String aValue)
    -        throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -Created

    -
    -public Created(DateTime aDate)
    -
    -
    -
    Parameters:
    aDate - a date
    -
    -
    - -

    -Created

    -
    -public Created(ParameterList aList,
    -               DateTime aDate)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aDate - a date
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DateListProperty.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DateListProperty.html deleted file mode 100644 index f3efece5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DateListProperty.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - -DateListProperty (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class DateListProperty

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateListProperty
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    ExDate, RDate
    -
    -
    -
    -
    public abstract class DateListProperty
    extends Property
    - - -

    -$Id$ - - Created on 11/08/2005 - - Base class for properties with a list of dates as a value. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    DateListProperty(String name, - DateList dates, - PropertyFactory factory) - -
    -           
    DateListProperty(String name, - ParameterList parameters, - DateList dates, - PropertyFactory factory) - -
    -           
    DateListProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    DateListProperty(String name, - PropertyFactory factory) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Propertycopy() - -
    -          Create a (deep) copy of this property.
    - DateListgetDates() - -
    -           
    - TimeZonegetTimeZone() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetTimeZone(TimeZone timezone) - -
    -          Sets the timezone associated with this property.
    - voidsetUtc(boolean utc) - -
    -          Resets the timezone associated with the property.
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString, validate
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateListProperty

    -
    -public DateListProperty(String name,
    -                        PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - the property name
    -
    -
    - -

    -DateListProperty

    -
    -public DateListProperty(String name,
    -                        ParameterList parameters,
    -                        PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - the property name
    parameters - property parameters
    -
    -
    - -

    -DateListProperty

    -
    -public DateListProperty(String name,
    -                        DateList dates,
    -                        PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - the property name
    dates - a list of initial dates for the property
    -
    -
    - -

    -DateListProperty

    -
    -public DateListProperty(String name,
    -                        ParameterList parameters,
    -                        DateList dates,
    -                        PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - the property name
    parameters - property parameters
    dates - a list of initial dates for the property
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDates

    -
    -public final DateList getDates()
    -
    -
    - -
    Returns:
    Returns the dates.
    -
    -
    -
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -              throws ParseException
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    ParseException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -getValue

    -
    -public String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setTimeZone

    -
    -public void setTimeZone(TimeZone timezone)
    -
    -
    Sets the timezone associated with this property. -

    -

    -
    Parameters:
    timezone - a timezone to associate with this property
    -
    -
    -
    - -

    -getTimeZone

    -
    -public final TimeZone getTimeZone()
    -
    -
    - -
    Returns:
    the timezone
    -
    -
    -
    - -

    -setUtc

    -
    -public final void setUtc(boolean utc)
    -
    -
    Resets the timezone associated with the property. If utc is true, any TZID parameters are removed and the Java - timezone is updated to UTC time. If utc is false, TZID parameters are removed and the Java timezone is set to the - default timezone (i.e. represents a "floating" local time) -

    -

    -
    Parameters:
    utc - the UTC value
    -
    -
    -
    - -

    -copy

    -
    -public final Property copy()
    -                    throws IOException,
    -                           URISyntaxException,
    -                           ParseException
    -
    -
    Create a (deep) copy of this property. -

    -

    -
    Overrides:
    copy in class Property
    -
    -
    - -
    Returns:
    the copy of the property -
    Throws: -
    IOException - where an error occurs reading property data -
    URISyntaxException - where the property contains an invalid URI value -
    ParseException - where the property contains an invalid date value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DateProperty.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DateProperty.html deleted file mode 100644 index 4dee2b52..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DateProperty.html +++ /dev/null @@ -1,592 +0,0 @@ - - - - - - - -DateProperty (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class DateProperty

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    DtEnd, DtStart, Due, RecurrenceId, UtcProperty
    -
    -
    -
    -
    public abstract class DateProperty
    extends Property
    - - -

    -$Id$ - - Created on 9/07/2005 - - Base class for properties with a DATE or DATE-TIME value. Note that some sub-classes may only allow either a DATE or - a DATE-TIME value, for which additional rules/validation should be specified. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    DateProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    DateProperty(String name, - PropertyFactory factory) - -
    -           
    DateProperty(String name, - TimeZone timezone, - PropertyFactory factory) - -
    -          Creates a new instance of the named property with an initial timezone.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - Propertycopy() - -
    -          Create a (deep) copy of this property.
    - DategetDate() - -
    -           
    - TimeZonegetTimeZone() - -
    -           
    - StringgetValue() - -
    -          
    - inthashCode() - -
    -          
    - booleanisUtc() - -
    -          Indicates whether the current date value is specified in UTC time.
    - voidsetDate(Date date) - -
    -          Sets the date value of this property.
    - voidsetTimeZone(TimeZone timezone) - -
    -          Publically available method to update the current timezone.
    - voidsetUtc(boolean utc) - -
    -          Resets the VTIMEZONE associated with the property.
    - voidsetValue(String value) - -
    -          Default setValue() implementation.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DateProperty

    -
    -public DateProperty(String name,
    -                    ParameterList parameters,
    -                    PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - the property name
    parameters - a list of initial parameters
    -
    -
    - -

    -DateProperty

    -
    -public DateProperty(String name,
    -                    PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - the property name
    -
    -
    - -

    -DateProperty

    -
    -public DateProperty(String name,
    -                    TimeZone timezone,
    -                    PropertyFactory factory)
    -
    -
    Creates a new instance of the named property with an initial timezone. -

    -

    -
    Parameters:
    name - property name
    timezone - initial timezone
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDate

    -
    -public final Date getDate()
    -
    -
    - -
    Returns:
    Returns the date.
    -
    -
    -
    - -

    -setDate

    -
    -public final void setDate(Date date)
    -
    -
    Sets the date value of this property. The timezone and value of this - instance will also be updated accordingly. -

    -

    -
    Parameters:
    date - The date to set.
    -
    -
    -
    - -

    -setValue

    -
    -public void setValue(String value)
    -              throws ParseException
    -
    -
    Default setValue() implementation. Allows for either DATE or DATE-TIME values. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    value - a string representation of a DATE or DATE-TIME value -
    Throws: -
    ParseException - where the specified value is not a valid DATE or DATE-TIME - representation
    -
    -
    -
    - -

    -getValue

    -
    -public String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setTimeZone

    -
    -public void setTimeZone(TimeZone timezone)
    -
    -
    Publically available method to update the current timezone. -

    -

    -
    Parameters:
    timezone - a timezone instance
    -
    -
    -
    - -

    -getTimeZone

    -
    -public final TimeZone getTimeZone()
    -
    -
    - -
    Returns:
    the timezone
    -
    -
    -
    - -

    -hashCode

    -
    -public int hashCode()
    -
    -
    -

    -

    -
    Overrides:
    hashCode in class Property
    -
    -
    -
    -
    -
    -
    - -

    -setUtc

    -
    -public final void setUtc(boolean utc)
    -
    -
    Resets the VTIMEZONE associated with the property. If utc is true, any TZID parameters are removed and the Java - timezone is updated to UTC time. If utc is false, TZID parameters are removed and the Java timezone is set to the - default timezone (i.e. represents a "floating" local time) -

    -

    -
    Parameters:
    utc - a UTC value
    -
    -
    -
    - -

    -isUtc

    -
    -public final boolean isUtc()
    -
    -
    Indicates whether the current date value is specified in UTC time. -

    -

    - -
    Returns:
    true if the property is in UTC time, otherwise false
    -
    -
    -
    - -

    -validate

    -
    -public void validate()
    -              throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -copy

    -
    -public Property copy()
    -              throws IOException,
    -                     URISyntaxException,
    -                     ParseException
    -
    -
    Create a (deep) copy of this property. -

    -

    -
    Overrides:
    copy in class Property
    -
    -
    - -
    Returns:
    the copy of the property -
    Throws: -
    IOException - where an error occurs reading property data -
    URISyntaxException - where the property contains an invalid URI value -
    ParseException - where the property contains an invalid date value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Description.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Description.html deleted file mode 100644 index 21e31a6e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Description.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Description (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Description

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Description
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Description
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a DESCRIPTION iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Description() - -
    -          Default constructor.
    Description(ParameterList aList, - String aValue) - -
    -           
    Description(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Description

    -
    -public Description()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Description

    -
    -public Description(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Description

    -
    -public Description(ParameterList aList,
    -                   String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtEnd.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtEnd.html deleted file mode 100644 index 26c8212c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtEnd.html +++ /dev/null @@ -1,519 +0,0 @@ - - - - - - - -DtEnd (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class DtEnd

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.DtEnd
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class DtEnd
    extends DateProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a DTEND iCalendar component property. - -

    -     4.8.2.2 Date/Time End
    -     
    -        Property Name: DTEND
    -     
    -        Purpose: This property specifies the date and time that a calendar
    -        component ends.
    -     
    -        Value Type: The default value type is DATE-TIME. The value type can
    -        be set to a DATE value type.
    -     
    -        Property Parameters: Non-standard, value data type, time zone
    -        identifier property parameters can be specified on this property.
    -     
    -        Conformance: This property can be specified in "VEVENT" or
    -        "VFREEBUSY" calendar components.
    -     
    -        Description: Within the "VEVENT" calendar component, this property
    -        defines the date and time by which the event ends. The value MUST be
    -        later in time than the value of the "DTSTART" property.
    -     
    -        Within the "VFREEBUSY" calendar component, this property defines the
    -        end date and time for the free or busy time information. The time
    -        MUST be specified in the UTC time format. The value MUST be later in
    -        time than the value of the "DTSTART" property.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          dtend      = "DTEND" dtendparam":" dtendval CRLF
    -     
    -          dtendparam = *(
    -     
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
    -                     (";" tzidparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                     (";" xparam)
    -     
    -                     )
    -     
    -     
    -     
    -          dtendval   = date-time / date
    -          ;Value MUST match value type
    - 
    - - Examples: - -
    -      // construct an end date from a start date and a duration..
    -      DtStart start = ...
    -      Dur oneWeek = new Dur("1W");
    -      DtEnd end = new DtEnd(oneWeek.getTime(start.getDate());
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    DtEnd() - -
    -          Default constructor.
    DtEnd(Date aDate) - -
    -          Constructor.
    DtEnd(Date time, - boolean utc) - -
    -          Constructs a new DtEnd with the specified time.
    DtEnd(ParameterList aList, - Date aDate) - -
    -          Constructor.
    DtEnd(ParameterList aList, - String aValue) - -
    -           
    DtEnd(String value) - -
    -          Creates a new instance initialised with the parsed value.
    DtEnd(String value, - TimeZone timezone) - -
    -          Creates a new DTEND property initialised with the specified timezone and value.
    DtEnd(TimeZone timezone) - -
    -          Creates a new DTEND property initialised with the specified timezone.
    -  - - - - - - - - - - - -
    -Method Summary
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setTimeZone, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DtEnd

    -
    -public DtEnd()
    -
    -
    Default constructor. The time value is initialised to the time of instantiation. -

    -

    -
    - -

    -DtEnd

    -
    -public DtEnd(TimeZone timezone)
    -
    -
    Creates a new DTEND property initialised with the specified timezone. -

    -

    -
    Parameters:
    timezone - initial timezone
    -
    -
    - -

    -DtEnd

    -
    -public DtEnd(String value)
    -      throws ParseException
    -
    -
    Creates a new instance initialised with the parsed value. -

    -

    -
    Parameters:
    value - the DTEND value string to parse -
    Throws: -
    ParseException - where the specified string is not a valid DTEND value representation
    -
    -
    - -

    -DtEnd

    -
    -public DtEnd(String value,
    -             TimeZone timezone)
    -      throws ParseException
    -
    -
    Creates a new DTEND property initialised with the specified timezone and value. -

    -

    -
    Parameters:
    value - a string representation of a DTEND value
    timezone - initial timezone -
    Throws: -
    ParseException - where the specified value is not a valid string - representation
    -
    -
    - -

    -DtEnd

    -
    -public DtEnd(ParameterList aList,
    -             String aValue)
    -      throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - when the specified string is not a valid date/date-time representation
    -
    -
    - -

    -DtEnd

    -
    -public DtEnd(Date aDate)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aDate - a date
    -
    -
    - -

    -DtEnd

    -
    -public DtEnd(Date time,
    -             boolean utc)
    -
    -
    Constructs a new DtEnd with the specified time. -

    -

    -
    Parameters:
    time - the time of the DtEnd
    utc - specifies whether time is UTC
    -
    -
    - -

    -DtEnd

    -
    -public DtEnd(ParameterList aList,
    -             Date aDate)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aList - a list of parameters for this component
    aDate - a date
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Overrides:
    validate in class DateProperty
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtStamp.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtStamp.html deleted file mode 100644 index b087b916..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtStamp.html +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - - -DtStamp (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class DtStamp

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.UtcProperty
    -                  extended by net.fortuna.ical4j.model.property.DtStamp
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class DtStamp
    extends UtcProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTAMP iCalendar component property. - -

    -     4.8.7.2 Date/Time Stamp
    -     
    -        Property Name: DTSTAMP
    -     
    -        Purpose: The property indicates the date/time that the instance of
    -        the iCalendar object was created.
    -     
    -        Value Type: DATE-TIME
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: This property MUST be included in the "VEVENT", "VTODO",
    -        "VJOURNAL" or "VFREEBUSY" calendar components.
    -     
    -        Description: The value MUST be specified in the UTC time format.
    -     
    -        This property is also useful to protocols such as [IMIP] that have
    -        inherent latency issues with the delivery of content. This property
    -        will assist in the proper sequencing of messages containing iCalendar
    -        objects.
    -     
    -        This property is different than the "CREATED" and "LAST-MODIFIED"
    -        properties. These two properties are used to specify when the
    -        particular calendar data in the calendar store was created and last
    -        modified. This is different than when the iCalendar object
    -        representation of the calendar service information was created or
    -        last modified.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          dtstamp    = "DTSTAMP" stmparam ":" date-time CRLF
    -     
    -          stmparam   = *(";" xparam)
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    DtStamp() - -
    -          Default constructor.
    DtStamp(DateTime aDate) - -
    -           
    DtStamp(ParameterList aList, - DateTime aDate) - -
    -           
    DtStamp(ParameterList aList, - String aValue) - -
    -           
    DtStamp(String aValue) - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.UtcProperty
    getDateTime, setDateTime, setTimeZone, validate
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DtStamp

    -
    -public DtStamp()
    -
    -
    Default constructor. Initialises the dateTime value to the time of instantiation. -

    -

    -
    - -

    -DtStamp

    -
    -public DtStamp(String aValue)
    -        throws ParseException
    -
    -
    -
    Parameters:
    aValue - a string representation of a DTSTAMP value -
    Throws: -
    ParseException - if the specified value is not a valid representation
    -
    -
    - -

    -DtStamp

    -
    -public DtStamp(ParameterList aList,
    -               String aValue)
    -        throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -DtStamp

    -
    -public DtStamp(DateTime aDate)
    -
    -
    -
    Parameters:
    aDate - a date representing a date-time
    -
    -
    - -

    -DtStamp

    -
    -public DtStamp(ParameterList aList,
    -               DateTime aDate)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aDate - a date representing a date-time
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtStart.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtStart.html deleted file mode 100644 index 24129dfb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/DtStart.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - -DtStart (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class DtStart

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.DtStart
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class DtStart
    extends DateProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTART iCalendar component property. - -

    -     4.8.2.4 Date/Time Start
    -     
    -        Property Name: DTSTART
    -     
    -        Purpose: This property specifies when the calendar component begins.
    -     
    -        Value Type: The default value type is DATE-TIME. The time value MUST
    -        be one of the forms defined for the DATE-TIME value type. The value
    -        type can be set to a DATE value type.
    -     
    -        Property Parameters: Non-standard, value data type, time zone
    -        identifier property parameters can be specified on this property.
    -     
    -        Conformance: This property can be specified in the "VEVENT", "VTODO",
    -        "VFREEBUSY", or "VTIMEZONE" calendar components.
    -     
    -        Description: Within the "VEVENT" calendar component, this property
    -        defines the start date and time for the event. The property is
    -        REQUIRED in "VEVENT" calendar components. Events can have a start
    -        date/time but no end date/time. In that case, the event does not take
    -        up any time.
    -     
    -        Within the "VFREEBUSY" calendar component, this property defines the
    -        start date and time for the free or busy time information. The time
    -        MUST be specified in UTC time.
    -     
    -        Within the "VTIMEZONE" calendar component, this property defines the
    -        effective start date and time for a time zone specification. This
    -        property is REQUIRED within each STANDARD and DAYLIGHT part included
    -        in "VTIMEZONE" calendar components and MUST be specified as a local
    -        DATE-TIME without the "TZID" property parameter.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          dtstart    = "DTSTART" dtstparam ":" dtstval CRLF
    -     
    -          dtstparam  = *(
    -     
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
    -                     (";" tzidparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                       *(";" xparam)
    -     
    -                     )
    -     
    -     
    -     
    -          dtstval    = date-time / date
    -          ;Value MUST match value type
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    DtStart() - -
    -          Default constructor.
    DtStart(Date aDate) - -
    -          Constructor.
    DtStart(Date time, - boolean utc) - -
    -          Constructs a new DtStart with the specified time.
    DtStart(ParameterList aList, - Date aDate) - -
    -          Constructor.
    DtStart(ParameterList aList, - String aValue) - -
    -           
    DtStart(String aValue) - -
    -           
    DtStart(String value, - TimeZone timezone) - -
    -          Creates a new DTSTART property initialised with the specified timezone and value.
    DtStart(TimeZone timezone) - -
    -          Creates a new DTSTART property initialised with the specified timezone.
    -  - - - - - - - - - - - -
    -Method Summary
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setTimeZone, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DtStart

    -
    -public DtStart()
    -
    -
    Default constructor. The time value is initialised to the time of instantiation. -

    -

    -
    - -

    -DtStart

    -
    -public DtStart(TimeZone timezone)
    -
    -
    Creates a new DTSTART property initialised with the specified timezone. -

    -

    -
    Parameters:
    timezone - initial timezone
    -
    -
    - -

    -DtStart

    -
    -public DtStart(String aValue)
    -        throws ParseException
    -
    -
    -
    Parameters:
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -DtStart

    -
    -public DtStart(String value,
    -               TimeZone timezone)
    -        throws ParseException
    -
    -
    Creates a new DTSTART property initialised with the specified timezone and value. -

    -

    -
    Parameters:
    value - a string representation of a DTSTART value
    timezone - initial timezone -
    Throws: -
    ParseException - where the specified value is not a valid string - representation
    -
    -
    - -

    -DtStart

    -
    -public DtStart(ParameterList aList,
    -               String aValue)
    -        throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -DtStart

    -
    -public DtStart(Date aDate)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aDate - a date
    -
    -
    - -

    -DtStart

    -
    -public DtStart(Date time,
    -               boolean utc)
    -
    -
    Constructs a new DtStart with the specified time. -

    -

    -
    Parameters:
    time - the time of the DtStart
    utc - specifies whether time is UTC
    -
    -
    - -

    -DtStart

    -
    -public DtStart(ParameterList aList,
    -               Date aDate)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aList - a list of parameters for this component
    aDate - a date
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Overrides:
    validate in class DateProperty
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Due.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Due.html deleted file mode 100644 index 527f0a5c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Due.html +++ /dev/null @@ -1,483 +0,0 @@ - - - - - - - -Due (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Due

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.Due
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Due
    extends DateProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a DUE iCalendar component property. - -

    -     4.8.2.3 Date/Time Due
    -     
    -        Property Name: DUE
    -     
    -        Purpose: This property defines the date and time that a to-do is
    -        expected to be completed.
    -     
    -        Value Type: The default value type is DATE-TIME. The value type can
    -        be set to a DATE value type.
    -     
    -        Property Parameters: Non-standard, value data type, time zone
    -        identifier property parameters can be specified on this property.
    -     
    -        Conformance: The property can be specified once in a "VTODO" calendar
    -        component.
    -     
    -        Description: The value MUST be a date/time equal to or after the
    -        DTSTART value, if specified.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          due        = "DUE" dueparam":" dueval CRLF
    -     
    -          dueparam   = *(
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
    -                     (";" tzidparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                       *(";" xparam)
    -     
    -                     )
    -     
    -     
    -     
    -          dueval     = date-time / date
    -          ;Value MUST match value type
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Due() - -
    -          Default constructor.
    Due(Date aDate) - -
    -          Constructor.
    Due(ParameterList aList, - Date aDate) - -
    -          Constructor.
    Due(ParameterList aList, - String aValue) - -
    -           
    Due(String value) - -
    -          Creates a new instance initialised with the parsed value.
    Due(String value, - TimeZone timezone) - -
    -          Creates a new DUE property initialised with the specified timezone and value.
    Due(TimeZone timezone) - -
    -          Creates a new DUE property initialised with the specified timezone.
    -  - - - - - - - - - - - -
    -Method Summary
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setTimeZone, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Due

    -
    -public Due()
    -
    -
    Default constructor. The time value is initialised to the time of instantiation. -

    -

    -
    - -

    -Due

    -
    -public Due(TimeZone timezone)
    -
    -
    Creates a new DUE property initialised with the specified timezone. -

    -

    -
    Parameters:
    timezone - initial timezone
    -
    -
    - -

    -Due

    -
    -public Due(String value)
    -    throws ParseException
    -
    -
    Creates a new instance initialised with the parsed value. -

    -

    -
    Parameters:
    value - the DUE value string to parse -
    Throws: -
    ParseException - where the specified string is not a valid DUE value representation
    -
    -
    - -

    -Due

    -
    -public Due(String value,
    -           TimeZone timezone)
    -    throws ParseException
    -
    -
    Creates a new DUE property initialised with the specified timezone and value. -

    -

    -
    Parameters:
    value - a string representation of a DUE value
    timezone - initial timezone -
    Throws: -
    ParseException - where the specified value is not a valid string - representation
    -
    -
    - -

    -Due

    -
    -public Due(ParameterList aList,
    -           String aValue)
    -    throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - when the specified string is not a valid date/date-time representation
    -
    -
    - -

    -Due

    -
    -public Due(Date aDate)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aDate - a date
    -
    -
    - -

    -Due

    -
    -public Due(ParameterList aList,
    -           Date aDate)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aList - a list of parameters for this component
    aDate - a date
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Overrides:
    validate in class DateProperty
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Duration.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Duration.html deleted file mode 100644 index acaeae11..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Duration.html +++ /dev/null @@ -1,506 +0,0 @@ - - - - - - - -Duration (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Duration

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Duration
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Duration
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a DURATION iCalendar component property. - -

    -     4.3.6   Duration
    -     
    -        Value Name: DURATION
    -     
    -        Purpose: This value type is used to identify properties that contain
    -        a duration of time.
    -     
    -        Formal Definition: The value type is defined by the following
    -        notation:
    -     
    -          dur-value  = (["+"] / "-") "P" (dur-date / dur-time / dur-week)
    -     
    -          dur-date   = dur-day [dur-time]
    -          dur-time   = "T" (dur-hour / dur-minute / dur-second)
    -          dur-week   = 1*DIGIT "W"
    -          dur-hour   = 1*DIGIT "H" [dur-minute]
    -          dur-minute = 1*DIGIT "M" [dur-second]
    -          dur-second = 1*DIGIT "S"
    -          dur-day    = 1*DIGIT "D"
    -     
    -        Description: If the property permits, multiple "duration" values are
    -        specified by a COMMA character (US-ASCII decimal 44) separated list
    -        of values. The format is expressed as the [ISO 8601] basic format for
    -        the duration of time. The format can represent durations in terms of
    -        weeks, days, hours, minutes, and seconds.
    -     
    -        No additional content value encoding (i.e., BACKSLASH character
    -        encoding) are defined for this value type.
    -     
    -        Example: A duration of 15 days, 5 hours and 20 seconds would be:
    -     
    -          P15DT5H0M20S
    -     
    -        A duration of 7 weeks would be:
    -     
    -          P7W
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Duration() - -
    -          Default constructor.
    Duration(Date start, - Date end) - -
    -          Constructs a new duration representing the time between the specified start date and end date.
    Duration(Dur duration) - -
    -           
    Duration(ParameterList aList, - Dur duration) - -
    -           
    Duration(ParameterList aList, - String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - DurgetDuration() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetDuration(Dur duration) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Duration

    -
    -public Duration()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Duration

    -
    -public Duration(ParameterList aList,
    -                String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Duration

    -
    -public Duration(Dur duration)
    -
    -
    -
    Parameters:
    duration - a duration value
    -
    -
    - -

    -Duration

    -
    -public Duration(ParameterList aList,
    -                Dur duration)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    duration - a duration value
    -
    -
    - -

    -Duration

    -
    -public Duration(Date start,
    -                Date end)
    -
    -
    Constructs a new duration representing the time between the specified start date and end date. -

    -

    -
    Parameters:
    start - the starting time for the duration
    end - the end time for the duration
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDuration

    -
    -public final Dur getDuration()
    -
    -
    - -
    Returns:
    Returns the duration.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setDuration

    -
    -public final void setDuration(Dur duration)
    -
    -
    -
    Parameters:
    duration - The duration to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExDate.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExDate.html deleted file mode 100644 index f1ab84a4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExDate.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - -ExDate (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class ExDate

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateListProperty
    -              extended by net.fortuna.ical4j.model.property.ExDate
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class ExDate
    extends DateListProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a EXDATE iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ExDate() - -
    -          Default constructor.
    ExDate(DateList dList) - -
    -           
    ExDate(ParameterList aList, - DateList dList) - -
    -           
    ExDate(ParameterList aList, - String aValue) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateListProperty
    copy, getDates, getTimeZone, getValue, setTimeZone, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ExDate

    -
    -public ExDate()
    -
    -
    Default constructor. -

    -

    -
    - -

    -ExDate

    -
    -public ExDate(ParameterList aList,
    -              String aValue)
    -       throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -ExDate

    -
    -public ExDate(DateList dList)
    -
    -
    -
    Parameters:
    dList - a list of dates
    -
    -
    - -

    -ExDate

    -
    -public ExDate(ParameterList aList,
    -              DateList dList)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    dList - a list of dates
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExRule.html deleted file mode 100644 index 9ffbcea7..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExRule.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - -ExRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class ExRule

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.ExRule
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class ExRule
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a EXRULE iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ExRule() - -
    -          Default constructor.
    ExRule(ParameterList aList, - Recur aRecur) - -
    -           
    ExRule(ParameterList aList, - String aValue) - -
    -           
    ExRule(Recur aRecur) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - RecurgetRecur() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetRecur(Recur recur) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ExRule

    -
    -public ExRule()
    -
    -
    Default constructor. -

    -

    -
    - -

    -ExRule

    -
    -public ExRule(ParameterList aList,
    -              String aValue)
    -       throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - thrown when the specified string is not a valid representaton of a recurrence
    See Also:
    Recur.Recur(String)
    -
    -
    - -

    -ExRule

    -
    -public ExRule(Recur aRecur)
    -
    -
    -
    Parameters:
    aRecur - a recurrence
    -
    -
    - -

    -ExRule

    -
    -public ExRule(ParameterList aList,
    -              Recur aRecur)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aRecur - a recurrence
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getRecur

    -
    -public final Recur getRecur()
    -
    -
    - -
    Returns:
    Returns the recur.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws ParseException
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    ParseException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setRecur

    -
    -public final void setRecur(Recur recur)
    -
    -
    -
    Parameters:
    recur - The recur to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExtendedAddress.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExtendedAddress.html deleted file mode 100644 index 3c992633..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ExtendedAddress.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -ExtendedAddress (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class ExtendedAddress

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.ExtendedAddress
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class ExtendedAddress
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a EXTENDED_ADDRESS iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ExtendedAddress() - -
    -          Default constructor.
    ExtendedAddress(ParameterList aList, - String aValue) - -
    -           
    ExtendedAddress(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ExtendedAddress

    -
    -public ExtendedAddress()
    -
    -
    Default constructor. -

    -

    -
    - -

    -ExtendedAddress

    -
    -public ExtendedAddress(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -ExtendedAddress

    -
    -public ExtendedAddress(ParameterList aList,
    -                       String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/FreeBusy.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/FreeBusy.html deleted file mode 100644 index b57f8348..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/FreeBusy.html +++ /dev/null @@ -1,509 +0,0 @@ - - - - - - - -FreeBusy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class FreeBusy

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.FreeBusy
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class FreeBusy
    extends Property
    - - -

    -$Id$ - - Created: [Apr 14, 2004] - - Defines a FREEBUSY iCalendar component property. - -

    -     4.8.2.6 Free/Busy Time
    -     
    -        Property Name: FREEBUSY
    -     
    -        Purpose: The property defines one or more free or busy time
    -        intervals.
    -     
    -        Value Type: PERIOD. The date and time values MUST be in an UTC time
    -        format.
    -     
    -        Property Parameters: Non-standard or free/busy time type property
    -        parameters can be specified on this property.
    -     
    -        Conformance: The property can be specified in a "VFREEBUSY" calendar
    -        component.
    -     
    -        Property Parameter: "FBTYPE" and non-standard parameters can be
    -        specified on this property.
    -     
    -        Description: These time periods can be specified as either a start
    -        and end date-time or a start date-time and duration. The date and
    -        time MUST be a UTC time format.
    -     
    -        "FREEBUSY" properties within the "VFREEBUSY" calendar component
    -        SHOULD be sorted in ascending order, based on start time and then end
    -        time, with the earliest periods first.
    -     
    -        The "FREEBUSY" property can specify more than one value, separated by
    -        the COMMA character (US-ASCII decimal 44). In such cases, the
    -        "FREEBUSY" property values SHOULD all be of the same "FBTYPE"
    -        property parameter type (e.g., all values of a particular "FBTYPE"
    -        listed together in a single property).
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          freebusy   = "FREEBUSY" fbparam ":" fbvalue
    -                       CRLF
    -     
    -          fbparam    = *(
    -                     ; the following is optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" fbtypeparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                     (";" xparam)
    -     
    -                     )
    -     
    -          fbvalue    = period *["," period]
    -          ;Time value MUST be in the UTC time format.
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    FreeBusy() - -
    -          Default constructor.
    FreeBusy(ParameterList aList, - PeriodList pList) - -
    -           
    FreeBusy(ParameterList aList, - String aValue) - -
    -           
    FreeBusy(PeriodList pList) - -
    -           
    FreeBusy(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - PeriodListgetPeriods() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -FreeBusy

    -
    -public FreeBusy()
    -
    -
    Default constructor. -

    -

    -
    - -

    -FreeBusy

    -
    -public FreeBusy(String aValue)
    -         throws ParseException
    -
    -
    -
    Parameters:
    aValue - a freebusy value -
    Throws: -
    ParseException - where the specified string is not a valid freebusy value
    -
    -
    - -

    -FreeBusy

    -
    -public FreeBusy(ParameterList aList,
    -                String aValue)
    -         throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - when the specified string is not a valid list of periods
    -
    -
    - -

    -FreeBusy

    -
    -public FreeBusy(PeriodList pList)
    -
    -
    -
    Parameters:
    pList - a list of periods
    -
    -
    - -

    -FreeBusy

    -
    -public FreeBusy(ParameterList aList,
    -                PeriodList pList)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    pList - a list of periods
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getPeriods

    -
    -public final PeriodList getPeriods()
    -
    -
    - -
    Returns:
    Returns the periods.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws ParseException
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    ParseException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Geo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Geo.html deleted file mode 100644 index 599821a5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Geo.html +++ /dev/null @@ -1,589 +0,0 @@ - - - - - - - -Geo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Geo

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Geo
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Geo
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a GEO iCalendar component property. - -

    -      4.8.1.6 Geographic Position
    -      
    -         Property Name: GEO
    -      
    -         Purpose: This property specifies information related to the global
    -         position for the activity specified by a calendar component.
    -      
    -         Value Type: FLOAT. The value MUST be two SEMICOLON separated FLOAT
    -         values.
    -      
    -         Property Parameters: Non-standard property parameters can be
    -         specified on this property.
    -      
    -         Conformance: This property can be specified in  "VEVENT" or "VTODO"
    -         calendar components.
    -      
    -         Description: The property value specifies latitude and longitude, in
    -         that order (i.e., "LAT LON" ordering). The longitude represents the
    -         location east or west of the prime meridian as a positive or negative
    -         real number, respectively. The longitude and latitude values MAY be
    -         specified up to six decimal places, which will allow for accuracy to
    -         within one meter of geographical position. Receiving applications
    -         MUST accept values of this precision and MAY truncate values of
    -         greater precision.
    -      
    -         Values for latitude and longitude shall be expressed as decimal
    -         fractions of degrees. Whole degrees of latitude shall be represented
    -         by a two-digit decimal number ranging from 0 through 90. Whole
    -         degrees of longitude shall be represented by a decimal number ranging
    -         from 0 through 180. When a decimal fraction of a degree is specified,
    -         it shall be separated from the whole number of degrees by a decimal
    -         point.
    -      
    -         Latitudes north of the equator shall be specified by a plus sign (+),
    -         or by the absence of a minus sign (-), preceding the digits
    -         designating degrees. Latitudes south of the Equator shall be
    -         designated by a minus sign (-) preceding the digits designating
    -         degrees. A point on the Equator shall be assigned to the Northern
    -         Hemisphere.
    -      
    -         Longitudes east of the prime meridian shall be specified by a plus
    -         sign (+), or by the absence of a minus sign (-), preceding the digits
    -         designating degrees. Longitudes west of the meridian shall be
    -         designated by minus sign (-) preceding the digits designating
    -         degrees. A point on the prime meridian shall be assigned to the
    -         Eastern Hemisphere. A point on the 180th meridian shall be assigned
    -         to the Western Hemisphere. One exception to this last convention is
    -         permitted. For the special condition of describing a band of latitude
    -         around the earth, the East Bounding Coordinate data element shall be
    -         assigned the value +180 (180) degrees.
    -      
    -         Any spatial address with a latitude of +90 (90) or -90 degrees will
    -         specify the position at the North or South Pole, respectively. The
    -         component for longitude may have any legal value.
    -      
    -         With the exception of the special condition described above, this
    -         form is specified in Department of Commerce, 1986, Representation of
    -         geographic point locations for information interchange (Federal
    -         Information Processing Standard 70-1):  Washington,  Department of
    -         Commerce, National Institute of Standards and Technology.
    -      
    -         The simple formula for converting degrees-minutes-seconds into
    -         decimal degrees is:
    -      
    -           decimal = degrees + minutes/60 + seconds/3600.
    -      
    -         Format Definition: The property is defined by the following notation:
    -      
    -           geo        = "GEO" geoparam ":" geovalue CRLF
    -      
    -           geoparam   = *(";" xparam)
    -      
    -           geovalue   = float ";" float
    -           ;Latitude and Longitude components
    -      
    -         Example: The following is an example of this property:
    -      
    -           GEO:37.386013;-122.082932
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Geo() - -
    -          Default constructor.
    Geo(BigDecimal latitude, - BigDecimal longitude) - -
    -           
    Geo(ParameterList aList, - BigDecimal latitude, - BigDecimal longitude) - -
    -           
    Geo(ParameterList aList, - String aValue) - -
    -           
    Geo(String value) - -
    -          Creates a new instance by parsing the specified string representation.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - BigDecimalgetLatitude() - -
    -           
    - BigDecimalgetLongitude() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetLatitude(BigDecimal latitude) - -
    -           
    - voidsetLongitude(BigDecimal longitude) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Geo

    -
    -public Geo()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Geo

    -
    -public Geo(String value)
    -
    -
    Creates a new instance by parsing the specified string representation. -

    -

    -
    Parameters:
    value - a geo value
    -
    -
    - -

    -Geo

    -
    -public Geo(ParameterList aList,
    -           String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Geo

    -
    -public Geo(BigDecimal latitude,
    -           BigDecimal longitude)
    -
    -
    -
    Parameters:
    latitude - a latitudinal value
    longitude - a longitudinal value
    -
    -
    - -

    -Geo

    -
    -public Geo(ParameterList aList,
    -           BigDecimal latitude,
    -           BigDecimal longitude)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    latitude - a latitudinal value
    longitude - a longitudinal value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLatitude

    -
    -public final BigDecimal getLatitude()
    -
    -
    - -
    Returns:
    Returns the latitude.
    -
    -
    -
    - -

    -getLongitude

    -
    -public final BigDecimal getLongitude()
    -
    -
    - -
    Returns:
    Returns the longitude.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setLatitude

    -
    -public final void setLatitude(BigDecimal latitude)
    -
    -
    -
    Parameters:
    latitude - The latitude to set.
    -
    -
    -
    - -

    -setLongitude

    -
    -public final void setLongitude(BigDecimal longitude)
    -
    -
    -
    Parameters:
    longitude - The longitude to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/LastModified.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/LastModified.html deleted file mode 100644 index b79a531d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/LastModified.html +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - -LastModified (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class LastModified

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.UtcProperty
    -                  extended by net.fortuna.ical4j.model.property.LastModified
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class LastModified
    extends UtcProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a LAST-MODIFIED iCalendar component property. - -

    -     4.8.7.3 Last Modified
    -     
    -        Property Name: LAST-MODIFIED
    -     
    -        Purpose: The property specifies the date and time that the
    -        information associated with the calendar component was last revised
    -        in the calendar store.
    -     
    -             Note: This is analogous to the modification date and time for a
    -             file in the file system.
    -     
    -        Value Type: DATE-TIME
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: This property can be specified in the "EVENT", "VTODO",
    -        "VJOURNAL" or "VTIMEZONE" calendar components.
    -     
    -        Description: The property value MUST be specified in the UTC time
    -        format.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          last-mod   = "LAST-MODIFIED" lstparam ":" date-time CRLF
    -     
    -          lstparam   = *(";" xparam)
    - 
    -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    LastModified() - -
    -          Default constructor.
    LastModified(DateTime aDate) - -
    -           
    LastModified(ParameterList aList, - DateTime aDate) - -
    -           
    LastModified(ParameterList aList, - String aValue) - -
    -           
    LastModified(String aValue) - -
    -           
    -  - - - - - - - -
    -Method Summary
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.UtcProperty
    getDateTime, setDateTime, setTimeZone, validate
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -LastModified

    -
    -public LastModified()
    -
    -
    Default constructor. -

    -

    -
    - -

    -LastModified

    -
    -public LastModified(String aValue)
    -             throws ParseException
    -
    -
    -
    Parameters:
    aValue - a date-time value -
    Throws: -
    ParseException - where the specified string is not a valid date-time
    -
    -
    - -

    -LastModified

    -
    -public LastModified(ParameterList aList,
    -                    String aValue)
    -             throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -LastModified

    -
    -public LastModified(DateTime aDate)
    -
    -
    -
    Parameters:
    aDate - a date representation of a date-time value
    -
    -
    - -

    -LastModified

    -
    -public LastModified(ParameterList aList,
    -                    DateTime aDate)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aDate - a date representation of a date-time value
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Locality.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Locality.html deleted file mode 100644 index e1ad28ee..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Locality.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Locality (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Locality

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Locality
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Locality
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a LOCALITY iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Locality() - -
    -          Default constructor.
    Locality(ParameterList aList, - String aValue) - -
    -           
    Locality(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Locality

    -
    -public Locality()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Locality

    -
    -public Locality(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Locality

    -
    -public Locality(ParameterList aList,
    -                String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Location.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Location.html deleted file mode 100644 index 45a5d6af..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Location.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - -Location (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Location

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Location
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Location
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION iCalendar component property. - -

    -     4.8.1.7 Location
    -     
    -        Property Name: LOCATION
    -     
    -        Purpose: The property defines the intended venue for the activity
    -        defined by a calendar component.
    -     
    -        Value Type: TEXT
    -     
    -        Property Parameters: Non-standard, alternate text representation and
    -        language property parameters can be specified on this property.
    -     
    -        Conformance: This property can be specified in "VEVENT" or "VTODO"
    -        calendar component.
    -     
    -        Description: Specific venues such as conference or meeting rooms may
    -        be explicitly specified using this property. An alternate
    -        representation may be specified that is a URI that points to
    -        directory information with more structured specification of the
    -        location. For example, the alternate representation may specify
    -        either an LDAP URI pointing to an LDAP server entry or a CID URI
    -        pointing to a MIME body part containing a vCard [RFC 2426] for the
    -        location.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          location   = "LOCATION locparam ":" text CRLF
    -     
    -          locparam   = *(
    -     
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" altrepparam) / (";" languageparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                     (";" xparam)
    -     
    -                     )
    -     
    -        Example: The following are some examples of this property:
    -     
    -          LOCATION:Conference Room - F123, Bldg. 002
    -     
    -          LOCATION;ALTREP="http://xyzcorp.com/conf-rooms/f123.vcf":
    -           Conference Room - F123, Bldg. 002
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Location() - -
    -          Default constructor.
    Location(ParameterList aList, - String aValue) - -
    -           
    Location(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Location

    -
    -public Location()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Location

    -
    -public Location(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Location

    -
    -public Location(ParameterList aList,
    -                String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/LocationType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/LocationType.html deleted file mode 100644 index 31ce4d05..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/LocationType.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - -LocationType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class LocationType

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.LocationType
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class LocationType
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION_TYPE iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    LocationType() - -
    -          Default constructor.
    LocationType(LocationTypeList cList) - -
    -           
    LocationType(ParameterList aList, - LocationTypeList cList) - -
    -           
    LocationType(ParameterList aList, - String aValue) - -
    -           
    LocationType(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - LocationTypeListgetLocationTypes() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -LocationType

    -
    -public LocationType()
    -
    -
    Default constructor. -

    -

    -
    - -

    -LocationType

    -
    -public LocationType(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -LocationType

    -
    -public LocationType(ParameterList aList,
    -                    String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -LocationType

    -
    -public LocationType(LocationTypeList cList)
    -
    -
    -
    Parameters:
    cList - a list of locationTypes
    -
    -
    - -

    -LocationType

    -
    -public LocationType(ParameterList aList,
    -                    LocationTypeList cList)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    cList - a list of locationTypes
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getLocationTypes

    -
    -public final LocationTypeList getLocationTypes()
    -
    -
    - -
    Returns:
    Returns the locationTypes.
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Method.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Method.html deleted file mode 100644 index 36725c8e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Method.html +++ /dev/null @@ -1,566 +0,0 @@ - - - - - - - -Method (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Method

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Method
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Method
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a METHOD iCalendar property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static MethodADD - -
    -          Add one or more instances to an existing VEVENT, VTODO, or VJOURNAL.
    -static MethodCANCEL - -
    -          Cancel one or more instances of an existing VEVENT, VTODO, or VJOURNAL.
    -static MethodCOUNTER - -
    -          The Counter method is used by an "Attendee" to negotiate a change in the calendar entry.
    -static MethodDECLINE_COUNTER - -
    -          Used by the "Organizer" to decline the proposed counter-proprosal.
    -static MethodPUBLISH - -
    -          Used to publish a calendar entry to one or more Calendar Users.
    -static MethodREFRESH - -
    -          The Refresh method is used by an "Attendee" to request the latest version of a calendar entry.
    -static MethodREPLY - -
    -          A Reply is used in response to a Request to convey "Attendee" status to the "Organizer".
    -static MethodREQUEST - -
    -          Used to schedule a calendar entry with other Calendar Users.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Method() - -
    -          Default constructor.
    Method(ParameterList aList, - String aValue) - -
    -           
    Method(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PUBLISH

    -
    -public static final Method PUBLISH
    -
    -
    Used to publish a calendar entry to one or more Calendar Users. There is no interactivity between the publisher - and any other calendar user. An example might include a baseball team publishing its schedule to the public. [RFC - 2446] -

    -

    -
    -
    -
    - -

    -REQUEST

    -
    -public static final Method REQUEST
    -
    -
    Used to schedule a calendar entry with other Calendar Users. Requests are interactive in that they require the - receiver to respond using the Reply methods. Meeting Requests, Busy Time requests and the assignment of VTODOs to - other Calendar Users are all examples. Requests are also used by the "Organizer" to update the status of a - calendar entry. [RFC 2446] -

    -

    -
    -
    -
    - -

    -REPLY

    -
    -public static final Method REPLY
    -
    -
    A Reply is used in response to a Request to convey "Attendee" status to the "Organizer". Replies are commonly - used to respond to meeting and task requests. [RFC2446] -

    -

    -
    -
    -
    - -

    -ADD

    -
    -public static final Method ADD
    -
    -
    Add one or more instances to an existing VEVENT, VTODO, or VJOURNAL. [RFC 2446] -

    -

    -
    -
    -
    - -

    -CANCEL

    -
    -public static final Method CANCEL
    -
    -
    Cancel one or more instances of an existing VEVENT, VTODO, or VJOURNAL. [RFC 2446] -

    -

    -
    -
    -
    - -

    -REFRESH

    -
    -public static final Method REFRESH
    -
    -
    The Refresh method is used by an "Attendee" to request the latest version of a calendar entry. [RFC 2446] -

    -

    -
    -
    -
    - -

    -COUNTER

    -
    -public static final Method COUNTER
    -
    -
    The Counter method is used by an "Attendee" to negotiate a change in the calendar entry. Examples include the - request to change a proposed Event time or change the due date for a VTODO. [RFC 2446] -

    -

    -
    -
    -
    - -

    -DECLINE_COUNTER

    -
    -public static final Method DECLINE_COUNTER
    -
    -
    Used by the "Organizer" to decline the proposed counter-proprosal. [RFC 2446] -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Method

    -
    -public Method()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Method

    -
    -public Method(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Method

    -
    -public Method(ParameterList aList,
    -              String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Name.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Name.html deleted file mode 100644 index b965f580..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Name.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Name (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Name

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Name
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Name
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a NAME iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Name() - -
    -          Default constructor.
    Name(ParameterList aList, - String aValue) - -
    -           
    Name(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Name

    -
    -public Name()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Name

    -
    -public Name(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Name

    -
    -public Name(ParameterList aList,
    -            String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Organizer.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Organizer.html deleted file mode 100644 index f7984ebe..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Organizer.html +++ /dev/null @@ -1,551 +0,0 @@ - - - - - - - -Organizer (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Organizer

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Organizer
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Organizer
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines an ORGANIZER iCalendar component property. - -

    -     4.8.4.3 Organizer
    -     
    -        Property Name: ORGANIZER
    -     
    -        Purpose: The property defines the organizer for a calendar component.
    -     
    -        Value Type: CAL-ADDRESS
    -     
    -        Property Parameters: Non-standard, language, common name, directory
    -        entry reference, sent by property parameters can be specified on this
    -        property.
    -     
    -        Conformance: This property MUST be specified in an iCalendar object
    -        that specifies a group scheduled calendar entity. This property MUST
    -        be specified in an iCalendar object that specifies the publication of
    -        a calendar user's busy time. This property MUST NOT be specified in
    -        an iCalendar object that specifies only a time zone definition or
    -        that defines calendar entities that are not group scheduled entities,
    -        but are entities only on a single user's calendar.
    -     
    -        Description: The property is specified within the "VEVENT", "VTODO",
    -        "VJOURNAL calendar components to specify the organizer of a group
    -        scheduled calendar entity. The property is specified within the
    -        "VFREEBUSY" calendar component to specify the calendar user
    -        requesting the free or busy time. When publishing a "VFREEBUSY"
    -        calendar component, the property is used to specify the calendar that
    -        the published busy time came from.
    -     
    -        The property has the property parameters CN, for specifying the
    -        common or display name associated with the "Organizer", DIR, for
    -        specifying a pointer to the directory information associated with the
    -        "Organizer", SENT-BY, for specifying another calendar user that is
    -        acting on behalf of the "Organizer". The non-standard parameters may
    -        also be specified on this property. If the LANGUAGE property
    -        parameter is specified, the identified language applies to the CN
    -        parameter value.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          organizer  = "ORGANIZER" orgparam ":"
    -                       cal-address CRLF
    -     
    -          orgparam   = *(
    -     
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" cnparam) / (";" dirparam) / (";" sentbyparam) /
    -                     (";" languageparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                     (";" xparam)
    -     
    -                     )
    -     
    -        Example: The following is an example of this property:
    -     
    -          ORGANIZER;CN=John Smith:MAILTO:jsmith@host1.com
    -     
    -        The following is an example of this property with a pointer to the
    -        directory information associated with the organizer:
    -     
    -          ORGANIZER;CN=JohnSmith;DIR="ldap://host.com:6666/o=3DDC%20Associ
    -           ates,c=3DUS??(cn=3DJohn%20Smith)":MAILTO:jsmith@host1.com
    -     
    -        The following is an example of this property used by another calendar
    -        user who is acting on behalf of the organizer, with responses
    -        intended to be sent back to the organizer, not the other calendar
    -        user:
    -     
    -          ORGANIZER;SENT-BY="MAILTO:jane_doe@host.com":
    -           MAILTO:jsmith@host1.com
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Organizer() - -
    -          Default constructor.
    Organizer(ParameterList aList, - String aValue) - -
    -           
    Organizer(ParameterList aList, - URI aUri) - -
    -           
    Organizer(String value) - -
    -          Constructs a new instance with the specified value.
    Organizer(URI aUri) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - URIgetCalAddress() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetCalAddress(URI calAddress) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Organizer

    -
    -public Organizer()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Organizer

    -
    -public Organizer(String value)
    -          throws URISyntaxException
    -
    -
    Constructs a new instance with the specified value. -

    -

    -
    Parameters:
    value - an organizer URI -
    Throws: -
    URISyntaxException - where the specified value is not a valid URI
    -
    -
    - -

    -Organizer

    -
    -public Organizer(ParameterList aList,
    -                 String aValue)
    -          throws URISyntaxException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    URISyntaxException - where the specified value string is not a valid uri
    -
    -
    - -

    -Organizer

    -
    -public Organizer(URI aUri)
    -
    -
    -
    Parameters:
    aUri - a URI representation of a calendar address
    -
    -
    - -

    -Organizer

    -
    -public Organizer(ParameterList aList,
    -                 URI aUri)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aUri - a URI representation of a calendar address
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getCalAddress

    -
    -public final URI getCalAddress()
    -
    -
    - -
    Returns:
    Returns the calAddress.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws URISyntaxException
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    URISyntaxException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setCalAddress

    -
    -public final void setCalAddress(URI calAddress)
    -
    -
    -
    Parameters:
    calAddress - The calAddress to set.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/PercentComplete.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/PercentComplete.html deleted file mode 100644 index 4ac02ab6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/PercentComplete.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - -PercentComplete (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class PercentComplete

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.PercentComplete
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class PercentComplete
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a PERCENT-COMPLETE iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    PercentComplete() - -
    -          Default constructor.
    PercentComplete(int aPercentage) - -
    -           
    PercentComplete(ParameterList aList, - int aPercentage) - -
    -           
    PercentComplete(ParameterList aList, - String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetPercentage() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetPercentage(int percentage) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PercentComplete

    -
    -public PercentComplete()
    -
    -
    Default constructor. -

    -

    -
    - -

    -PercentComplete

    -
    -public PercentComplete(ParameterList aList,
    -                       String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -PercentComplete

    -
    -public PercentComplete(int aPercentage)
    -
    -
    -
    Parameters:
    aPercentage - an int representation of a percentage
    -
    -
    - -

    -PercentComplete

    -
    -public PercentComplete(ParameterList aList,
    -                       int aPercentage)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aPercentage - an int representation of a percentage
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getPercentage

    -
    -public final int getPercentage()
    -
    -
    - -
    Returns:
    Returns the percentage.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setPercentage

    -
    -public final void setPercentage(int percentage)
    -
    -
    -
    Parameters:
    percentage - The percentage to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Postalcode.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Postalcode.html deleted file mode 100644 index 76791f61..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Postalcode.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Postalcode (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Postalcode

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Postalcode
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Postalcode
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a POSTALCODE iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Postalcode() - -
    -          Default constructor.
    Postalcode(ParameterList aList, - String aValue) - -
    -           
    Postalcode(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Postalcode

    -
    -public Postalcode()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Postalcode

    -
    -public Postalcode(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Postalcode

    -
    -public Postalcode(ParameterList aList,
    -                  String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Priority.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Priority.html deleted file mode 100644 index a6f50a52..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Priority.html +++ /dev/null @@ -1,611 +0,0 @@ - - - - - - - -Priority (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Priority

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Priority
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Priority
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a PRIORITY iCalendar component property. - -

    -     4.8.1.9 Priority
    -     
    -        Property Name: PRIORITY
    -     
    -        Purpose: The property defines the relative priority for a calendar
    -        component.
    -     
    -        Value Type: INTEGER
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: The property can be specified in a "VEVENT" or "VTODO"
    -        calendar component.
    -     
    -        Description: The priority is specified as an integer in the range
    -        zero to nine. A value of zero (US-ASCII decimal 48) specifies an
    -        undefined priority. A value of one (US-ASCII decimal 49) is the
    -        highest priority. A value of two (US-ASCII decimal 50) is the second
    -        highest priority. Subsequent numbers specify a decreasing ordinal
    -        priority. A value of nine (US-ASCII decimal 58) is the lowest
    -        priority.
    -     
    -        A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
    -        "LOW" is mapped into this property such that a property value in the
    -        range of one (US-ASCII decimal 49) to four (US-ASCII decimal 52)
    -        specifies "HIGH" priority. A value of five (US-ASCII decimal 53) is
    -        the normal or "MEDIUM" priority. A value in the range of six (US-
    -        ASCII decimal 54) to nine (US-ASCII decimal 58) is "LOW" priority.
    -     
    -        A CUA with a priority schema of "A1", "A2", "A3",
    -         "B1", "B2", ...,
    -        "C3" is mapped into this property such that a property value of one
    -        (US-ASCII decimal 49) specifies "A1", a property value of two (US-
    -        ASCII decimal 50) specifies "A2", a property value of three (US-ASCII
    -        decimal 51) specifies "A3", and so forth up to a property value of 9
    -        (US-ASCII decimal 58) specifies "C3".
    -     
    -        Other integer values are reserved for future use.
    -     
    -        Within a "VEVENT" calendar component, this property specifies a
    -        priority for the event. This property may be useful when more than
    -        one event is scheduled for a given time period.
    -     
    -        Within a "VTODO" calendar component, this property specified a
    -        priority for the to-do. This property is useful in prioritizing
    -        multiple action items for a given time period.
    -     
    -        Format Definition: The property is specified by the following
    -        notation:
    -     
    -          priority   = "PRIORITY" prioparam ":" privalue CRLF
    -          ;Default is zero
    -     
    -          prioparam  = *(";" xparam)
    -     
    -          privalue   = integer       ;Must be in the range [0..9]
    -             ; All other values are reserved for future use
    -     
    -        The following is an example of a property with the highest priority:
    -     
    -          PRIORITY:1
    -     
    -        The following is an example of a property with a next highest
    -        priority:
    -     
    -          PRIORITY:2
    -     
    -        Example: The following is an example of a property with no priority.
    -        This is equivalent to not specifying the "PRIORITY" property:
    -     
    -          PRIORITY:0
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static PriorityHIGH - -
    -          High priority.
    -static PriorityLOW - -
    -          Low priority.
    -static PriorityMEDIUM - -
    -          Medium priority.
    -static PriorityUNDEFINED - -
    -          Undefined priority.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Priority() - -
    -          Default constructor.
    Priority(int aLevel) - -
    -           
    Priority(ParameterList aList, - int aLevel) - -
    -           
    Priority(ParameterList aList, - String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetLevel() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetLevel(int level) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -UNDEFINED

    -
    -public static final Priority UNDEFINED
    -
    -
    Undefined priority. -

    -

    -
    -
    -
    - -

    -HIGH

    -
    -public static final Priority HIGH
    -
    -
    High priority. -

    -

    -
    -
    -
    - -

    -MEDIUM

    -
    -public static final Priority MEDIUM
    -
    -
    Medium priority. -

    -

    -
    -
    -
    - -

    -LOW

    -
    -public static final Priority LOW
    -
    -
    Low priority. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Priority

    -
    -public Priority()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Priority

    -
    -public Priority(ParameterList aList,
    -                String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Priority

    -
    -public Priority(int aLevel)
    -
    -
    -
    Parameters:
    aLevel - an int representation of a priority level
    -
    -
    - -

    -Priority

    -
    -public Priority(ParameterList aList,
    -                int aLevel)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aLevel - an int representation of a priority level
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getLevel

    -
    -public final int getLevel()
    -
    -
    - -
    Returns:
    Returns the level.
    -
    -
    -
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setLevel

    -
    -public void setLevel(int level)
    -
    -
    -
    Parameters:
    level - The level to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ProdId.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ProdId.html deleted file mode 100644 index 66e529ad..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/ProdId.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -ProdId (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class ProdId

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.ProdId
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class ProdId
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a PRODID iCalendar property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    ProdId() - -
    -          Default constructor.
    ProdId(ParameterList aList, - String aValue) - -
    -           
    ProdId(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ProdId

    -
    -public ProdId()
    -
    -
    Default constructor. -

    -

    -
    - -

    -ProdId

    -
    -public ProdId(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -ProdId

    -
    -public ProdId(ParameterList aList,
    -              String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RDate.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RDate.html deleted file mode 100644 index c8f68b7a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RDate.html +++ /dev/null @@ -1,587 +0,0 @@ - - - - - - - -RDate (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class RDate

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateListProperty
    -              extended by net.fortuna.ical4j.model.property.RDate
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class RDate
    extends DateListProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines an RDATE iCalendar component property. - -

    -     4.8.5.3 Recurrence Date/Times
    -     
    -        Property Name: RDATE
    -     
    -        Purpose: This property defines the list of date/times for a
    -        recurrence set.
    -     
    -        Value Type: The default value type for this property is DATE-TIME.
    -        The value type can be set to DATE or PERIOD.
    -     
    -        Property Parameters: Non-standard, value data type and time zone
    -        identifier property parameters can be specified on this property.
    -     
    -        Conformance: The property can be specified in "VEVENT", "VTODO",
    -        "VJOURNAL" or "VTIMEZONE" calendar components.
    -     
    -        Description: This property can appear along with the "RRULE" property
    -        to define an aggregate set of repeating occurrences. When they both
    -        appear in an iCalendar object, the recurring events are defined by
    -        the union of occurrences defined by both the "RDATE" and "RRULE".
    -     
    -        The recurrence dates, if specified, are used in computing the
    -        recurrence set. The recurrence set is the complete set of recurrence
    -        instances for a calendar component. The recurrence set is generated
    -        by considering the initial "DTSTART" property along with the "RRULE",
    -        "RDATE", "EXDATE" and "EXRULE" properties contained within the
    -        iCalendar object. The "DTSTART" property defines the first instance
    -        in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
    -        properties can also be specified to define more sophisticated
    -        recurrence sets. The final recurrence set is generated by gathering
    -        all of the start date/times generated by any of the specified "RRULE"
    -        and "RDATE" properties, and excluding any start date/times which fall
    -        within the union of start date/times generated by any specified
    -        "EXRULE" and "EXDATE" properties. This implies that start date/times
    -        within exclusion related properties (i.e., "EXDATE" and "EXRULE")
    -        take precedence over those specified by inclusion properties (i.e.,
    -        "RDATE" and "RRULE"). Where duplicate instances are generated by the
    -        "RRULE" and "RDATE" properties, only one recurrence is considered.
    -        Duplicate instances are ignored.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          rdate      = "RDATE" rdtparam ":" rdtval *("," rdtval) CRLF
    -     
    -          rdtparam   = *(
    -     
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" "VALUE" "=" ("DATE-TIME"
    -                      / "DATE" / "PERIOD")) /
    -                     (";" tzidparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                     (";" xparam)
    -     
    -                     )
    -     
    -          rdtval     = date-time / date / period
    -          ;Value MUST match value type
    -     
    -        Example: The following are examples of this property:
    -     
    -          RDATE:19970714T123000Z
    -     
    -          RDATE;TZID=US-EASTERN:19970714T083000
    -     
    -          RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
    -           19960404T010000Z/PT3H
    -     
    -          RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
    -           19970526,19970704,19970901,19971014,19971128,19971129,19971225
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    RDate() - -
    -          Default constructor.
    RDate(DateList dates) - -
    -          Constructor.
    RDate(ParameterList aList, - DateList dates) - -
    -          Constructor.
    RDate(ParameterList aList, - PeriodList periods) - -
    -          Constructor.
    RDate(ParameterList aList, - String aValue) - -
    -           
    RDate(PeriodList periods) - -
    -          Constructor.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - PeriodListgetPeriods() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetTimeZone(TimeZone timezone) - -
    -          Sets the timezone associated with this property.
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateListProperty
    copy, getDates, getTimeZone, setUtc
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RDate

    -
    -public RDate()
    -
    -
    Default constructor. -

    -

    -
    - -

    -RDate

    -
    -public RDate(ParameterList aList,
    -             String aValue)
    -      throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -RDate

    -
    -public RDate(DateList dates)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    dates - a list of dates
    -
    -
    - -

    -RDate

    -
    -public RDate(ParameterList aList,
    -             DateList dates)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aList - a list of parameters for this component
    dates - a list of dates
    -
    -
    - -

    -RDate

    -
    -public RDate(PeriodList periods)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    periods - a list of periods
    -
    -
    - -

    -RDate

    -
    -public RDate(ParameterList aList,
    -             PeriodList periods)
    -
    -
    Constructor. -

    -

    -
    Parameters:
    aList - a list of parameters for this component
    periods - a list of periods
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getPeriods

    -
    -public final PeriodList getPeriods()
    -
    -
    - -
    Returns:
    Returns the period list.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws ParseException
    -
    -
    Sets the current value of the property. -

    -

    -
    Overrides:
    setValue in class DateListProperty
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    ParseException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Overrides:
    getValue in class DateListProperty
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setTimeZone

    -
    -public final void setTimeZone(TimeZone timezone)
    -
    -
    Sets the timezone associated with this property. -

    -

    -
    Overrides:
    setTimeZone in class DateListProperty
    -
    -
    -
    Parameters:
    timezone - a timezone to associate with this property
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RRule.html deleted file mode 100644 index ff446b27..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RRule.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - -RRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class RRule

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.RRule
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class RRule
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines an RRULE iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    RRule() - -
    -          Default constructor.
    RRule(ParameterList aList, - Recur aRecur) - -
    -           
    RRule(ParameterList aList, - String aValue) - -
    -           
    RRule(Recur aRecur) - -
    -           
    RRule(String value) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - RecurgetRecur() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RRule

    -
    -public RRule()
    -
    -
    Default constructor. -

    -

    -
    - -

    -RRule

    -
    -public RRule(String value)
    -      throws ParseException
    -
    -
    -
    Parameters:
    value - a rule string -
    Throws: -
    ParseException - where the specified string is not a valid rule
    -
    -
    - -

    -RRule

    -
    -public RRule(ParameterList aList,
    -             String aValue)
    -      throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - thrown when the specified string is not a valid representaton of a recurrence
    See Also:
    Recur.Recur(String)
    -
    -
    - -

    -RRule

    -
    -public RRule(Recur aRecur)
    -
    -
    -
    Parameters:
    aRecur - a recurrence value
    -
    -
    - -

    -RRule

    -
    -public RRule(ParameterList aList,
    -             Recur aRecur)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aRecur - a recurrence value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getRecur

    -
    -public final Recur getRecur()
    -
    -
    - -
    Returns:
    Returns the recur.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws ParseException
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    ParseException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RecurrenceId.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RecurrenceId.html deleted file mode 100644 index c8f32bb4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RecurrenceId.html +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - -RecurrenceId (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class RecurrenceId

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.RecurrenceId
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class RecurrenceId
    extends DateProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a RECURRENCE-ID iCalendar component property. - -

    -     4.8.4.4 Recurrence ID
    -     
    -        Property Name: RECURRENCE-ID
    -     
    -        Purpose: This property is used in conjunction with the "UID" and
    -        "SEQUENCE" property to identify a specific instance of a recurring
    -        "VEVENT", "VTODO" or "VJOURNAL" calendar component. The property
    -        value is the effective value of the "DTSTART" property of the
    -        recurrence instance.
    -     
    -        Value Type: The default value type for this property is DATE-TIME.
    -        The time format can be any of the valid forms defined for a DATE-TIME
    -        value type. See DATE-TIME value type definition for specific
    -        interpretations of the various forms. The value type can be set to
    -        DATE.
    -     
    -        Property Parameters: Non-standard property, value data type, time
    -        zone identifier and recurrence identifier range parameters can be
    -        specified on this property.
    -     
    -        Conformance: This property can be specified in an iCalendar object
    -        containing a recurring calendar component.
    -     
    -        Description: The full range of calendar components specified by a
    -        recurrence set is referenced by referring to just the "UID" property
    -        value corresponding to the calendar component. The "RECURRENCE-ID"
    -        property allows the reference to an individual instance within the
    -        recurrence set.
    -     
    -        If the value of the "DTSTART" property is a DATE type value, then the
    -        value MUST be the calendar date for the recurrence instance.
    -     
    -        The date/time value is set to the time when the original recurrence
    -        instance would occur; meaning that if the intent is to change a
    -        Friday meeting to Thursday, the date/time is still set to the
    -        original Friday meeting.
    -     
    -        The "RECURRENCE-ID" property is used in conjunction with the "UID"
    -        and "SEQUENCE" property to identify a particular instance of a
    -        recurring event, to-do or journal. For a given pair of "UID" and
    -        "SEQUENCE" property values, the "RECURRENCE-ID" value for a
    -        recurrence instance is fixed. When the definition of the recurrence
    -        set for a calendar component changes, and hence the "SEQUENCE"
    -        property value changes, the "RECURRENCE-ID" for a given recurrence
    -        instance might also change.The "RANGE" parameter is used to specify
    -        the effective range of recurrence instances from the instance
    -        specified by the "RECURRENCE-ID" property value. The default value
    -        for the range parameter is the single recurrence instance only. The
    -        value can also be "THISANDPRIOR" to indicate a range defined by the
    -        given recurrence instance and all prior instances or the value can be
    -        "THISANDFUTURE" to indicate a range defined by the given recurrence
    -        instance and all subsequent instances.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          recurid    = "RECURRENCE-ID" ridparam ":" ridval CRLF
    -     
    -          ridparam   = *(
    -     
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" "VALUE" "=" ("DATE-TIME" / "DATE)) /
    -                     (";" tzidparam) / (";" rangeparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                     (";" xparam)
    -     
    -                     )
    -     
    -          ridval     = date-time / date
    -          ;Value MUST match value type
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    RecurrenceId() - -
    -          Default constructor.
    RecurrenceId(Date aDate) - -
    -          Constructor.
    RecurrenceId(ParameterList aList, - Date aDate) - -
    -          Constructor.
    RecurrenceId(ParameterList aList, - String aValue) - -
    -           
    RecurrenceId(String value) - -
    -          Creates a new instance initialised with the parsed value.
    RecurrenceId(String value, - TimeZone timezone) - -
    -          Creates a new RECURRENCE_ID property initialised with the specified timezone and value.
    RecurrenceId(TimeZone timezone) - -
    -          Creates a new RECURRENCE_ID property initialised with the specified timezone.
    -  - - - - - - - - - - - -
    -Method Summary
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setTimeZone, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RecurrenceId

    -
    -public RecurrenceId()
    -
    -
    Default constructor. -

    -

    -
    - -

    -RecurrenceId

    -
    -public RecurrenceId(TimeZone timezone)
    -
    -
    Creates a new RECURRENCE_ID property initialised with the specified timezone. -

    -

    -
    Parameters:
    timezone - initial timezone
    -
    -
    - -

    -RecurrenceId

    -
    -public RecurrenceId(String value)
    -             throws ParseException
    -
    -
    Creates a new instance initialised with the parsed value. -

    -

    -
    Parameters:
    value - the RECURRENCE_ID value string to parse -
    Throws: -
    ParseException - where the specified string is not a valid RECURRENCE_ID value representation
    -
    -
    - -

    -RecurrenceId

    -
    -public RecurrenceId(String value,
    -                    TimeZone timezone)
    -             throws ParseException
    -
    -
    Creates a new RECURRENCE_ID property initialised with the specified timezone and value. -

    -

    -
    Parameters:
    value - a string representation of a RECURRENCE_ID value
    timezone - initial timezone -
    Throws: -
    ParseException - where the specified value is not a valid string - representation
    -
    -
    - -

    -RecurrenceId

    -
    -public RecurrenceId(ParameterList aList,
    -                    String aValue)
    -             throws ParseException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    ParseException - where the specified value string is not a valid date-time/date representation
    -
    -
    - -

    -RecurrenceId

    -
    -public RecurrenceId(Date aDate)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aDate - a date representation of a date or date-time
    -
    -
    - -

    -RecurrenceId

    -
    -public RecurrenceId(ParameterList aList,
    -                    Date aDate)
    -
    -
    Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter. -

    -

    -
    Parameters:
    aList - a list of parameters for this component
    aDate - a date representation of a date or date-time
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Overrides:
    validate in class DateProperty
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Region.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Region.html deleted file mode 100644 index 047cfa9d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Region.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Region (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Region

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Region
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Region
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Region() - -
    -          Default constructor.
    Region(ParameterList aList, - String aValue) - -
    -           
    Region(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Region

    -
    -public Region()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Region

    -
    -public Region(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Region

    -
    -public Region(ParameterList aList,
    -              String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RelatedTo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RelatedTo.html deleted file mode 100644 index 80718a7a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RelatedTo.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -RelatedTo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class RelatedTo

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.RelatedTo
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class RelatedTo
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a RELATED-TO iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    RelatedTo() - -
    -          Default constructor.
    RelatedTo(ParameterList aList, - String aValue) - -
    -           
    RelatedTo(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -RelatedTo

    -
    -public RelatedTo()
    -
    -
    Default constructor. -

    -

    -
    - -

    -RelatedTo

    -
    -public RelatedTo(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -RelatedTo

    -
    -public RelatedTo(ParameterList aList,
    -                 String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Repeat.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Repeat.html deleted file mode 100644 index 476dedeb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Repeat.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - -Repeat (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Repeat

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Repeat
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Repeat
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a REPEAT iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Repeat() - -
    -          Default constructor.
    Repeat(int aCount) - -
    -           
    Repeat(ParameterList aList, - int aCount) - -
    -           
    Repeat(ParameterList aList, - String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetCount() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetCount(int count) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Repeat

    -
    -public Repeat()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Repeat

    -
    -public Repeat(ParameterList aList,
    -              String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Repeat

    -
    -public Repeat(int aCount)
    -
    -
    -
    Parameters:
    aCount - a repetition count
    -
    -
    - -

    -Repeat

    -
    -public Repeat(ParameterList aList,
    -              int aCount)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aCount - a repetition count
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getCount

    -
    -public final int getCount()
    -
    -
    - -
    Returns:
    Returns the count.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setCount

    -
    -public final void setCount(int count)
    -
    -
    -
    Parameters:
    count - The count to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RequestStatus.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RequestStatus.html deleted file mode 100644 index 61ce4060..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/RequestStatus.html +++ /dev/null @@ -1,622 +0,0 @@ - - - - - - - -RequestStatus (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class RequestStatus

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.RequestStatus
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class RequestStatus
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a REQUEST-STATUS iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringCLIENT_ERROR - -
    -          Client error status.
    -static StringPRELIM_SUCCESS - -
    -          Preliminary success status.
    -static StringSCHEDULING_ERROR - -
    -          Scheduling error status.
    -static StringSUCCESS - -
    -          Success status.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    RequestStatus() - -
    -          Default constructor.
    RequestStatus(ParameterList aList, - String aValue) - -
    -           
    RequestStatus(ParameterList aList, - String aStatusCode, - String aDescription, - String data) - -
    -           
    RequestStatus(String aStatusCode, - String aDescription, - String data) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetDescription() - -
    -           
    - StringgetExData() - -
    -           
    - StringgetStatusCode() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetDescription(String description) - -
    -           
    - voidsetExData(String exData) - -
    -           
    - voidsetStatusCode(String statusCode) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PRELIM_SUCCESS

    -
    -public static final String PRELIM_SUCCESS
    -
    -
    Preliminary success status. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -SUCCESS

    -
    -public static final String SUCCESS
    -
    -
    Success status. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -CLIENT_ERROR

    -
    -public static final String CLIENT_ERROR
    -
    -
    Client error status. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -SCHEDULING_ERROR

    -
    -public static final String SCHEDULING_ERROR
    -
    -
    Scheduling error status. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -RequestStatus

    -
    -public RequestStatus()
    -
    -
    Default constructor. -

    -

    -
    - -

    -RequestStatus

    -
    -public RequestStatus(ParameterList aList,
    -                     String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -RequestStatus

    -
    -public RequestStatus(String aStatusCode,
    -                     String aDescription,
    -                     String data)
    -
    -
    -
    Parameters:
    aStatusCode - a string representation of a status code
    aDescription - a description
    data - a string representation of extension data
    -
    -
    - -

    -RequestStatus

    -
    -public RequestStatus(ParameterList aList,
    -                     String aStatusCode,
    -                     String aDescription,
    -                     String data)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aStatusCode - a string representation of a status code
    aDescription - a description
    data - a string representation of extension data
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getDescription

    -
    -public final String getDescription()
    -
    -
    - -
    Returns:
    Returns the description.
    -
    -
    -
    - -

    -getExData

    -
    -public final String getExData()
    -
    -
    - -
    Returns:
    Returns the exData.
    -
    -
    -
    - -

    -getStatusCode

    -
    -public final String getStatusCode()
    -
    -
    - -
    Returns:
    Returns the statusCode.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setDescription

    -
    -public final void setDescription(String description)
    -
    -
    -
    Parameters:
    description - The description to set.
    -
    -
    -
    - -

    -setExData

    -
    -public final void setExData(String exData)
    -
    -
    -
    Parameters:
    exData - The exData to set.
    -
    -
    -
    - -

    -setStatusCode

    -
    -public final void setStatusCode(String statusCode)
    -
    -
    -
    Parameters:
    statusCode - The statusCode to set.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Resources.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Resources.html deleted file mode 100644 index 56d5cbf9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Resources.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - -Resources (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Resources

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Resources
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Resources
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a RESOURCES iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Resources() - -
    -          Default constructor.
    Resources(ParameterList aList, - String aValue) - -
    -           
    Resources(ParameterList aList, - TextList rList) - -
    -           
    Resources(TextList rList) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - TextListgetResources() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Resources

    -
    -public Resources()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Resources

    -
    -public Resources(ParameterList aList,
    -                 String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Resources

    -
    -public Resources(TextList rList)
    -
    -
    -
    Parameters:
    rList - a list of resources
    -
    -
    - -

    -Resources

    -
    -public Resources(ParameterList aList,
    -                 TextList rList)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    rList - a list of resources
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getResources

    -
    -public final TextList getResources()
    -
    -
    - -
    Returns:
    Returns the resources.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Sequence.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Sequence.html deleted file mode 100644 index 93b904e6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Sequence.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - - -Sequence (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Sequence

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Sequence
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Sequence
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a SEQUENCE iCalendar component property. - -

    -     4.8.7.4 Sequence Number
    -     
    -        Property Name: SEQUENCE
    -     
    -        Purpose: This property defines the revision sequence number of the
    -        calendar component within a sequence of revisions.
    -     
    -        Value Type: integer
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: The property can be specified in "VEVENT", "VTODO" or
    -        "VJOURNAL" calendar component.
    -     
    -        Description: When a calendar component is created, its sequence
    -        number is zero (US-ASCII decimal 48). It is monotonically incremented
    -        by the "Organizer's" CUA each time the "Organizer" makes a
    -        significant revision to the calendar component. When the "Organizer"
    -        makes changes to one of the following properties, the sequence number
    -        MUST be incremented:
    -     
    -          .  "DTSTART"
    -     
    -          .  "DTEND"
    -     
    -          .  "DUE"
    -     
    -          .  "RDATE"
    -     
    -          .  "RRULE"
    -     
    -          .  "EXDATE"
    -     
    -          .  "EXRULE"
    -     
    -          .  "STATUS"
    -     
    -        In addition, changes made by the "Organizer" to other properties can
    -        also force the sequence number to be incremented. The "Organizer" CUA
    -        MUST increment the sequence number when ever it makes changes to
    -        properties in the calendar component that the "Organizer" deems will
    -        jeopardize the validity of the participation status of the
    -        "Attendees". For example, changing the location of a meeting from one
    -        locale to another distant locale could effectively impact the
    -        participation status of the "Attendees".
    -     
    -        The "Organizer" includes this property in an iCalendar object that it
    -        sends to an "Attendee" to specify the current version of the calendar
    -        component.
    -     
    -        The "Attendee" includes this property in an iCalendar object that it
    -        sends to the "Organizer" to specify the version of the calendar
    -        component that the "Attendee" is referring to.
    -     
    -        A change to the sequence number is not the mechanism that an
    -        "Organizer" uses to request a response from the "Attendees". The
    -        "RSVP" parameter on the "ATTENDEE" property is used by the
    -        "Organizer" to indicate that a response from the "Attendees" is
    -        requested.
    -     
    -        Format Definition: This property is defined by the following
    -        notation:
    -     
    -          seq = "SEQUENCE" seqparam ":" integer CRLF
    -          ; Default is "0"
    -     
    -          seqparam   = *(";" xparam)
    -     
    -        Example: The following is an example of this property for a calendar
    -        component that was just created by the "Organizer".
    -     
    -          SEQUENCE:0
    -     
    -        The following is an example of this property for a calendar component
    -        that has been revised two different times by the "Organizer".
    -     
    -          SEQUENCE:2
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Sequence() - -
    -          Default constructor.
    Sequence(int aSequenceNo) - -
    -           
    Sequence(ParameterList aList, - int aSequenceNo) - -
    -           
    Sequence(ParameterList aList, - String aValue) - -
    -           
    Sequence(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - intgetSequenceNo() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Sequence

    -
    -public Sequence()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Sequence

    -
    -public Sequence(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Sequence

    -
    -public Sequence(ParameterList aList,
    -                String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Sequence

    -
    -public Sequence(int aSequenceNo)
    -
    -
    -
    Parameters:
    aSequenceNo - a sequence number
    -
    -
    - -

    -Sequence

    -
    -public Sequence(ParameterList aList,
    -                int aSequenceNo)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aSequenceNo - a sequence number
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getSequenceNo

    -
    -public final int getSequenceNo()
    -
    -
    - -
    Returns:
    Returns the sequenceNo.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Status.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Status.html deleted file mode 100644 index 74490de5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Status.html +++ /dev/null @@ -1,666 +0,0 @@ - - - - - - - -Status (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Status

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Status
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Status
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a STATUS iCalendar component property. - -

    -     4.8.1.11 Status
    -     
    -        Property Name: STATUS
    -     
    -        Purpose: This property defines the overall status or confirmation for
    -        the calendar component.
    -     
    -        Value Type: TEXT
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: This property can be specified in "VEVENT", "VTODO" or
    -        "VJOURNAL" calendar components.
    -     
    -        Description: In a group scheduled calendar component, the property is
    -        used by the "Organizer" to provide a confirmation of the event to the
    -        "Attendees". For example in a "VEVENT" calendar component, the
    -        "Organizer" can indicate that a meeting is tentative, confirmed or
    -        cancelled. In a "VTODO" calendar component, the "Organizer" can
    -        indicate that an action item needs action, is completed, is in
    -        process or being worked on, or has been cancelled. In a "VJOURNAL"
    -        calendar component, the "Organizer" can indicate that a journal entry
    -        is draft, final or has been cancelled or removed.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          status     = "STATUS" statparam] ":" statvalue CRLF
    -     
    -          statparam  = *(";" xparam)
    -     
    -          statvalue  = "TENTATIVE"           ;Indicates event is
    -                                             ;tentative.
    -                     / "CONFIRMED"           ;Indicates event is
    -                                             ;definite.
    -                     / "CANCELLED"           ;Indicates event was
    -                                             ;cancelled.
    -             ;Status values for a "VEVENT"
    -     
    -          statvalue  =/ "NEEDS-ACTION"       ;Indicates to-do needs action.
    -                     / "COMPLETED"           ;Indicates to-do completed.
    -                     / "IN-PROCESS"          ;Indicates to-do in process of
    -                     / "CANCELLED"           ;Indicates to-do was cancelled.
    -             ;Status values for "VTODO".
    -     
    -          statvalue  =/ "DRAFT"              ;Indicates journal is draft.
    -                     / "FINAL"               ;Indicates journal is final.
    -                     / "CANCELLED"           ;Indicates journal is removed.
    -             ;Status values for "VJOURNAL".
    -     
    -        Example: The following is an example of this property for a "VEVENT"
    -        calendar component:
    -     
    -          STATUS:TENTATIVE
    -     
    -        The following is an example of this property for a "VTODO" calendar
    -        component:
    -     
    -          STATUS:NEEDS-ACTION
    -     
    -        The following is an example of this property for a "VJOURNAL"
    -        calendar component:
    -     
    -          STATUS:DRAFT
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StatusVEVENT_CANCELLED - -
    -          Cancelled VEVENT status.
    -static StatusVEVENT_CONFIRMED - -
    -          Confirmed VEVENT status.
    -static StatusVEVENT_TENTATIVE - -
    -          Tentative VEVENT status.
    -static StatusVJOURNAL_CANCELLED - -
    -          Cancelled VJOURNAL status.
    -static StatusVJOURNAL_DRAFT - -
    -          Draft VJOURNAL status.
    -static StatusVJOURNAL_FINAL - -
    -          Final VJOURNAL status.
    -static StatusVTODO_CANCELLED - -
    -          Cancelled VTODO status.
    -static StatusVTODO_COMPLETED - -
    -          Completed VTODO status.
    -static StatusVTODO_IN_PROCESS - -
    -          In-process VTODO status.
    -static StatusVTODO_NEEDS_ACTION - -
    -          Tentative VTODO status.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Status() - -
    -          Default constructor.
    Status(ParameterList aList, - String aValue) - -
    -           
    Status(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -VEVENT_TENTATIVE

    -
    -public static final Status VEVENT_TENTATIVE
    -
    -
    Tentative VEVENT status. -

    -

    -
    -
    -
    - -

    -VEVENT_CONFIRMED

    -
    -public static final Status VEVENT_CONFIRMED
    -
    -
    Confirmed VEVENT status. -

    -

    -
    -
    -
    - -

    -VEVENT_CANCELLED

    -
    -public static final Status VEVENT_CANCELLED
    -
    -
    Cancelled VEVENT status. -

    -

    -
    -
    -
    - -

    -VTODO_NEEDS_ACTION

    -
    -public static final Status VTODO_NEEDS_ACTION
    -
    -
    Tentative VTODO status. -

    -

    -
    -
    -
    - -

    -VTODO_COMPLETED

    -
    -public static final Status VTODO_COMPLETED
    -
    -
    Completed VTODO status. -

    -

    -
    -
    -
    - -

    -VTODO_IN_PROCESS

    -
    -public static final Status VTODO_IN_PROCESS
    -
    -
    In-process VTODO status. -

    -

    -
    -
    -
    - -

    -VTODO_CANCELLED

    -
    -public static final Status VTODO_CANCELLED
    -
    -
    Cancelled VTODO status. -

    -

    -
    -
    -
    - -

    -VJOURNAL_DRAFT

    -
    -public static final Status VJOURNAL_DRAFT
    -
    -
    Draft VJOURNAL status. -

    -

    -
    -
    -
    - -

    -VJOURNAL_FINAL

    -
    -public static final Status VJOURNAL_FINAL
    -
    -
    Final VJOURNAL status. -

    -

    -
    -
    -
    - -

    -VJOURNAL_CANCELLED

    -
    -public static final Status VJOURNAL_CANCELLED
    -
    -
    Cancelled VJOURNAL status. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Status

    -
    -public Status()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Status

    -
    -public Status(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Status

    -
    -public Status(ParameterList aList,
    -              String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/StreetAddress.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/StreetAddress.html deleted file mode 100644 index 830b3cb3..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/StreetAddress.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -StreetAddress (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class StreetAddress

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.StreetAddress
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class StreetAddress
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a STREET_ADDRESS iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    StreetAddress() - -
    -          Default constructor.
    StreetAddress(ParameterList aList, - String aValue) - -
    -           
    StreetAddress(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -StreetAddress

    -
    -public StreetAddress()
    -
    -
    Default constructor. -

    -

    -
    - -

    -StreetAddress

    -
    -public StreetAddress(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -StreetAddress

    -
    -public StreetAddress(ParameterList aList,
    -                     String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Summary.html deleted file mode 100644 index 1a1c4f65..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Summary.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - - -Summary (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Summary

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Summary
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Summary
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a SUMMARY iCalendar component property. - -

    -     4.8.1.12 Summary
    -     
    -        Property Name: SUMMARY
    -     
    -        Purpose: This property defines a short summary or subject for the
    -        calendar component.
    -     
    -        Value Type: TEXT
    -     
    -        Property Parameters: Non-standard, alternate text representation and
    -        language property parameters can be specified on this property.
    -     
    -        Conformance: The property can be specified in "VEVENT", "VTODO",
    -        "VJOURNAL" or "VALARM" calendar components.
    -     
    -        Description: This property is used in the "VEVENT", "VTODO" and
    -        "VJOURNAL" calendar components to capture a short, one line summary
    -        about the activity or journal entry.
    -     
    -        This property is used in the "VALARM" calendar component to capture
    -        the subject of an EMAIL category of alarm.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          summary    = "SUMMARY" summparam ":" text CRLF
    -     
    -          summparam  = *(
    -     
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                     (";" altrepparam) / (";" languageparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                     (";" xparam)
    -     
    -                     )
    -     
    -        Example: The following is an example of this property:
    -     
    -          SUMMARY:Department Party
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Summary() - -
    -          Default constructor.
    Summary(ParameterList aList, - String aValue) - -
    -           
    Summary(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Summary

    -
    -public Summary()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Summary

    -
    -public Summary(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Summary

    -
    -public Summary(ParameterList aList,
    -               String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Tel.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Tel.html deleted file mode 100644 index 966656ad..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Tel.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Tel (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Tel

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Tel
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Tel
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a TEL iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf, Mike Douglass
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Tel() - -
    -          Default constructor.
    Tel(ParameterList aList, - String aValue) - -
    -           
    Tel(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Tel

    -
    -public Tel()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Tel

    -
    -public Tel(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Tel

    -
    -public Tel(ParameterList aList,
    -           String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Transp.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Transp.html deleted file mode 100644 index 3e21e739..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Transp.html +++ /dev/null @@ -1,485 +0,0 @@ - - - - - - - -Transp (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Transp

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Transp
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Transp
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a TRANSP iCalendar component property. - -

    -     4.8.2.7 Time Transparency
    -     
    -        Property Name: TRANSP
    -     
    -        Purpose: This property defines whether an event is transparent or not
    -        to busy time searches.
    -     
    -        Value Type: TEXT
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: This property can be specified once in a "VEVENT"
    -        calendar component.
    -     
    -        Description: Time Transparency is the characteristic of an event that
    -        determines whether it appears to consume time on a calendar. Events
    -        that consume actual time for the individual or resource associated
    -        with the calendar SHOULD be recorded as OPAQUE, allowing them to be
    -        detected by free-busy time searches. Other events, which do not take
    -        up the individual's (or resource's) time SHOULD be recorded as
    -        TRANSPARENT, making them invisible to free-busy time searches.
    -     
    -        Format Definition: The property is specified by the following
    -        notation:
    -     
    -          transp     = "TRANSP" tranparam ":" transvalue CRLF
    -     
    -          tranparam  = *(";" xparam)
    -     
    -          transvalue = "OPAQUE"      ;Blocks or opaque on busy time searches.
    -                     / "TRANSPARENT" ;Transparent on busy time searches.
    -             ;Default value is OPAQUE
    -     
    -        Example: The following is an example of this property for an event
    -        that is transparent or does not block on free/busy time searches:
    -     
    -          TRANSP:TRANSPARENT
    -     
    -        The following is an example of this property for an event that is
    -        opaque or blocks on free/busy time searches:
    -     
    -          TRANSP:OPAQUE
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static TranspOPAQUE - -
    -          Opaque.
    -static TranspTRANSPARENT - -
    -          Transparent.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Transp() - -
    -          Default constructor.
    Transp(ParameterList aList, - String aValue) - -
    -           
    Transp(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -OPAQUE

    -
    -public static final Transp OPAQUE
    -
    -
    Opaque. -

    -

    -
    -
    -
    - -

    -TRANSPARENT

    -
    -public static final Transp TRANSPARENT
    -
    -
    Transparent. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Transp

    -
    -public Transp()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Transp

    -
    -public Transp(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Transp

    -
    -public Transp(ParameterList aList,
    -              String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Trigger.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Trigger.html deleted file mode 100644 index 3c90dc63..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Trigger.html +++ /dev/null @@ -1,616 +0,0 @@ - - - - - - - -Trigger (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Trigger

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.UtcProperty
    -                  extended by net.fortuna.ical4j.model.property.Trigger
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Trigger
    extends UtcProperty
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a TRIGGER iCalendar component property. - -

    -     4.8.6.3 Trigger
    -     
    -        Property Name: TRIGGER
    -     
    -        Purpose: This property specifies when an alarm will trigger.
    -     
    -        Value Type: The default value type is DURATION. The value type can be
    -        set to a DATE-TIME value type, in which case the value MUST specify a
    -        UTC formatted DATE-TIME value.
    -     
    -        Property Parameters: Non-standard, value data type, time zone
    -        identifier or trigger relationship property parameters can be
    -        specified on this property. The trigger relationship property
    -        parameter MUST only be specified when the value type is DURATION.
    -     
    -        Conformance: This property MUST be specified in the "VALARM" calendar
    -        component.
    -     
    -        Description: Within the "VALARM" calendar component, this property
    -        defines when the alarm will trigger. The default value type is
    -        DURATION, specifying a relative time for the trigger of the alarm.
    -        The default duration is relative to the start of an event or to-do
    -        that the alarm is associated with. The duration can be explicitly set
    -     
    -        to trigger from either the end or the start of the associated event
    -        or to-do with the "RELATED" parameter. A value of START will set the
    -        alarm to trigger off the start of the associated event or to-do. A
    -        value of END will set the alarm to trigger off the end of the
    -        associated event or to-do.
    -     
    -        Either a positive or negative duration may be specified for the
    -        "TRIGGER" property. An alarm with a positive duration is triggered
    -        after the associated start or end of the event or to-do. An alarm
    -        with a negative duration is triggered before the associated start or
    -        end of the event or to-do.
    -     
    -        The "RELATED" property parameter is not valid if the value type of
    -        the property is set to DATE-TIME (i.e., for an absolute date and time
    -        alarm trigger). If a value type of DATE-TIME is specified, then the
    -        property value MUST be specified in the UTC time format. If an
    -        absolute trigger is specified on an alarm for a recurring event or
    -        to-do, then the alarm will only trigger for the specified absolute
    -        date/time, along with any specified repeating instances.
    -     
    -        If the trigger is set relative to START, then the "DTSTART" property
    -        MUST be present in the associated "VEVENT" or "VTODO" calendar
    -        component. If an alarm is specified for an event with the trigger set
    -        relative to the END, then the "DTEND" property or the "DSTART" and
    -        "DURATION' properties MUST be present in the associated "VEVENT"
    -        calendar component. If the alarm is specified for a to-do with a
    -        trigger set relative to the END, then either the "DUE" property or
    -        the "DSTART" and "DURATION' properties MUST be present in the
    -        associated "VTODO" calendar component.
    -     
    -        Alarms specified in an event or to-do which is defined in terms of a
    -        DATE value type will be triggered relative to 00:00:00 UTC on the
    -        specified date. For example, if "DTSTART:19980205, then the duration
    -        trigger will be relative to19980205T000000Z.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          trigger    = "TRIGGER" (trigrel / trigabs)
    -     
    -          trigrel    = *(
    -     
    -                     ; the following are optional,
    -                     ; but MUST NOT occur more than once
    -     
    -                       (";" "VALUE" "=" "DURATION") /
    -                       (";" trigrelparam) /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                       (";" xparam)
    -                       ) ":"  dur-value
    -     
    -          trigabs    = 1*(
    -     
    -                     ; the following is REQUIRED,
    -                     ; but MUST NOT occur more than once
    -     
    -                       (";" "VALUE" "=" "DATE-TIME") /
    -     
    -                     ; the following is optional,
    -                     ; and MAY occur more than once
    -     
    -                       (";" xparam)
    -     
    -                       ) ":" date-time
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Trigger() - -
    -          Default constructor.
    Trigger(DateTime dateTime) - -
    -           
    Trigger(Dur duration) - -
    -           
    Trigger(ParameterList aList, - DateTime dateTime) - -
    -           
    Trigger(ParameterList aList, - Dur duration) - -
    -           
    Trigger(ParameterList aList, - String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - DurgetDuration() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetDateTime(DateTime dateTime) - -
    -           
    - voidsetDuration(Dur duration) - -
    -           
    - voidsetValue(String aValue) - -
    -          Default setValue() implementation.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.UtcProperty
    getDateTime, setTimeZone
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, hashCode, isUtc, setDate, setUtc
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Trigger

    -
    -public Trigger()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Trigger

    -
    -public Trigger(ParameterList aList,
    -               String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Trigger

    -
    -public Trigger(Dur duration)
    -
    -
    -
    Parameters:
    duration - a duration in milliseconds
    -
    -
    - -

    -Trigger

    -
    -public Trigger(ParameterList aList,
    -               Dur duration)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    duration - a duration in milliseconds
    -
    -
    - -

    -Trigger

    -
    -public Trigger(DateTime dateTime)
    -
    -
    -
    Parameters:
    dateTime - a date representation of a date-time
    -
    -
    - -

    -Trigger

    -
    -public Trigger(ParameterList aList,
    -               DateTime dateTime)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    dateTime - a date representation of a date-time
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Overrides:
    validate in class UtcProperty
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -getDuration

    -
    -public final Dur getDuration()
    -
    -
    - -
    Returns:
    Returns the duration.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Default setValue() implementation. Allows for either DATE or DATE-TIME values. -

    -

    -
    Overrides:
    setValue in class DateProperty
    -
    -
    -
    Parameters:
    aValue - a string representation of a DATE or DATE-TIME value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Overrides:
    getValue in class DateProperty
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setDateTime

    -
    -public final void setDateTime(DateTime dateTime)
    -
    -
    -
    Overrides:
    setDateTime in class UtcProperty
    -
    -
    -
    Parameters:
    dateTime - The dateTime to set.
    -
    -
    -
    - -

    -setDuration

    -
    -public final void setDuration(Dur duration)
    -
    -
    -
    Parameters:
    duration - The duration to set.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzId.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzId.html deleted file mode 100644 index ded1ff9e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzId.html +++ /dev/null @@ -1,473 +0,0 @@ - - - - - - - -TzId (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class TzId

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.TzId
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class TzId
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a TZID iCalendar component property. - -

    -     4.8.3.1 Time Zone Identifier
    -     
    -        Property Name: TZID
    -     
    -        Purpose: This property specifies the text value that uniquely
    -        identifies the "VTIMEZONE" calendar component.
    -     
    -        Value Type: TEXT
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: This property MUST be specified in a "VTIMEZONE"
    -        calendar component.
    -     
    -        Description: This is the label by which a time zone calendar
    -        component is referenced by any iCalendar properties whose data type
    -        is either DATE-TIME or TIME and not intended to specify a UTC or a
    -        "floating" time. The presence of the SOLIDUS character (US-ASCII
    -        decimal 47) as a prefix, indicates that this TZID represents an
    -        unique ID in a globally defined time zone registry (when such
    -        registry is defined).
    -     
    -             Note: This document does not define a naming convention for time
    -             zone identifiers. Implementers may want to use the naming
    -             conventions defined in existing time zone specifications such as
    -             the public-domain Olson database [TZ]. The specification of
    -             globally unique time zone identifiers is not addressed by this
    -             document and is left for future study.
    -     
    -        Format Definition: This property is defined by the following
    -        notation:
    -     
    -          tzid       = "TZID" tzidpropparam ":" [tzidprefix] text CRLF
    -     
    -          tzidpropparam      = *(";" xparam)
    -     
    -          ;tzidprefix        = "/"
    -          ; Defined previously. Just listed here for reader convenience.
    -     
    -        Example: The following are examples of non-globally unique time zone
    -        identifiers:
    -     
    -          TZID:US-Eastern
    -     
    -          TZID:California-Los_Angeles
    -     
    -        The following is an example of a fictitious globally unique time zone
    -        identifier:
    -     
    -          TZID:/US-New_York-New_York
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static StringPREFIX - -
    -          Timezone identifier prefix.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    TzId() - -
    -          Default constructor.
    TzId(ParameterList aList, - String aValue) - -
    -           
    TzId(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PREFIX

    -
    -public static final String PREFIX
    -
    -
    Timezone identifier prefix. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -TzId

    -
    -public TzId()
    -
    -
    Default constructor. -

    -

    -
    - -

    -TzId

    -
    -public TzId(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -TzId

    -
    -public TzId(ParameterList aList,
    -            String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzName.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzName.html deleted file mode 100644 index b7273115..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzName.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -TzName (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class TzName

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.TzName
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class TzName
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a TZNAME iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    TzName() - -
    -          Default constructor.
    TzName(ParameterList aList, - String aValue) - -
    -           
    TzName(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TzName

    -
    -public TzName()
    -
    -
    Default constructor. -

    -

    -
    - -

    -TzName

    -
    -public TzName(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -TzName

    -
    -public TzName(ParameterList aList,
    -              String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetFrom.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetFrom.html deleted file mode 100644 index eab54572..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetFrom.html +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - -TzOffsetFrom (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class TzOffsetFrom

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.TzOffsetFrom
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class TzOffsetFrom
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETFROM iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    TzOffsetFrom() - -
    -          Default constructor.
    TzOffsetFrom(ParameterList aList, - String aValue) - -
    -           
    TzOffsetFrom(ParameterList aList, - UtcOffset anOffset) - -
    -           
    TzOffsetFrom(String aValue) - -
    -           
    TzOffsetFrom(UtcOffset anOffset) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - UtcOffsetgetOffset() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetOffset(UtcOffset offset) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TzOffsetFrom

    -
    -public TzOffsetFrom()
    -
    -
    Default constructor. -

    -

    -
    - -

    -TzOffsetFrom

    -
    -public TzOffsetFrom(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -TzOffsetFrom

    -
    -public TzOffsetFrom(ParameterList aList,
    -                    String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -TzOffsetFrom

    -
    -public TzOffsetFrom(UtcOffset anOffset)
    -
    -
    -
    Parameters:
    anOffset - a timezone offset in milliseconds
    -
    -
    - -

    -TzOffsetFrom

    -
    -public TzOffsetFrom(ParameterList aList,
    -                    UtcOffset anOffset)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    anOffset - a timezone offset in milliseconds
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getOffset

    -
    -public final UtcOffset getOffset()
    -
    -
    - -
    Returns:
    Returns the offset.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setOffset

    -
    -public final void setOffset(UtcOffset offset)
    -
    -
    -
    Parameters:
    offset - The offset to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetTo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetTo.html deleted file mode 100644 index ccacd831..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetTo.html +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - -TzOffsetTo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class TzOffsetTo

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.TzOffsetTo
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class TzOffsetTo
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETTO iCalendar component property. -

    - -

    -

    -
    Author:
    -
    benf
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    TzOffsetTo() - -
    -          Default constructor.
    TzOffsetTo(ParameterList aList, - String aValue) - -
    -           
    TzOffsetTo(ParameterList aList, - UtcOffset anOffset) - -
    -           
    TzOffsetTo(String value) - -
    -           
    TzOffsetTo(UtcOffset anOffset) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - UtcOffsetgetOffset() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetOffset(UtcOffset offset) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TzOffsetTo

    -
    -public TzOffsetTo()
    -
    -
    Default constructor. -

    -

    -
    - -

    -TzOffsetTo

    -
    -public TzOffsetTo(String value)
    -
    -
    -
    Parameters:
    value - an offset value
    -
    -
    - -

    -TzOffsetTo

    -
    -public TzOffsetTo(ParameterList aList,
    -                  String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -TzOffsetTo

    -
    -public TzOffsetTo(UtcOffset anOffset)
    -
    -
    -
    Parameters:
    anOffset - a timezone offset in milliseconds
    -
    -
    - -

    -TzOffsetTo

    -
    -public TzOffsetTo(ParameterList aList,
    -                  UtcOffset anOffset)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    anOffset - a timezone offset in milliseconds
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getOffset

    -
    -public final UtcOffset getOffset()
    -
    -
    - -
    Returns:
    Returns the offset.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setOffset

    -
    -public final void setOffset(UtcOffset offset)
    -
    -
    -
    Parameters:
    offset - The offset to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzUrl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzUrl.html deleted file mode 100644 index 233e77a9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/TzUrl.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - -TzUrl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class TzUrl

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.TzUrl
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class TzUrl
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a TZURL iCalendar component property. - -

    -     4.8.3.5 Time Zone URL
    -     
    -        Property Name: TZURL
    -     
    -        Purpose: The TZURL provides a means for a VTIMEZONE component to
    -        point to a network location that can be used to retrieve an up-to-
    -        date version of itself.
    -     
    -        Value Type: URI
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: This property can be specified in a "VTIMEZONE" calendar
    -        component.
    -     
    -        Description: The TZURL provides a means for a VTIMEZONE component to
    -        point to a network location that can be used to retrieve an up-to-
    -        date version of itself. This provides a hook to handle changes
    -        government bodies impose upon time zone definitions. Retrieval of
    -        this resource results in an iCalendar object containing a single
    -        VTIMEZONE component and a METHOD property set to PUBLISH.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          tzurl      = "TZURL" tzurlparam ":" uri CRLF
    -     
    -          tzurlparam = *(";" xparam)
    -     
    -        Example: The following is an example of this property:
    -     
    -          TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    TzUrl() - -
    -          Default constructor.
    TzUrl(ParameterList aList, - String aValue) - -
    -           
    TzUrl(ParameterList aList, - URI aUri) - -
    -           
    TzUrl(URI aUri) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - URIgetUri() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetUri(URI uri) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -TzUrl

    -
    -public TzUrl()
    -
    -
    Default constructor. -

    -

    -
    - -

    -TzUrl

    -
    -public TzUrl(ParameterList aList,
    -             String aValue)
    -      throws URISyntaxException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    URISyntaxException - where the specified value string is not a valid uri
    -
    -
    - -

    -TzUrl

    -
    -public TzUrl(URI aUri)
    -
    -
    -
    Parameters:
    aUri - a URI
    -
    -
    - -

    -TzUrl

    -
    -public TzUrl(ParameterList aList,
    -             URI aUri)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aUri - a URI
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getUri

    -
    -public final URI getUri()
    -
    -
    - -
    Returns:
    Returns the uri.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws URISyntaxException
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    URISyntaxException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setUri

    -
    -public final void setUri(URI uri)
    -
    -
    -
    Parameters:
    uri - The uri to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Uid.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Uid.html deleted file mode 100644 index eed18cc2..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Uid.html +++ /dev/null @@ -1,457 +0,0 @@ - - - - - - - -Uid (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Uid

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Uid
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class Uid
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a UID iCalendar component property. - -

    -     4.8.4.7 Unique Identifier
    -     
    -        Property Name: UID
    -     
    -        Purpose: This property defines the persistent, globally unique
    -        identifier for the calendar component.
    -     
    -        Value Type: TEXT
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: The property MUST be specified in the "VEVENT", "VTODO",
    -        "VJOURNAL" or "VFREEBUSY" calendar components.
    -     
    -        Description: The UID itself MUST be a globally unique identifier. The
    -        generator of the identifier MUST guarantee that the identifier is
    -        unique. There are several algorithms that can be used to accomplish
    -        this. The identifier is RECOMMENDED to be the identical syntax to the
    -        [RFC 822] addr-spec. A good method to assure uniqueness is to put the
    -        domain name or a domain literal IP address of the host on which the
    -        identifier was created on the right hand side of the "@", and on the
    -        left hand side, put a combination of the current calendar date and
    -        time of day (i.e., formatted in as a DATE-TIME value) along with some
    -        other currently unique (perhaps sequential) identifier available on
    -        the system (for example, a process id number). Using a date/time
    -        value on the left hand side and a domain name or domain literal on
    -        the right hand side makes it possible to guarantee uniqueness since
    -        no two hosts should be using the same domain name or IP address at
    -        the same time. Though other algorithms will work, it is RECOMMENDED
    -        that the right hand side contain some domain identifier (either of
    -        the host itself or otherwise) such that the generator of the message
    -        identifier can guarantee the uniqueness of the left hand side within
    -        the scope of that domain.
    -     
    -        This is the method for correlating scheduling messages with the
    -        referenced "VEVENT", "VTODO", or "VJOURNAL" calendar component.
    -     
    -        The full range of calendar components specified by a recurrence set
    -        is referenced by referring to just the "UID" property value
    -        corresponding to the calendar component. The "RECURRENCE-ID" property
    -        allows the reference to an individual instance within the recurrence
    -        set.
    -     
    -        This property is an important method for group scheduling
    -        applications to match requests with later replies, modifications or
    -        deletion requests. Calendaring and scheduling applications MUST
    -        generate this property in "VEVENT", "VTODO" and "VJOURNAL" calendar
    -        components to assure interoperability with other group scheduling
    -        applications. This identifier is created by the calendar system that
    -        generates an iCalendar object.
    -     
    -        Implementations MUST be able to receive and persist values of at
    -        least 255 characters for this property.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          uid        = "UID" uidparam ":" text CRLF
    -     
    -          uidparam   = *(";" xparam)
    -     
    -        Example: The following is an example of this property:
    -     
    -          UID:19960401T080045Z-4000F192713-0052@host1.com
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Uid() - -
    -          Default constructor.
    Uid(ParameterList aList, - String aValue) - -
    -           
    Uid(String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Uid

    -
    -public Uid()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Uid

    -
    -public Uid(String aValue)
    -
    -
    -
    Parameters:
    aValue - a value string for this component
    -
    -
    - -

    -Uid

    -
    -public Uid(ParameterList aList,
    -           String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Url.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Url.html deleted file mode 100644 index ca0256cb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Url.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - -Url (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Url

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Url
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Url
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a URL iCalendar component property. - -

    -     4.8.4.6 Uniform Resource Locator
    -     
    -        Property Name: URL
    -     
    -        Purpose: This property defines a Uniform Resource Locator (URL)
    -        associated with the iCalendar object.
    -     
    -        Value Type: URI
    -     
    -        Property Parameters: Non-standard property parameters can be
    -        specified on this property.
    -     
    -        Conformance: This property can be specified once in the "VEVENT",
    -        "VTODO", "VJOURNAL" or "VFREEBUSY" calendar components.
    -     
    -        Description: This property may be used in a calendar component to
    -        convey a location where a more dynamic rendition of the calendar
    -        information associated with the calendar component can be found. This
    -        memo does not attempt to standardize the form of the URI, nor the
    -        format of the resource pointed to by the property value. If the URL
    -        property and Content-Location MIME header are both specified, they
    -        MUST point to the same resource.
    -     
    -        Format Definition: The property is defined by the following notation:
    -     
    -          url        = "URL" urlparam ":" uri CRLF
    -     
    -          urlparam   = *(";" xparam)
    -     
    -        Example: The following is an example of this property:
    -     
    -          URL:http://abc.com/pub/calendars/jsmith/mytime.ics
    - 
    -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Url() - -
    -          Default constructor.
    Url(ParameterList aList, - String aValue) - -
    -           
    Url(ParameterList aList, - URI aUri) - -
    -           
    Url(URI aUri) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - URIgetUri() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetUri(URI uri) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Url

    -
    -public Url()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Url

    -
    -public Url(ParameterList aList,
    -           String aValue)
    -    throws URISyntaxException
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component -
    Throws: -
    URISyntaxException - where the specified value string is not a valid uri
    -
    -
    - -

    -Url

    -
    -public Url(URI aUri)
    -
    -
    -
    Parameters:
    aUri - a URI
    -
    -
    - -

    -Url

    -
    -public Url(ParameterList aList,
    -           URI aUri)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aUri - a URI
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getUri

    -
    -public final URI getUri()
    -
    -
    - -
    Returns:
    Returns the uri.
    -
    -
    -
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -                    throws URISyntaxException
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value -
    Throws: -
    URISyntaxException - possibly thrown by setting the value of certain properties
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setUri

    -
    -public final void setUri(URI uri)
    -
    -
    -
    Parameters:
    uri - The uri to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/UtcProperty.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/UtcProperty.html deleted file mode 100644 index a0ced7b8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/UtcProperty.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - -UtcProperty (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class UtcProperty

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.DateProperty
    -              extended by net.fortuna.ical4j.model.property.UtcProperty
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    Direct Known Subclasses:
    Completed, Created, DtStamp, LastModified, Trigger
    -
    -
    -
    -
    public abstract class UtcProperty
    extends DateProperty
    - - -

    -$Id$ - - Created on 8/08/2005 - - Superclass for all properties with date-time values that must be specified in UTC time. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - -
    -Constructor Summary
    UtcProperty(String name, - ParameterList parameters, - PropertyFactory factory) - -
    -           
    UtcProperty(String name, - PropertyFactory factory) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - DateTimegetDateTime() - -
    -           
    - voidsetDateTime(DateTime dateTime) - -
    -           
    - voidsetTimeZone(TimeZone timezone) - -
    -          Publically available method to update the current timezone.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.property.DateProperty
    copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setUtc, setValue
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -UtcProperty

    -
    -public UtcProperty(String name,
    -                   ParameterList parameters,
    -                   PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - a property name
    parameters - list of parameters
    -
    -
    - -

    -UtcProperty

    -
    -public UtcProperty(String name,
    -                   PropertyFactory factory)
    -
    -
    -
    Parameters:
    name - a property name
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getDateTime

    -
    -public final DateTime getDateTime()
    -
    -
    - -
    Returns:
    Returns the date-time.
    -
    -
    -
    - -

    -setDateTime

    -
    -public void setDateTime(DateTime dateTime)
    -
    -
    -
    Parameters:
    dateTime - The dateTime to set.
    -
    -
    -
    - -

    -setTimeZone

    -
    -public void setTimeZone(TimeZone timezone)
    -
    -
    Publically available method to update the current timezone. -

    -

    -
    Overrides:
    setTimeZone in class DateProperty
    -
    -
    -
    Parameters:
    timezone - a timezone instance
    -
    -
    -
    - -

    -validate

    -
    -public void validate()
    -              throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Overrides:
    validate in class DateProperty
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Version.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Version.html deleted file mode 100644 index f3b7f783..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/Version.html +++ /dev/null @@ -1,522 +0,0 @@ - - - - - - - -Version (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class Version

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.Version
    -
    -
    -
    All Implemented Interfaces:
    Serializable
    -
    -
    -
    -
    public class Version
    extends Property
    - - -

    -$Id$ - - Created: [Apr 6, 2004] - - Defines a VERSION iCalendar property. When creating a new calendar you should always add a version property with - value "2.0". There is actually a constant defined in the Version class for this. e.g: - Calendar calendar = new Calendar(); - calendar.getProperties().add(Version.VERSION_2_0); -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static VersionVERSION_2_0 - -
    -          iCalendar version 2.0.
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - - - - -
    -Constructor Summary
    Version() - -
    -          Default constructor.
    Version(ParameterList aList, - String aValue) - -
    -           
    Version(ParameterList aList, - String aVersion1, - String aVersion2) - -
    -           
    Version(String minVersion, - String maxVersion) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetMaxVersion() - -
    -           
    - StringgetMinVersion() - -
    -           
    - StringgetValue() - -
    -          
    - voidsetMaxVersion(String maxVersion) - -
    -           
    - voidsetMinVersion(String minVersion) - -
    -           
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -VERSION_2_0

    -
    -public static final Version VERSION_2_0
    -
    -
    iCalendar version 2.0. -

    -

    -
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -Version

    -
    -public Version()
    -
    -
    Default constructor. -

    -

    -
    - -

    -Version

    -
    -public Version(ParameterList aList,
    -               String aValue)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aValue - a value string for this component
    -
    -
    - -

    -Version

    -
    -public Version(String minVersion,
    -               String maxVersion)
    -
    -
    -
    Parameters:
    minVersion - a string representation of the minimum version
    maxVersion - a string representation of the maximum version
    -
    -
    - -

    -Version

    -
    -public Version(ParameterList aList,
    -               String aVersion1,
    -               String aVersion2)
    -
    -
    -
    Parameters:
    aList - a list of parameters for this component
    aVersion1 - a string representation of the minimum version
    aVersion2 - a string representation of the maximum version
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getMaxVersion

    -
    -public final String getMaxVersion()
    -
    -
    - -
    Returns:
    Returns the maxVersion.
    -
    -
    -
    - -

    -getMinVersion

    -
    -public final String getMinVersion()
    -
    -
    - -
    Returns:
    Returns the minVersion.
    -
    -
    -
    - -

    -setValue

    -
    -public void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -setMaxVersion

    -
    -public void setMaxVersion(String maxVersion)
    -
    -
    -
    Parameters:
    maxVersion - The maxVersion to set.
    -
    -
    -
    - -

    -setMinVersion

    -
    -public void setMinVersion(String minVersion)
    -
    -
    -
    Parameters:
    minVersion - The minVersion to set.
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/XProperty.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/XProperty.html deleted file mode 100644 index 0286fc3e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/XProperty.html +++ /dev/null @@ -1,396 +0,0 @@ - - - - - - - -XProperty (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.model.property -
    -Class XProperty

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.model.Content
    -      extended by net.fortuna.ical4j.model.Property
    -          extended by net.fortuna.ical4j.model.property.XProperty
    -
    -
    -
    All Implemented Interfaces:
    Serializable, Escapable
    -
    -
    -
    -
    public class XProperty
    extends Property
    implements Escapable
    - - -

    -$Id$ - - Created: [15/06/2004] - - Defines an extension property. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    See Also:
    Serialized Form
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.model.Property
    ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
    -  - - - - - - - - - - - - - - - - -
    -Constructor Summary
    XProperty(String name) - -
    -          Constructs an uninitialised non-standard property.
    XProperty(String aName, - ParameterList aList, - String aValue) - -
    -           
    XProperty(String aName, - String aValue) - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - StringgetValue() - -
    -          
    - voidsetValue(String aValue) - -
    -          Sets the current value of the property.
    - voidvalidate() - -
    -          Perform validation on a property.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.model.Property
    copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -XProperty

    -
    -public XProperty(String name)
    -
    -
    Constructs an uninitialised non-standard property. -

    -

    -
    Parameters:
    name - a non-standard property name
    -
    -
    - -

    -XProperty

    -
    -public XProperty(String aName,
    -                 String aValue)
    -
    -
    -
    Parameters:
    aName - a non-standard property name
    aValue - a property value
    -
    -
    - -

    -XProperty

    -
    -public XProperty(String aName,
    -                 ParameterList aList,
    -                 String aValue)
    -
    -
    -
    Parameters:
    aName - a non-standard property name
    aList - a list of parameters
    aValue - a property value
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setValue

    -
    -public final void setValue(String aValue)
    -
    -
    Sets the current value of the property. -

    -

    -
    Specified by:
    setValue in class Property
    -
    -
    -
    Parameters:
    aValue - a string representation of the property value
    -
    -
    -
    - -

    -getValue

    -
    -public final String getValue()
    -
    -
    -

    -

    -
    Specified by:
    getValue in class Content
    -
    -
    - -
    Returns:
    the content value
    -
    -
    -
    - -

    -validate

    -
    -public final void validate()
    -                    throws ValidationException
    -
    -
    Perform validation on a property. -

    -

    -
    Specified by:
    validate in class Property
    -
    -
    - -
    Throws: -
    ValidationException - where the property is not in a valid state
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Action.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Action.html deleted file mode 100644 index d324b778..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Action.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Action (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Action

    -
    - - - - - - - - - - - - - -
    -Packages that use Action
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Action in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Action
    - ActionVAlarm.getAction() - -
    -          Returns the mandatory action property.
    -  -

    - - - - - -
    -Uses of Action in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as Action
    -static ActionAction.AUDIO - -
    -          Constant action for playing an audible sound.
    -static ActionAction.DISPLAY - -
    -          Constant action for displaying a visible notification.
    -static ActionAction.EMAIL - -
    -          Constant action for sending an email.
    -static ActionAction.PROCEDURE - -
    -          Constant action for a procedure.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attach.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attach.html deleted file mode 100644 index 16bef09b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attach.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Attach (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Attach

    -
    - - - - - - - - - -
    -Packages that use Attach
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Attach in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Attach
    - AttachVAlarm.getAttachment() - -
    -          Returns the optional attachment property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attendee.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attendee.html deleted file mode 100644 index eaa8f2bc..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attendee.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Attendee (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Attendee

    -
    -No usage of net.fortuna.ical4j.model.property.Attendee -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/BusyType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/BusyType.html deleted file mode 100644 index abfec764..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/BusyType.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.BusyType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.BusyType

    -
    - - - - - - - - - -
    -Packages that use BusyType
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of BusyType in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as BusyType
    -static BusyTypeBusyType.BUSY - -
    -          Constant for busy time.
    -static BusyTypeBusyType.BUSY_TENTATIVE - -
    -          Constant for tentatively busy time.
    -static BusyTypeBusyType.BUSY_UNAVAILABLE - -
    -          Constant for busy unavailable time.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/CalScale.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/CalScale.html deleted file mode 100644 index 3a1322e2..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/CalScale.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.CalScale (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.CalScale

    -
    - - - - - - - - - - - - - -
    -Packages that use CalScale
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of CalScale in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return CalScale
    - CalScaleCalendar.getCalendarScale() - -
    -          Returns the optional calscale property.
    -  -

    - - - - - -
    -Uses of CalScale in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as CalScale
    -static CalScaleCalScale.GREGORIAN - -
    -          Constant for Gregorian calendar representation.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Categories.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Categories.html deleted file mode 100644 index 63926307..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Categories.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Categories (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Categories

    -
    -No usage of net.fortuna.ical4j.model.property.Categories -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Clazz.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Clazz.html deleted file mode 100644 index d3636a29..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Clazz.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Clazz (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Clazz

    -
    - - - - - - - - - - - - - -
    -Packages that use Clazz
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Clazz in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Clazz
    - ClazzVEvent.getClassification() - -
    -           
    - ClazzVJournal.getClassification() - -
    -           
    - ClazzVToDo.getClassification() - -
    -           
    -  -

    - - - - - -
    -Uses of Clazz in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as Clazz
    -static ClazzClazz.CONFIDENTIAL - -
    -          Constant for confidential classification.
    -static ClazzClazz.PRIVATE - -
    -          Constant for private classification.
    -static ClazzClazz.PUBLIC - -
    -          Constant for public classification.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Comment.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Comment.html deleted file mode 100644 index 2807a2cc..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Comment.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Comment (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Comment

    -
    -No usage of net.fortuna.ical4j.model.property.Comment -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Completed.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Completed.html deleted file mode 100644 index 21de9da5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Completed.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Completed (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Completed

    -
    - - - - - - - - - -
    -Packages that use Completed
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Completed in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Completed
    - CompletedVToDo.getDateCompleted() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Contact.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Contact.html deleted file mode 100644 index f597fb59..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Contact.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Contact (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Contact

    -
    - - - - - - - - - -
    -Packages that use Contact
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Contact in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Contact
    - ContactVFreeBusy.getContact() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Country.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Country.html deleted file mode 100644 index 2bf2fff3..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Country.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Country (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Country

    -
    -No usage of net.fortuna.ical4j.model.property.Country -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Created.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Created.html deleted file mode 100644 index d8034935..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Created.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Created (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Created

    -
    - - - - - - - - - -
    -Packages that use Created
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Created in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Created
    - CreatedVEvent.getCreated() - -
    -           
    - CreatedVJournal.getCreated() - -
    -           
    - CreatedVToDo.getCreated() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateListProperty.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateListProperty.html deleted file mode 100644 index 7af36d24..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateListProperty.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.DateListProperty (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.DateListProperty

    -
    - - - - - - - - - -
    -Packages that use DateListProperty
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of DateListProperty in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - -
    Subclasses of DateListProperty in net.fortuna.ical4j.model.property
    - classExDate - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a EXDATE iCalendar component property.
    - classRDate - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an RDATE iCalendar component property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateProperty.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateProperty.html deleted file mode 100644 index ef4179df..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateProperty.html +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.DateProperty (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.DateProperty

    -
    - - - - - - - - - -
    -Packages that use DateProperty
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of DateProperty in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of DateProperty in net.fortuna.ical4j.model.property
    - classCompleted - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a COMPLETED iCalendar component property.
    - classCreated - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CREATED iCalendar component property.
    - classDtEnd - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTEND iCalendar component property.
    - classDtStamp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTAMP iCalendar component property.
    - classDtStart - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTART iCalendar component property.
    - classDue - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DUE iCalendar component property.
    - classLastModified - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LAST-MODIFIED iCalendar component property.
    - classRecurrenceId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RECURRENCE-ID iCalendar component property.
    - classTrigger - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRIGGER iCalendar component property.
    - classUtcProperty - -
    -          $Id$ - - Created on 8/08/2005 - - Superclass for all properties with date-time values that must be specified in UTC time.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Description.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Description.html deleted file mode 100644 index 6c76746c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Description.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Description (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Description

    -
    - - - - - - - - - -
    -Packages that use Description
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Description in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Description
    - DescriptionVEvent.getDescription() - -
    -           
    - DescriptionVJournal.getDescription() - -
    -           
    - DescriptionVToDo.getDescription() - -
    -           
    - DescriptionVAlarm.getDescription() - -
    -          Returns the optional description property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtEnd.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtEnd.html deleted file mode 100644 index 37b7c9b8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtEnd.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.DtEnd (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.DtEnd

    -
    - - - - - - - - - -
    -Packages that use DtEnd
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of DtEnd in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return DtEnd
    - DtEndVFreeBusy.getEndDate() - -
    -           
    - DtEndVEvent.getEndDate() - -
    -          Returns the end date of this event.
    - DtEndVEvent.getEndDate(boolean deriveFromDuration) - -
    -          Convenience method to pull the DTEND out of the property list.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStamp.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStamp.html deleted file mode 100644 index 3ab137ec..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStamp.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.DtStamp (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.DtStamp

    -
    - - - - - - - - - -
    -Packages that use DtStamp
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of DtStamp in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return DtStamp
    - DtStampVFreeBusy.getDateStamp() - -
    -           
    - DtStampVEvent.getDateStamp() - -
    -           
    - DtStampVJournal.getDateStamp() - -
    -           
    - DtStampVToDo.getDateStamp() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStart.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStart.html deleted file mode 100644 index bffb9628..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStart.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.DtStart (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.DtStart

    -
    - - - - - - - - - -
    -Packages that use DtStart
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of DtStart in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return DtStart
    - DtStartObservance.getStartDate() - -
    -          Returns the mandatory dtstart property.
    - DtStartVFreeBusy.getStartDate() - -
    -           
    - DtStartVEvent.getStartDate() - -
    -          Convenience method to pull the DTSTART out of the property list.
    - DtStartVJournal.getStartDate() - -
    -          Convenience method to pull the DTSTART out of the property list.
    - DtStartVToDo.getStartDate() - -
    -          Convenience method to pull the DTSTART out of the property list.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Due.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Due.html deleted file mode 100644 index e3a03c5b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Due.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Due (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Due

    -
    - - - - - - - - - -
    -Packages that use Due
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Due in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Due
    - DueVToDo.getDue() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Duration.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Duration.html deleted file mode 100644 index d3880d2a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Duration.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Duration (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Duration

    -
    - - - - - - - - - -
    -Packages that use Duration
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Duration in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Duration
    - DurationVFreeBusy.getDuration() - -
    -           
    - DurationVEvent.getDuration() - -
    -           
    - DurationVToDo.getDuration() - -
    -           
    - DurationVAlarm.getDuration() - -
    -          Returns the optional duration property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExDate.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExDate.html deleted file mode 100644 index d8acf722..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExDate.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.ExDate (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.ExDate

    -
    -No usage of net.fortuna.ical4j.model.property.ExDate -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExRule.html deleted file mode 100644 index 116e033f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExRule.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.ExRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.ExRule

    -
    -No usage of net.fortuna.ical4j.model.property.ExRule -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExtendedAddress.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExtendedAddress.html deleted file mode 100644 index 1b55a9cf..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExtendedAddress.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.ExtendedAddress (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.ExtendedAddress

    -
    -No usage of net.fortuna.ical4j.model.property.ExtendedAddress -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/FreeBusy.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/FreeBusy.html deleted file mode 100644 index f58ca589..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/FreeBusy.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.FreeBusy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.FreeBusy

    -
    -No usage of net.fortuna.ical4j.model.property.FreeBusy -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Geo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Geo.html deleted file mode 100644 index 945a50d4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Geo.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Geo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Geo

    -
    - - - - - - - - - -
    -Packages that use Geo
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Geo in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Geo
    - GeoVEvent.getGeographicPos() - -
    -           
    - GeoVToDo.getGeographicPos() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LastModified.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LastModified.html deleted file mode 100644 index 673d4e78..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LastModified.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.LastModified (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.LastModified

    -
    - - - - - - - - - -
    -Packages that use LastModified
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of LastModified in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return LastModified
    - LastModifiedVEvent.getLastModified() - -
    -           
    - LastModifiedVJournal.getLastModified() - -
    -           
    - LastModifiedVToDo.getLastModified() - -
    -           
    - LastModifiedVTimeZone.getLastModified() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Locality.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Locality.html deleted file mode 100644 index 937e4bd6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Locality.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Locality (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Locality

    -
    -No usage of net.fortuna.ical4j.model.property.Locality -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Location.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Location.html deleted file mode 100644 index 4cb19cbe..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Location.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Location (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Location

    -
    - - - - - - - - - -
    -Packages that use Location
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Location in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Location
    - LocationVEvent.getLocation() - -
    -           
    - LocationVToDo.getLocation() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LocationType.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LocationType.html deleted file mode 100644 index 69f9f79d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LocationType.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.LocationType (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.LocationType

    -
    -No usage of net.fortuna.ical4j.model.property.LocationType -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Method.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Method.html deleted file mode 100644 index 604fc24c..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Method.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Method (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Method

    -
    - - - - - - - - - - - - - - - - - -
    -Packages that use Method
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Method in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Method
    - MethodCalendar.getMethod() - -
    -          Returns the optional method property.
    -  -

    - - - - - -
    -Uses of Method in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component with parameters of type Method
    -protected  ValidatorVFreeBusy.getValidator(Method method) - -
    -          
    -protected  ValidatorVAvailability.getValidator(Method method) - -
    -          
    -protected  ValidatorXComponent.getValidator(Method method) - -
    -          
    -protected abstract  ValidatorCalendarComponent.getValidator(Method method) - -
    -           
    -protected  ValidatorVEvent.getValidator(Method method) - -
    -          
    -protected  ValidatorVJournal.getValidator(Method method) - -
    -          
    -protected  ValidatorVToDo.getValidator(Method method) - -
    -          
    -protected  ValidatorVVenue.getValidator(Method method) - -
    -          
    -protected  ValidatorVAlarm.getValidator(Method method) - -
    -          
    -protected  ValidatorVTimeZone.getValidator(Method method) - -
    -          
    - voidCalendarComponent.validate(Method method) - -
    -          Performs method-specific ITIP validation.
    -  -

    - - - - - -
    -Uses of Method in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as Method
    -static MethodMethod.ADD - -
    -          Add one or more instances to an existing VEVENT, VTODO, or VJOURNAL.
    -static MethodMethod.CANCEL - -
    -          Cancel one or more instances of an existing VEVENT, VTODO, or VJOURNAL.
    -static MethodMethod.COUNTER - -
    -          The Counter method is used by an "Attendee" to negotiate a change in the calendar entry.
    -static MethodMethod.DECLINE_COUNTER - -
    -          Used by the "Organizer" to decline the proposed counter-proprosal.
    -static MethodMethod.PUBLISH - -
    -          Used to publish a calendar entry to one or more Calendar Users.
    -static MethodMethod.REFRESH - -
    -          The Refresh method is used by an "Attendee" to request the latest version of a calendar entry.
    -static MethodMethod.REPLY - -
    -          A Reply is used in response to a Request to convey "Attendee" status to the "Organizer".
    -static MethodMethod.REQUEST - -
    -          Used to schedule a calendar entry with other Calendar Users.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Name.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Name.html deleted file mode 100644 index 6887e9aa..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Name.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Name (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Name

    -
    -No usage of net.fortuna.ical4j.model.property.Name -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Organizer.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Organizer.html deleted file mode 100644 index 39791e41..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Organizer.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Organizer (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Organizer

    -
    - - - - - - - - - -
    -Packages that use Organizer
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Organizer in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Organizer
    - OrganizerVFreeBusy.getOrganizer() - -
    -           
    - OrganizerVEvent.getOrganizer() - -
    -           
    - OrganizerVJournal.getOrganizer() - -
    -           
    - OrganizerVToDo.getOrganizer() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/PercentComplete.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/PercentComplete.html deleted file mode 100644 index 7edbb84a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/PercentComplete.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.PercentComplete (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.PercentComplete

    -
    - - - - - - - - - -
    -Packages that use PercentComplete
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of PercentComplete in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return PercentComplete
    - PercentCompleteVToDo.getPercentComplete() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Postalcode.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Postalcode.html deleted file mode 100644 index 8b4625ce..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Postalcode.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Postalcode (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Postalcode

    -
    -No usage of net.fortuna.ical4j.model.property.Postalcode -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Priority.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Priority.html deleted file mode 100644 index 4ba0b4bf..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Priority.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Priority (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Priority

    -
    - - - - - - - - - - - - - -
    -Packages that use Priority
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Priority in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Priority
    - PriorityVEvent.getPriority() - -
    -           
    - PriorityVToDo.getPriority() - -
    -           
    -  -

    - - - - - -
    -Uses of Priority in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as Priority
    -static PriorityPriority.HIGH - -
    -          High priority.
    -static PriorityPriority.LOW - -
    -          Low priority.
    -static PriorityPriority.MEDIUM - -
    -          Medium priority.
    -static PriorityPriority.UNDEFINED - -
    -          Undefined priority.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ProdId.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ProdId.html deleted file mode 100644 index 3f22c303..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ProdId.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.ProdId (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.ProdId

    -
    - - - - - - - - - -
    -Packages that use ProdId
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    -  -

    - - - - - -
    -Uses of ProdId in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return ProdId
    - ProdIdCalendar.getProductId() - -
    -          Returns the mandatory prodid property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RDate.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RDate.html deleted file mode 100644 index 3ee12d03..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RDate.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.RDate (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.RDate

    -
    -No usage of net.fortuna.ical4j.model.property.RDate -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RRule.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RRule.html deleted file mode 100644 index 6925d383..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RRule.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.RRule (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.RRule

    -
    -No usage of net.fortuna.ical4j.model.property.RRule -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RecurrenceId.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RecurrenceId.html deleted file mode 100644 index 9624da04..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RecurrenceId.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.RecurrenceId (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.RecurrenceId

    -
    - - - - - - - - - -
    -Packages that use RecurrenceId
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of RecurrenceId in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return RecurrenceId
    - RecurrenceIdVEvent.getRecurrenceId() - -
    -           
    - RecurrenceIdVJournal.getRecurrenceId() - -
    -           
    - RecurrenceIdVToDo.getRecurrenceId() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Region.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Region.html deleted file mode 100644 index d020450e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Region.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Region (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Region

    -
    -No usage of net.fortuna.ical4j.model.property.Region -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RelatedTo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RelatedTo.html deleted file mode 100644 index fc10fccd..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RelatedTo.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.RelatedTo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.RelatedTo

    -
    -No usage of net.fortuna.ical4j.model.property.RelatedTo -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Repeat.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Repeat.html deleted file mode 100644 index 6cb93f9e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Repeat.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Repeat (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Repeat

    -
    - - - - - - - - - -
    -Packages that use Repeat
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Repeat in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Repeat
    - RepeatVAlarm.getRepeat() - -
    -          Returns the optional repeat property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RequestStatus.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RequestStatus.html deleted file mode 100644 index 7d801738..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RequestStatus.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.RequestStatus (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.RequestStatus

    -
    -No usage of net.fortuna.ical4j.model.property.RequestStatus -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Resources.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Resources.html deleted file mode 100644 index ffd63b90..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Resources.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Resources (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Resources

    -
    -No usage of net.fortuna.ical4j.model.property.Resources -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Sequence.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Sequence.html deleted file mode 100644 index 46ea20d1..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Sequence.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Sequence (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Sequence

    -
    - - - - - - - - - -
    -Packages that use Sequence
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Sequence in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Sequence
    - SequenceVEvent.getSequence() - -
    -           
    - SequenceVJournal.getSequence() - -
    -           
    - SequenceVToDo.getSequence() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Status.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Status.html deleted file mode 100644 index cc0e26c4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Status.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Status (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Status

    -
    - - - - - - - - - - - - - -
    -Packages that use Status
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Status in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Status
    - StatusVEvent.getStatus() - -
    -           
    - StatusVJournal.getStatus() - -
    -           
    - StatusVToDo.getStatus() - -
    -           
    -  -

    - - - - - -
    -Uses of Status in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as Status
    -static StatusStatus.VEVENT_CANCELLED - -
    -          Cancelled VEVENT status.
    -static StatusStatus.VEVENT_CONFIRMED - -
    -          Confirmed VEVENT status.
    -static StatusStatus.VEVENT_TENTATIVE - -
    -          Tentative VEVENT status.
    -static StatusStatus.VJOURNAL_CANCELLED - -
    -          Cancelled VJOURNAL status.
    -static StatusStatus.VJOURNAL_DRAFT - -
    -          Draft VJOURNAL status.
    -static StatusStatus.VJOURNAL_FINAL - -
    -          Final VJOURNAL status.
    -static StatusStatus.VTODO_CANCELLED - -
    -          Cancelled VTODO status.
    -static StatusStatus.VTODO_COMPLETED - -
    -          Completed VTODO status.
    -static StatusStatus.VTODO_IN_PROCESS - -
    -          In-process VTODO status.
    -static StatusStatus.VTODO_NEEDS_ACTION - -
    -          Tentative VTODO status.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/StreetAddress.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/StreetAddress.html deleted file mode 100644 index ac89b239..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/StreetAddress.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.StreetAddress (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.StreetAddress

    -
    -No usage of net.fortuna.ical4j.model.property.StreetAddress -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Summary.html deleted file mode 100644 index 0140b4b8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Summary.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Summary (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Summary

    -
    - - - - - - - - - -
    -Packages that use Summary
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Summary in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Summary
    - SummaryVEvent.getSummary() - -
    -           
    - SummaryVJournal.getSummary() - -
    -           
    - SummaryVToDo.getSummary() - -
    -           
    - SummaryVAlarm.getSummary() - -
    -          Returns the optional summary property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Tel.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Tel.html deleted file mode 100644 index efdac962..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Tel.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Tel (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Tel

    -
    -No usage of net.fortuna.ical4j.model.property.Tel -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Transp.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Transp.html deleted file mode 100644 index d271d104..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Transp.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Transp (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Transp

    -
    - - - - - - - - - - - - - -
    -Packages that use Transp
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Transp in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Transp
    - TranspVEvent.getTransparency() - -
    -           
    -  -

    - - - - - -
    -Uses of Transp in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as Transp
    -static TranspTransp.OPAQUE - -
    -          Opaque.
    -static TranspTransp.TRANSPARENT - -
    -          Transparent.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Trigger.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Trigger.html deleted file mode 100644 index b66466d4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Trigger.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Trigger (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Trigger

    -
    - - - - - - - - - -
    -Packages that use Trigger
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Trigger in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Trigger
    - TriggerVAlarm.getTrigger() - -
    -          Returns the mandatory trigger property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzId.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzId.html deleted file mode 100644 index 7a65d6a0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzId.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.TzId (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.TzId

    -
    - - - - - - - - - -
    -Packages that use TzId
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of TzId in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return TzId
    - TzIdVTimeZone.getTimeZoneId() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzName.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzName.html deleted file mode 100644 index 2720f8c0..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzName.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.TzName (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.TzName

    -
    -No usage of net.fortuna.ical4j.model.property.TzName -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetFrom.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetFrom.html deleted file mode 100644 index f79e11f8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetFrom.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.TzOffsetFrom (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.TzOffsetFrom

    -
    - - - - - - - - - -
    -Packages that use TzOffsetFrom
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of TzOffsetFrom in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return TzOffsetFrom
    - TzOffsetFromObservance.getOffsetFrom() - -
    -          Returns the mandatory tzoffsetfrom property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetTo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetTo.html deleted file mode 100644 index 723af7b7..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetTo.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.TzOffsetTo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.TzOffsetTo

    -
    - - - - - - - - - -
    -Packages that use TzOffsetTo
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of TzOffsetTo in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return TzOffsetTo
    - TzOffsetToObservance.getOffsetTo() - -
    -          Returns the mandatory tzoffsetto property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzUrl.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzUrl.html deleted file mode 100644 index cdf65a37..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzUrl.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.TzUrl (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.TzUrl

    -
    - - - - - - - - - -
    -Packages that use TzUrl
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of TzUrl in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return TzUrl
    - TzUrlVTimeZone.getTimeZoneUrl() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Uid.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Uid.html deleted file mode 100644 index f160b439..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Uid.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Uid (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Uid

    -
    - - - - - - - - - - - - - -
    -Packages that use Uid
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of Uid in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Uid
    - UidVFreeBusy.getUid() - -
    -          Returns the UID property of this component if available.
    - UidVEvent.getUid() - -
    -          Returns the UID property of this component if available.
    - UidVJournal.getUid() - -
    -          Returns the UID property of this component if available.
    - UidVToDo.getUid() - -
    -          Returns the UID property of this component if available.
    -  -

    - - - - - -
    -Uses of Uid in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that return Uid
    - UidUidGenerator.generateUid() - -
    -           
    -static UidCalendars.getUid(Calendar calendar) - -
    -          Returns a unique identifier as specified by components in the provided calendar.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Url.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Url.html deleted file mode 100644 index 71c0bd97..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Url.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Url (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Url

    -
    - - - - - - - - - -
    -Packages that use Url
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    -  -

    - - - - - -
    -Uses of Url in net.fortuna.ical4j.model.component
    -  -

    - - - - - - - - - - - - - - - - - - - - - -
    Methods in net.fortuna.ical4j.model.component that return Url
    - UrlVFreeBusy.getUrl() - -
    -           
    - UrlVEvent.getUrl() - -
    -           
    - UrlVJournal.getUrl() - -
    -           
    - UrlVToDo.getUrl() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/UtcProperty.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/UtcProperty.html deleted file mode 100644 index d0617f81..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/UtcProperty.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.UtcProperty (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.UtcProperty

    -
    - - - - - - - - - -
    -Packages that use UtcProperty
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of UtcProperty in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subclasses of UtcProperty in net.fortuna.ical4j.model.property
    - classCompleted - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a COMPLETED iCalendar component property.
    - classCreated - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CREATED iCalendar component property.
    - classDtStamp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTAMP iCalendar component property.
    - classLastModified - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LAST-MODIFIED iCalendar component property.
    - classTrigger - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRIGGER iCalendar component property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Version.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Version.html deleted file mode 100644 index 69e2d238..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Version.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.Version (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.Version

    -
    - - - - - - - - - - - - - -
    -Packages that use Version
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    -  -

    - - - - - -
    -Uses of Version in net.fortuna.ical4j.model
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.model that return Version
    - VersionCalendar.getVersion() - -
    -          Returns the mandatory version property.
    -  -

    - - - - - -
    -Uses of Version in net.fortuna.ical4j.model.property
    -  -

    - - - - - - - - - -
    Fields in net.fortuna.ical4j.model.property declared as Version
    -static VersionVersion.VERSION_2_0 - -
    -          iCalendar version 2.0.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/XProperty.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/XProperty.html deleted file mode 100644 index 570b9a35..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/class-use/XProperty.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.model.property.XProperty (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.model.property.XProperty

    -
    -No usage of net.fortuna.ical4j.model.property.XProperty -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-frame.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-frame.html deleted file mode 100644 index 07bd34cb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-frame.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.property (iCal4j 1.0.4 API) - - - - - - - - - - - -net.fortuna.ical4j.model.property - - - - -
    -Classes  - -
    -Action -
    -Attach -
    -Attendee -
    -BusyType -
    -CalScale -
    -Categories -
    -Clazz -
    -Comment -
    -Completed -
    -Contact -
    -Country -
    -Created -
    -DateListProperty -
    -DateProperty -
    -Description -
    -DtEnd -
    -DtStamp -
    -DtStart -
    -Due -
    -Duration -
    -ExDate -
    -ExRule -
    -ExtendedAddress -
    -FreeBusy -
    -Geo -
    -LastModified -
    -Locality -
    -Location -
    -LocationType -
    -Method -
    -Name -
    -Organizer -
    -PercentComplete -
    -Postalcode -
    -Priority -
    -ProdId -
    -RDate -
    -RecurrenceId -
    -Region -
    -RelatedTo -
    -Repeat -
    -RequestStatus -
    -Resources -
    -RRule -
    -Sequence -
    -Status -
    -StreetAddress -
    -Summary -
    -Tel -
    -Transp -
    -Trigger -
    -TzId -
    -TzName -
    -TzOffsetFrom -
    -TzOffsetTo -
    -TzUrl -
    -Uid -
    -Url -
    -UtcProperty -
    -Version -
    -XProperty
    - - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-summary.html deleted file mode 100644 index 24b4915b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-summary.html +++ /dev/null @@ -1,657 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.property (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package net.fortuna.ical4j.model.property -

    -Contains types used to represent the iCalendar property model. -

    -See: -
    -          Description -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    Action$Id$ - - Created: [Apr 6, 2004] - - Defines an ACTION iCalendar component property.
    Attach$Id$ - - Created: [Apr 6, 2004] - - Defines an ATTACH iCalendar component property.
    Attendee$Id$ - - Created: [Apr 6, 2004] - - Defines an ATTENDEE iCalendar component property.
    BusyType$Id$ - - Created: [Apr 6, 2004] - - Defines a BUSYTYPE iCalendar component property.
    CalScale$Id$ - - Created: [Apr 6, 2004] - - Defines a CALSCALE iCalendar property.
    Categories$Id$ - - Created: [Apr 6, 2004] - - Defines a CATEGORIES iCalendar component property.
    Clazz$Id$ - - Created: [Apr 6, 2004] - - Defines a CLASS iCalendar property.
    Comment$Id$ - - Created: [Apr 6, 2004] - - Defines a COMMENT iCalendar component property.
    Completed$Id$ - - Created: [Apr 6, 2004] - - Defines a COMPLETED iCalendar component property.
    Contact$Id$ - - Created: [Apr 6, 2004] - - Defines a CONTACT iCalendar component property.
    Country$Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    Created$Id$ - - Created: [Apr 6, 2004] - - Defines a CREATED iCalendar component property.
    DateListProperty$Id$ - - Created on 11/08/2005 - - Base class for properties with a list of dates as a value.
    DateProperty$Id$ - - Created on 9/07/2005 - - Base class for properties with a DATE or DATE-TIME value.
    Description$Id$ - - Created: [Apr 6, 2004] - - Defines a DESCRIPTION iCalendar component property.
    DtEnd$Id$ - - Created: [Apr 6, 2004] - - Defines a DTEND iCalendar component property.
    DtStamp$Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTAMP iCalendar component property.
    DtStart$Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTART iCalendar component property.
    Due$Id$ - - Created: [Apr 6, 2004] - - Defines a DUE iCalendar component property.
    Duration$Id$ - - Created: [Apr 6, 2004] - - Defines a DURATION iCalendar component property.
    ExDate$Id$ - - Created: [Apr 6, 2004] - - Defines a EXDATE iCalendar component property.
    ExRule$Id$ - - Created: [Apr 6, 2004] - - Defines a EXRULE iCalendar component property.
    ExtendedAddress$Id$ - - Created: [Apr 6, 2004] - - Defines a EXTENDED_ADDRESS iCalendar component property.
    FreeBusy$Id$ - - Created: [Apr 14, 2004] - - Defines a FREEBUSY iCalendar component property.
    Geo$Id$ - - Created: [Apr 6, 2004] - - Defines a GEO iCalendar component property.
    LastModified$Id$ - - Created: [Apr 6, 2004] - - Defines a LAST-MODIFIED iCalendar component property.
    Locality$Id$ - - Created: [Apr 6, 2004] - - Defines a LOCALITY iCalendar component property.
    Location$Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION iCalendar component property.
    LocationType$Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION_TYPE iCalendar component property.
    Method$Id$ - - Created: [Apr 6, 2004] - - Defines a METHOD iCalendar property.
    Name$Id$ - - Created: [Apr 6, 2004] - - Defines a NAME iCalendar component property.
    Organizer$Id$ - - Created: [Apr 6, 2004] - - Defines an ORGANIZER iCalendar component property.
    PercentComplete$Id$ - - Created: [Apr 6, 2004] - - Defines a PERCENT-COMPLETE iCalendar component property.
    Postalcode$Id$ - - Created: [Apr 6, 2004] - - Defines a POSTALCODE iCalendar component property.
    Priority$Id$ - - Created: [Apr 6, 2004] - - Defines a PRIORITY iCalendar component property.
    ProdId$Id$ - - Created: [Apr 6, 2004] - - Defines a PRODID iCalendar property.
    RDate$Id$ - - Created: [Apr 6, 2004] - - Defines an RDATE iCalendar component property.
    RecurrenceId$Id$ - - Created: [Apr 6, 2004] - - Defines a RECURRENCE-ID iCalendar component property.
    Region$Id$ - - Created: [Apr 6, 2004] - - Defines a REGION iCalendar component property.
    RelatedTo$Id$ - - Created: [Apr 6, 2004] - - Defines a RELATED-TO iCalendar component property.
    Repeat$Id$ - - Created: [Apr 6, 2004] - - Defines a REPEAT iCalendar component property.
    RequestStatus$Id$ - - Created: [Apr 6, 2004] - - Defines a REQUEST-STATUS iCalendar component property.
    Resources$Id$ - - Created: [Apr 6, 2004] - - Defines a RESOURCES iCalendar component property.
    RRule$Id$ - - Created: [Apr 6, 2004] - - Defines an RRULE iCalendar component property.
    Sequence$Id$ - - Created: [Apr 6, 2004] - - Defines a SEQUENCE iCalendar component property.
    Status$Id$ - - Created: [Apr 6, 2004] - - Defines a STATUS iCalendar component property.
    StreetAddress$Id$ - - Created: [Apr 6, 2004] - - Defines a STREET_ADDRESS iCalendar component property.
    Summary$Id$ - - Created: [Apr 6, 2004] - - Defines a SUMMARY iCalendar component property.
    Tel$Id$ - - Created: [Apr 6, 2004] - - Defines a TEL iCalendar component property.
    Transp$Id$ - - Created: [Apr 6, 2004] - - Defines a TRANSP iCalendar component property.
    Trigger$Id$ - - Created: [Apr 6, 2004] - - Defines a TRIGGER iCalendar component property.
    TzId$Id$ - - Created: [Apr 6, 2004] - - Defines a TZID iCalendar component property.
    TzName$Id$ - - Created: [Apr 6, 2004] - - Defines a TZNAME iCalendar component property.
    TzOffsetFrom$Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETFROM iCalendar component property.
    TzOffsetTo$Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETTO iCalendar component property.
    TzUrl$Id$ - - Created: [Apr 6, 2004] - - Defines a TZURL iCalendar component property.
    Uid$Id$ - - Created: [Apr 6, 2004] - - Defines a UID iCalendar component property.
    Url$Id$ - - Created: [Apr 6, 2004] - - Defines a URL iCalendar component property.
    UtcProperty$Id$ - - Created on 8/08/2005 - - Superclass for all properties with date-time values that must be specified in UTC time.
    Version$Id$ - - Created: [Apr 6, 2004] - - Defines a VERSION iCalendar property.
    XProperty$Id$ - - Created: [15/06/2004] - - Defines an extension property.
    -  - -

    -

    -Package net.fortuna.ical4j.model.property Description -

    - -

    -Contains types used to represent the iCalendar property model. -

    - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-tree.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-tree.html deleted file mode 100644 index 95c99db4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-tree.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -net.fortuna.ical4j.model.property Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package net.fortuna.ical4j.model.property -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    -
      -
    • java.lang.Object
        -
      • net.fortuna.ical4j.model.Content (implements java.io.Serializable) -
          -
        • net.fortuna.ical4j.model.Property
            -
          • net.fortuna.ical4j.model.property.Action
          • net.fortuna.ical4j.model.property.Attach
          • net.fortuna.ical4j.model.property.Attendee
          • net.fortuna.ical4j.model.property.BusyType
          • net.fortuna.ical4j.model.property.CalScale
          • net.fortuna.ical4j.model.property.Categories
          • net.fortuna.ical4j.model.property.Clazz
          • net.fortuna.ical4j.model.property.Comment (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Contact (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Country (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.DateListProperty
              -
            • net.fortuna.ical4j.model.property.ExDate
            • net.fortuna.ical4j.model.property.RDate
            -
          • net.fortuna.ical4j.model.property.DateProperty
              -
            • net.fortuna.ical4j.model.property.DtEnd
            • net.fortuna.ical4j.model.property.DtStart
            • net.fortuna.ical4j.model.property.Due
            • net.fortuna.ical4j.model.property.RecurrenceId
            • net.fortuna.ical4j.model.property.UtcProperty
                -
              • net.fortuna.ical4j.model.property.Completed
              • net.fortuna.ical4j.model.property.Created
              • net.fortuna.ical4j.model.property.DtStamp
              • net.fortuna.ical4j.model.property.LastModified
              • net.fortuna.ical4j.model.property.Trigger
              -
            -
          • net.fortuna.ical4j.model.property.Description (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Duration
          • net.fortuna.ical4j.model.property.ExRule
          • net.fortuna.ical4j.model.property.ExtendedAddress (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.FreeBusy
          • net.fortuna.ical4j.model.property.Geo
          • net.fortuna.ical4j.model.property.Locality (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Location (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.LocationType
          • net.fortuna.ical4j.model.property.Method
          • net.fortuna.ical4j.model.property.Name (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Organizer
          • net.fortuna.ical4j.model.property.PercentComplete
          • net.fortuna.ical4j.model.property.Postalcode (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Priority
          • net.fortuna.ical4j.model.property.ProdId (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Region (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.RelatedTo (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Repeat
          • net.fortuna.ical4j.model.property.RequestStatus
          • net.fortuna.ical4j.model.property.Resources
          • net.fortuna.ical4j.model.property.RRule
          • net.fortuna.ical4j.model.property.Sequence
          • net.fortuna.ical4j.model.property.Status
          • net.fortuna.ical4j.model.property.StreetAddress (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Summary (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Tel (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Transp
          • net.fortuna.ical4j.model.property.TzId (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.TzName (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.TzOffsetFrom
          • net.fortuna.ical4j.model.property.TzOffsetTo
          • net.fortuna.ical4j.model.property.TzUrl
          • net.fortuna.ical4j.model.property.Uid (implements net.fortuna.ical4j.model.Escapable) -
          • net.fortuna.ical4j.model.property.Url
          • net.fortuna.ical4j.model.property.Version
          • net.fortuna.ical4j.model.property.XProperty (implements net.fortuna.ical4j.model.Escapable) -
          -
        -
      -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-use.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-use.html deleted file mode 100644 index b4a4883b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/model/property/package-use.html +++ /dev/null @@ -1,694 +0,0 @@ - - - - - - - -Uses of Package net.fortuna.ical4j.model.property (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    net.fortuna.ical4j.model.property

    -
    - - - - - - - - - - - - - - - - - - - - - -
    -Packages that use net.fortuna.ical4j.model.property
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model. 
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model. 
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model. 
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.property used by net.fortuna.ical4j.model
    CalScale - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CALSCALE iCalendar property.
    Method - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a METHOD iCalendar property.
    ProdId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PRODID iCalendar property.
    Version - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a VERSION iCalendar property.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.property used by net.fortuna.ical4j.model.component
    Action - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ACTION iCalendar component property.
    Attach - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ATTACH iCalendar component property.
    Clazz - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CLASS iCalendar property.
    Completed - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a COMPLETED iCalendar component property.
    Contact - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CONTACT iCalendar component property.
    Created - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CREATED iCalendar component property.
    Description - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DESCRIPTION iCalendar component property.
    DtEnd - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTEND iCalendar component property.
    DtStamp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTAMP iCalendar component property.
    DtStart - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DTSTART iCalendar component property.
    Due - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DUE iCalendar component property.
    Duration - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a DURATION iCalendar component property.
    Geo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a GEO iCalendar component property.
    LastModified - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LAST-MODIFIED iCalendar component property.
    Location - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a LOCATION iCalendar component property.
    Method - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a METHOD iCalendar property.
    Organizer - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ORGANIZER iCalendar component property.
    PercentComplete - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PERCENT-COMPLETE iCalendar component property.
    Priority - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PRIORITY iCalendar component property.
    RecurrenceId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a RECURRENCE-ID iCalendar component property.
    Repeat - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a REPEAT iCalendar component property.
    Sequence - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a SEQUENCE iCalendar component property.
    Status - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a STATUS iCalendar component property.
    Summary - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a SUMMARY iCalendar component property.
    Transp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRANSP iCalendar component property.
    Trigger - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRIGGER iCalendar component property.
    TzId - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZID iCalendar component property.
    TzOffsetFrom - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETFROM iCalendar component property.
    TzOffsetTo - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZOFFSETTO iCalendar component property.
    TzUrl - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TZURL iCalendar component property.
    Uid - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a UID iCalendar component property.
    Url - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a URL iCalendar component property.
    -  -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.property used by net.fortuna.ical4j.model.property
    Action - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines an ACTION iCalendar component property.
    BusyType - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a BUSYTYPE iCalendar component property.
    CalScale - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CALSCALE iCalendar property.
    Clazz - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a CLASS iCalendar property.
    DateListProperty - -
    -          $Id$ - - Created on 11/08/2005 - - Base class for properties with a list of dates as a value.
    DateProperty - -
    -          $Id$ - - Created on 9/07/2005 - - Base class for properties with a DATE or DATE-TIME value.
    Method - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a METHOD iCalendar property.
    Priority - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a PRIORITY iCalendar component property.
    Status - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a STATUS iCalendar component property.
    Transp - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a TRANSP iCalendar component property.
    UtcProperty - -
    -          $Id$ - - Created on 8/08/2005 - - Superclass for all properties with date-time values that must be specified in UTC time.
    Version - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a VERSION iCalendar property.
    -  -

    - - - - - - - - -
    -Classes in net.fortuna.ical4j.model.property used by net.fortuna.ical4j.util
    Uid - -
    -          $Id$ - - Created: [Apr 6, 2004] - - Defines a UID iCalendar component property.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/PublishTransformer.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/PublishTransformer.html deleted file mode 100644 index 1623cabf..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/PublishTransformer.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - -PublishTransformer (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.transform -
    -Class PublishTransformer

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.transform.Transformer
    -      extended by net.fortuna.ical4j.transform.PublishTransformer
    -
    -
    -
    -
    public class PublishTransformer
    extends Transformer
    - - -

    -$Id$ - - Created: 26/09/2004 - - Transforms a calendar for publishing. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    PublishTransformer() - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - Calendartransform(Calendar calendar) - -
    -          Transforms the specified calendar according to the implementation of this method.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.transform.Transformer
    transform
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -PublishTransformer

    -
    -public PublishTransformer()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -transform

    -
    -public final Calendar transform(Calendar calendar)
    -
    -
    Transforms the specified calendar according to the implementation of this method. By definition this method will - modify the existing calendar instance and return it for convenience. -

    -

    -
    Specified by:
    transform in class Transformer
    -
    -
    -
    Parameters:
    calendar - a calendar to transform -
    Returns:
    a transformed calendar
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/Transformer.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/Transformer.html deleted file mode 100644 index b19666fb..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/Transformer.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - -Transformer (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.transform -
    -Class Transformer

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.transform.Transformer
    -
    -
    -
    Direct Known Subclasses:
    PublishTransformer
    -
    -
    -
    -
    public abstract class Transformer
    extends Object
    - - -

    -$Id$ - - Created: 23/09/2004 - - Base class of calendar transformations. -

    - -

    -

    -
    Author:
    -
    benfortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    Transformer() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -abstract  Calendartransform(Calendar calendar) - -
    -          Transforms the specified calendar according to the implementation of this method.
    - Calendartransform(Component component) - -
    -          Transforms the specified component according to the transformer implementation.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -Transformer

    -
    -public Transformer()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -transform

    -
    -public abstract Calendar transform(Calendar calendar)
    -
    -
    Transforms the specified calendar according to the implementation of this method. By definition this method will - modify the existing calendar instance and return it for convenience. -

    -

    -
    Parameters:
    calendar - a calendar to transform -
    Returns:
    a transformed calendar
    -
    -
    -
    - -

    -transform

    -
    -public final Calendar transform(Component component)
    -
    -
    Transforms the specified component according to the transformer implementation. -

    -

    -
    Parameters:
    component - a component to transform -
    Returns:
    a calendar containing the transformed component
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/class-use/PublishTransformer.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/class-use/PublishTransformer.html deleted file mode 100644 index fb4a52e5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/class-use/PublishTransformer.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.transform.PublishTransformer (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.transform.PublishTransformer

    -
    -No usage of net.fortuna.ical4j.transform.PublishTransformer -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/class-use/Transformer.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/class-use/Transformer.html deleted file mode 100644 index 0b8e2ed5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/class-use/Transformer.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.transform.Transformer (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.transform.Transformer

    -
    - - - - - - - - - -
    -Packages that use Transformer
    net.fortuna.ical4j.transformContains types used to transform an iCalendar component model according to RFC2446. 
    -  -

    - - - - - -
    -Uses of Transformer in net.fortuna.ical4j.transform
    -  -

    - - - - - - - - - -
    Subclasses of Transformer in net.fortuna.ical4j.transform
    - classPublishTransformer - -
    -          $Id$ - - Created: 26/09/2004 - - Transforms a calendar for publishing.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-frame.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-frame.html deleted file mode 100644 index e2ff4794..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-frame.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -net.fortuna.ical4j.transform (iCal4j 1.0.4 API) - - - - - - - - - - - -net.fortuna.ical4j.transform - - - - -
    -Classes  - -
    -PublishTransformer -
    -Transformer
    - - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-summary.html deleted file mode 100644 index a4044bd2..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-summary.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - -net.fortuna.ical4j.transform (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package net.fortuna.ical4j.transform -

    -Contains types used to transform an iCalendar component model according to RFC2446. -

    -See: -
    -          Description -

    - - - - - - - - - - - - - -
    -Class Summary
    PublishTransformer$Id$ - - Created: 26/09/2004 - - Transforms a calendar for publishing.
    Transformer$Id$ - - Created: 23/09/2004 - - Base class of calendar transformations.
    -  - -

    -

    -Package net.fortuna.ical4j.transform Description -

    - -

    -Contains types used to transform an iCalendar component model according to RFC2446. -

    - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-tree.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-tree.html deleted file mode 100644 index cae040df..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-tree.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - -net.fortuna.ical4j.transform Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package net.fortuna.ical4j.transform -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-use.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-use.html deleted file mode 100644 index b726f5cc..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/transform/package-use.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - -Uses of Package net.fortuna.ical4j.transform (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    net.fortuna.ical4j.transform

    -
    - - - - - - - - - -
    -Packages that use net.fortuna.ical4j.transform
    net.fortuna.ical4j.transformContains types used to transform an iCalendar component model according to RFC2446. 
    -  -

    - - - - - - - - -
    -Classes in net.fortuna.ical4j.transform used by net.fortuna.ical4j.transform
    Transformer - -
    -          $Id$ - - Created: 23/09/2004 - - Base class of calendar transformations.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Calendars.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Calendars.html deleted file mode 100644 index 6321b8d6..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Calendars.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - -Calendars (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class Calendars

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.Calendars
    -
    -
    -
    -
    public final class Calendars
    extends Object
    - - -

    -$Id$ - - Created on 10/11/2006 - - Utility method for working with Calendars. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static StringgetContentType(Calendar calendar, - Charset charset) - -
    -          Returns an appropriate MIME Content-Type for the specified calendar object.
    -static UidgetUid(Calendar calendar) - -
    -          Returns a unique identifier as specified by components in the provided calendar.
    -static Calendarload(String filename) - -
    -          Loads a calendar from the specified file.
    -static Calendarload(URL url) - -
    -          Loads a calendar from the specified URL.
    -static Calendarmerge(Calendar c1, - Calendar c2) - -
    -          Merge all properties and components from two specified calendars into one instance.
    -static Calendar[]split(Calendar calendar) - -
    -          Splits a calendar object into distinct calendar objects for unique - identifers (UID).
    -static Calendarwrap(Component component) - -
    -          Wraps a component in a calendar.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -load

    -
    -public static Calendar load(String filename)
    -                     throws IOException,
    -                            ParserException
    -
    -
    Loads a calendar from the specified file. -

    -

    -
    Parameters:
    filename - the name of the file from which to load calendar data -
    Returns:
    returns a new calendar instance initialised from the specified file -
    Throws: -
    IOException - occurs when there is an error reading the specified file -
    ParserException - occurs when the data in the specified file is invalid
    -
    -
    -
    - -

    -load

    -
    -public static Calendar load(URL url)
    -                     throws IOException,
    -                            ParserException
    -
    -
    Loads a calendar from the specified URL. -

    -

    -
    Parameters:
    url - the URL from which to load calendar data -
    Returns:
    returns a new calendar instance initialised from the specified URL -
    Throws: -
    IOException - occurs when there is an error reading from the specified URL -
    ParserException - occurs when the data in the specified URL is invalid
    -
    -
    -
    - -

    -merge

    -
    -public static Calendar merge(Calendar c1,
    -                             Calendar c2)
    -
    -
    Merge all properties and components from two specified calendars into one instance. - Note that the merge process is not very sophisticated, and may result in invalid calendar - data (e.g. multiple properties of a type that should only be specified once). -

    -

    -
    Parameters:
    c1 - the first calendar to merge
    c2 - the second calendar to merge -
    Returns:
    a Calendar instance containing all properties and components from both of the specified calendars
    -
    -
    -
    - -

    -wrap

    -
    -public static Calendar wrap(Component component)
    -
    -
    Wraps a component in a calendar. -

    -

    -
    Parameters:
    component - the component to wrap with a calendar -
    Returns:
    a calendar containing the specified component
    -
    -
    -
    - -

    -split

    -
    -public static Calendar[] split(Calendar calendar)
    -
    -
    Splits a calendar object into distinct calendar objects for unique - identifers (UID). -

    -

    -
    Parameters:
    calendar - a calendar instance -
    Returns:
    an array of calendar objects
    -
    -
    -
    - -

    -getUid

    -
    -public static Uid getUid(Calendar calendar)
    -                  throws ConstraintViolationException
    -
    -
    Returns a unique identifier as specified by components in the provided calendar. -

    -

    -
    Parameters:
    calendar - a calendar instance -
    Returns:
    the UID property -
    Throws: -
    ConstraintViolationException - if zero or more than one unique identifer is found in the specified calendar
    -
    -
    -
    - -

    -getContentType

    -
    -public static String getContentType(Calendar calendar,
    -                                    Charset charset)
    -
    -
    Returns an appropriate MIME Content-Type for the specified calendar object. -

    -

    -
    Parameters:
    calendar - a calendar instance
    charset - an optional encoding -
    Returns:
    a content type string
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html deleted file mode 100644 index 91fcf890..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - -CompatibilityHints (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class CompatibilityHints

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.CompatibilityHints
    -
    -
    -
    -
    public final class CompatibilityHints
    extends Object
    - - -

    -$Id$ - - Created on 9/03/2006 - - A set of keys used to enable compatibility features. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringKEY_NOTES_COMPATIBILITY - -
    -          A system property key used to enable compatibility with Lotus Notes-generated iCalendar files.
    -static StringKEY_OUTLOOK_COMPATIBILITY - -
    -          A system property key used to enable compatibility with Outlook/Exchange-generated iCalendar files.
    -static StringKEY_RELAXED_PARSING - -
    -          A system property key to enable relaxed parsing.
    -static StringKEY_RELAXED_UNFOLDING - -
    -          A system property key to enable relaxed unfolding.
    -static StringKEY_RELAXED_VALIDATION - -
    -          A system property key to enable relaxed validation.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static voidclearHintEnabled(String key) - -
    -           
    -static booleanisHintEnabled(String key) - -
    -           
    -static voidsetHintEnabled(String key, - boolean enabled) - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -KEY_RELAXED_UNFOLDING

    -
    -public static final String KEY_RELAXED_UNFOLDING
    -
    -
    A system property key to enable relaxed unfolding. Relaxed unfolding is enabled by setting this system property - to "true". -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -KEY_RELAXED_PARSING

    -
    -public static final String KEY_RELAXED_PARSING
    -
    -
    A system property key to enable relaxed parsing. Relaxed parsing is enabled by setting this system property to - "true". -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -KEY_RELAXED_VALIDATION

    -
    -public static final String KEY_RELAXED_VALIDATION
    -
    -
    A system property key to enable relaxed validation. Relaxed validation disables validation of certain conformance - rules that many iCalendar implementations do not conform to. Relaxed validation is enabled by setting this system - property to "true". -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -KEY_OUTLOOK_COMPATIBILITY

    -
    -public static final String KEY_OUTLOOK_COMPATIBILITY
    -
    -
    A system property key used to enable compatibility with Outlook/Exchange-generated iCalendar files. Outlook - compatibility is enabled by setting this system property to "true". -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -KEY_NOTES_COMPATIBILITY

    -
    -public static final String KEY_NOTES_COMPATIBILITY
    -
    -
    A system property key used to enable compatibility with Lotus Notes-generated iCalendar files. Notes - compatibility is enabled by setting this system property to "true". -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Method Detail
    - -

    -setHintEnabled

    -
    -public static void setHintEnabled(String key,
    -                                  boolean enabled)
    -
    -
    -
    Parameters:
    key - a compatibility hint key
    enabled - indicates whether to enable or disable the compatibility hint
    -
    -
    -
    - -

    -clearHintEnabled

    -
    -public static void clearHintEnabled(String key)
    -
    -
    -
    Parameters:
    key - a compatibility hint key
    -
    -
    -
    - -

    -isHintEnabled

    -
    -public static boolean isHintEnabled(String key)
    -
    -
    -
    Parameters:
    key - a compatibility hint key -
    Returns:
    true if the specified compatibility hint is enabled, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ComponentValidator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ComponentValidator.html deleted file mode 100644 index e7243644..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ComponentValidator.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - -ComponentValidator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class ComponentValidator

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.ComponentValidator
    -
    -
    -
    -
    public final class ComponentValidator
    extends Object
    - - -

    -

    -
    Author:
    -
    Ben
    -
    -
    - -

    - - - - - - - - - - - - - - - - -
    -Method Summary
    -static voidassertNone(String componentName, - ComponentList components) - -
    -           
    -static voidassertOneOrLess(String componentName, - ComponentList components) - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -assertNone

    -
    -public static void assertNone(String componentName,
    -                              ComponentList components)
    -                       throws ValidationException
    -
    -
    -
    Parameters:
    componentName - a component name used in the assertion
    components - a list of components -
    Throws: -
    ValidationException - where the assertion fails
    -
    -
    -
    - -

    -assertOneOrLess

    -
    -public static void assertOneOrLess(String componentName,
    -                                   ComponentList components)
    -                            throws ValidationException
    -
    -
    -
    Parameters:
    componentName - a component name used in the assertion
    components - a list of components -
    Throws: -
    ValidationException - where the assertion fails
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Configurator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Configurator.html deleted file mode 100644 index 3d09c18a..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Configurator.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - -Configurator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class Configurator

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.Configurator
    -
    -
    -
    -
    public final class Configurator
    extends Object
    - - -

    -$Id$ - - Created on 06/02/2008 - - Provides configuration properties specified either as system properties - or in an ical4j.properties configuration file. -

    - -

    -

    -
    Author:
    -
    Ben
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    -static StringgetProperty(String key) - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -getProperty

    -
    -public static String getProperty(String key)
    -
    -
    -
    Parameters:
    key - a compatibility hint key -
    Returns:
    true if the specified compatibility hint is enabled, otherwise false
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Constants.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Constants.html deleted file mode 100644 index b6bf2a31..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Constants.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - -Constants (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class Constants

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.Constants
    -
    -
    -
    -
    public final class Constants
    extends Object
    - - -

    -$Id$ - - Created on 5/07/2005 - - Provides some convenience methods for working with constant - parameters and properties. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    -static PropertyforProperty(Property property) - -
    -          Returns a constant equivalent to the specified property - if one is applicable.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -forProperty

    -
    -public static Property forProperty(Property property)
    -
    -
    Returns a constant equivalent to the specified property - if one is applicable. Otherwise will return the specified - property. -

    -

    -
    Parameters:
    property - a property instance -
    Returns:
    an equivalent constant property, or the specified property if no equivalent - constant exists
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Dates.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Dates.html deleted file mode 100644 index db98ca21..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Dates.html +++ /dev/null @@ -1,660 +0,0 @@ - - - - - - - -Dates (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class Dates

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.Dates
    -
    -
    -
    -
    public final class Dates
    extends Object
    - - -

    -$Id$ - - Created on 26/06/2005 - - Implements a collection of utility methods relevant to date processing. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static intDAYS_PER_WEEK - -
    -          Number of days in one week.
    -static intMAX_DAYS_PER_MONTH - -
    -          Maximum number of days per month.
    -static intMAX_DAYS_PER_YEAR - -
    -          Maximum number of days per year.
    -static intMAX_WEEKS_PER_YEAR - -
    -          Maximum number of weeks per year.
    -static longMILLIS_PER_DAY - -
    -          Number of milliseconds in one day.
    -static longMILLIS_PER_HOUR - -
    -          Number of milliseconds in one hour.
    -static longMILLIS_PER_MINUTE - -
    -          Number of milliseconds in one minute.
    -static longMILLIS_PER_SECOND - -
    -          Number of milliseconds in one second.
    -static longMILLIS_PER_WEEK - -
    -          Number of milliseconds in one week.
    -static intPRECISION_DAY - -
    -          Constant indicating precision to the day.
    -static intPRECISION_SECOND - -
    -          Constant indicating precision to the second.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static intgetAbsMonthDay(Date date, - int monthDay) - -
    -          Returns the absolute month day for the month specified by the - supplied date.
    -static intgetAbsWeekNo(Date date, - int weekNo) - -
    -          Returns the absolute week number for the year specified by the - supplied date.
    -static intgetAbsYearDay(Date date, - int yearDay) - -
    -          Returns the absolute year day for the year specified by the - supplied date.
    -static CalendargetCalendarInstance(Date date) - -
    -          Returns an instance of java.util.Calendar that is suitably - initialised for working with the specified date.
    -static longgetCurrentTimeRounded() - -
    -          Returns the System.currentTimeMillis(), rounded to the second.
    -static DategetInstance(Date date, - Value type) - -
    -          Returns a new date instance of the specified type.
    -static longround(long time, - int precision) - -
    -          Deprecated. It is not all that useful to perform rounding without specifying an - explicit timezone.
    -static longround(long time, - int precision, - TimeZone tz) - -
    -          Rounds a time value to remove any precision smaller than specified.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -MILLIS_PER_SECOND

    -
    -public static final long MILLIS_PER_SECOND
    -
    -
    Number of milliseconds in one second. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MILLIS_PER_MINUTE

    -
    -public static final long MILLIS_PER_MINUTE
    -
    -
    Number of milliseconds in one minute. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MILLIS_PER_HOUR

    -
    -public static final long MILLIS_PER_HOUR
    -
    -
    Number of milliseconds in one hour. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MILLIS_PER_DAY

    -
    -public static final long MILLIS_PER_DAY
    -
    -
    Number of milliseconds in one day. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MILLIS_PER_WEEK

    -
    -public static final long MILLIS_PER_WEEK
    -
    -
    Number of milliseconds in one week. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -DAYS_PER_WEEK

    -
    -public static final int DAYS_PER_WEEK
    -
    -
    Number of days in one week. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -PRECISION_SECOND

    -
    -public static final int PRECISION_SECOND
    -
    -
    Constant indicating precision to the second. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -PRECISION_DAY

    -
    -public static final int PRECISION_DAY
    -
    -
    Constant indicating precision to the day. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MAX_WEEKS_PER_YEAR

    -
    -public static final int MAX_WEEKS_PER_YEAR
    -
    -
    Maximum number of weeks per year. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MAX_DAYS_PER_YEAR

    -
    -public static final int MAX_DAYS_PER_YEAR
    -
    -
    Maximum number of days per year. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -MAX_DAYS_PER_MONTH

    -
    -public static final int MAX_DAYS_PER_MONTH
    -
    -
    Maximum number of days per month. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getAbsWeekNo

    -
    -public static int getAbsWeekNo(Date date,
    -                               int weekNo)
    -
    -
    Returns the absolute week number for the year specified by the - supplied date. Note that a value of zero (0) is invalid for the - weekNo parameter and an IllegalArgumentException - will be thrown. -

    -

    -
    Parameters:
    date - a date instance representing a week of the year
    weekNo - a week number offset -
    Returns:
    the absolute week of the year for the specified offset
    -
    -
    -
    - -

    -getAbsYearDay

    -
    -public static int getAbsYearDay(Date date,
    -                                int yearDay)
    -
    -
    Returns the absolute year day for the year specified by the - supplied date. Note that a value of zero (0) is invalid for the - yearDay parameter and an IllegalArgumentException - will be thrown. -

    -

    -
    Parameters:
    date - a date instance representing a day of the year
    yearDay - a day of year offset -
    Returns:
    the absolute day of month for the specified offset
    -
    -
    -
    - -

    -getAbsMonthDay

    -
    -public static int getAbsMonthDay(Date date,
    -                                 int monthDay)
    -
    -
    Returns the absolute month day for the month specified by the - supplied date. Note that a value of zero (0) is invalid for the - monthDay parameter and an IllegalArgumentException - will be thrown. -

    -

    -
    Parameters:
    date - a date instance representing a day of the month
    monthDay - a day of month offset -
    Returns:
    the absolute day of month for the specified offset
    -
    -
    -
    - -

    -getInstance

    -
    -public static Date getInstance(Date date,
    -                               Value type)
    -
    -
    Returns a new date instance of the specified type. If no type is - specified a DateTime instance is returned. -

    -

    -
    Parameters:
    date - a seed Java date instance
    type - the type of date instance -
    Returns:
    an instance of net.fortuna.ical4j.model.Date
    -
    -
    -
    - -

    -getCalendarInstance

    -
    -public static Calendar getCalendarInstance(Date date)
    -
    -
    Returns an instance of java.util.Calendar that is suitably - initialised for working with the specified date. -

    -

    -
    Parameters:
    date - a date instance -
    Returns:
    a java.util.Calendar
    -
    -
    -
    - -

    -round

    -
    -public static long round(long time,
    -                         int precision)
    -
    -
    Deprecated. It is not all that useful to perform rounding without specifying an - explicit timezone. -

    -

    -
    Parameters:
    time - the time value to round
    precision - the rounding precision -
    Returns:
    a round time value
    -
    -
    -
    - -

    -round

    -
    -public static long round(long time,
    -                         int precision,
    -                         TimeZone tz)
    -
    -
    Rounds a time value to remove any precision smaller than specified. -

    -

    -
    Parameters:
    time - the time value to round
    precision - the rounding precision
    tz - the timezone of the rounded value -
    Returns:
    a round time value
    -
    -
    -
    - -

    -getCurrentTimeRounded

    -
    -public static long getCurrentTimeRounded()
    -
    -
    Returns the System.currentTimeMillis(), rounded to the second. -

    By doing a rough rounding here, we avoid an expensive java.util.Calendar based - rounding later on.

    -

    -

    - -
    Returns:
    the current time in millisec.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DecoderFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DecoderFactory.html deleted file mode 100644 index 5fbbfa88..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DecoderFactory.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - -DecoderFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class DecoderFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.DecoderFactory
    -
    -
    -
    Direct Known Subclasses:
    DefaultDecoderFactory
    -
    -
    -
    -
    public abstract class DecoderFactory
    extends Object
    - - -

    -Abstract base class for decoder factory implementations. - - $Id$ - - Created on 13/05/2006 -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static StringKEY_FACTORY_CLASS - -
    -          The system property used to specify an alternate - DecoderFactory implementation.
    -  - - - - - - - - - - -
    -Constructor Summary
    DecoderFactory() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -abstract  org.apache.commons.codec.BinaryDecodercreateBinaryDecoder(Encoding encoding) - -
    -          Returns a new BinaryDecoder for the specified encoding.
    -abstract  org.apache.commons.codec.StringDecodercreateStringDecoder(Encoding encoding) - -
    -          Returns a new StringDecoder for the specified encoding.
    -static DecoderFactorygetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -KEY_FACTORY_CLASS

    -
    -public static final String KEY_FACTORY_CLASS
    -
    -
    The system property used to specify an alternate - DecoderFactory implementation. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -DecoderFactory

    -
    -public DecoderFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getInstance

    -
    -public static final DecoderFactory getInstance()
    -
    -
    - -
    Returns:
    Returns the instance.
    -
    -
    -
    - -

    -createBinaryDecoder

    -
    -public abstract org.apache.commons.codec.BinaryDecoder createBinaryDecoder(Encoding encoding)
    -                                                                    throws UnsupportedEncodingException
    -
    -
    Returns a new BinaryDecoder for the specified encoding. -

    -

    -
    Parameters:
    encoding - an encoding type -
    Returns:
    a BinaryDecoder instance -
    Throws: -
    UnsupportedEncodingException - where an encoder supporting the - specified encoding is not available.
    -
    -
    -
    - -

    -createStringDecoder

    -
    -public abstract org.apache.commons.codec.StringDecoder createStringDecoder(Encoding encoding)
    -                                                                    throws UnsupportedEncodingException
    -
    -
    Returns a new StringDecoder for the specified encoding. -

    -

    -
    Parameters:
    encoding - an encoding type -
    Returns:
    a StringDecoder instance -
    Throws: -
    UnsupportedEncodingException - where an encoder supporting the - specified encoding is not available.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DefaultDecoderFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DefaultDecoderFactory.html deleted file mode 100644 index fc5f2ddc..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DefaultDecoderFactory.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - -DefaultDecoderFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class DefaultDecoderFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.DecoderFactory
    -      extended by net.fortuna.ical4j.util.DefaultDecoderFactory
    -
    -
    -
    -
    public class DefaultDecoderFactory
    extends DecoderFactory
    - - -

    -Default decoder factory implementation. - - $Id$ - - Created on 13/05/2006 -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.util.DecoderFactory
    KEY_FACTORY_CLASS
    -  - - - - - - - - - - -
    -Constructor Summary
    DefaultDecoderFactory() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - org.apache.commons.codec.BinaryDecodercreateBinaryDecoder(Encoding encoding) - -
    -          Returns a new BinaryDecoder for the specified encoding.
    - org.apache.commons.codec.StringDecodercreateStringDecoder(Encoding encoding) - -
    -          Returns a new StringDecoder for the specified encoding.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.util.DecoderFactory
    getInstance
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DefaultDecoderFactory

    -
    -public DefaultDecoderFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -createBinaryDecoder

    -
    -public org.apache.commons.codec.BinaryDecoder createBinaryDecoder(Encoding encoding)
    -                                                           throws UnsupportedEncodingException
    -
    -
    Returns a new BinaryDecoder for the specified encoding. -

    -

    -
    Specified by:
    createBinaryDecoder in class DecoderFactory
    -
    -
    -
    Parameters:
    encoding - an encoding type -
    Returns:
    a BinaryDecoder instance -
    Throws: -
    UnsupportedEncodingException - where an encoder supporting the - specified encoding is not available.
    -
    -
    -
    - -

    -createStringDecoder

    -
    -public org.apache.commons.codec.StringDecoder createStringDecoder(Encoding encoding)
    -                                                           throws UnsupportedEncodingException
    -
    -
    Returns a new StringDecoder for the specified encoding. -

    -

    -
    Specified by:
    createStringDecoder in class DecoderFactory
    -
    -
    -
    Parameters:
    encoding - an encoding type -
    Returns:
    a StringDecoder instance -
    Throws: -
    UnsupportedEncodingException - where an encoder supporting the - specified encoding is not available.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DefaultEncoderFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DefaultEncoderFactory.html deleted file mode 100644 index e9daf239..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/DefaultEncoderFactory.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - -DefaultEncoderFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class DefaultEncoderFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.EncoderFactory
    -      extended by net.fortuna.ical4j.util.DefaultEncoderFactory
    -
    -
    -
    -
    public class DefaultEncoderFactory
    extends EncoderFactory
    - - -

    -Default encoder factory implementation. - - $Id$ - - Created on 13/05/2006 -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - -
    -Field Summary
    - - - - - - - -
    Fields inherited from class net.fortuna.ical4j.util.EncoderFactory
    KEY_FACTORY_CLASS
    -  - - - - - - - - - - -
    -Constructor Summary
    DefaultEncoderFactory() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    - org.apache.commons.codec.BinaryEncodercreateBinaryEncoder(Encoding encoding) - -
    -          Returns a new BinaryEncoder for the specified encoding.
    - org.apache.commons.codec.StringEncodercreateStringEncoder(Encoding encoding) - -
    -          Returns a new StringEncoder for the specified encoding.
    - - - - - - - -
    Methods inherited from class net.fortuna.ical4j.util.EncoderFactory
    getInstance
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -DefaultEncoderFactory

    -
    -public DefaultEncoderFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -createBinaryEncoder

    -
    -public org.apache.commons.codec.BinaryEncoder createBinaryEncoder(Encoding encoding)
    -                                                           throws UnsupportedEncodingException
    -
    -
    Returns a new BinaryEncoder for the specified encoding. -

    -

    -
    Specified by:
    createBinaryEncoder in class EncoderFactory
    -
    -
    -
    Parameters:
    encoding - an encoding type -
    Returns:
    a BinaryEncoder instance -
    Throws: -
    UnsupportedEncodingException - where an encoder supporting the - specified encoding is not available.
    -
    -
    -
    - -

    -createStringEncoder

    -
    -public org.apache.commons.codec.StringEncoder createStringEncoder(Encoding encoding)
    -                                                           throws UnsupportedEncodingException
    -
    -
    Returns a new StringEncoder for the specified encoding. -

    -

    -
    Specified by:
    createStringEncoder in class EncoderFactory
    -
    -
    -
    Parameters:
    encoding - an encoding type -
    Returns:
    a StringEncoder instance -
    Throws: -
    UnsupportedEncodingException - where an encoder supporting the - specified encoding is not available.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/EncoderFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/EncoderFactory.html deleted file mode 100644 index e31ea255..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/EncoderFactory.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - -EncoderFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class EncoderFactory

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.EncoderFactory
    -
    -
    -
    Direct Known Subclasses:
    DefaultEncoderFactory
    -
    -
    -
    -
    public abstract class EncoderFactory
    extends Object
    - - -

    -Abstract base class for encoder factory implementations. - - $Id$ - - Created on 13/05/2006 -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static StringKEY_FACTORY_CLASS - -
    -          The system property used to specify an alternate - EncoderFactory implementation.
    -  - - - - - - - - - - -
    -Constructor Summary
    EncoderFactory() - -
    -           
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -abstract  org.apache.commons.codec.BinaryEncodercreateBinaryEncoder(Encoding encoding) - -
    -          Returns a new BinaryEncoder for the specified encoding.
    -abstract  org.apache.commons.codec.StringEncodercreateStringEncoder(Encoding encoding) - -
    -          Returns a new StringEncoder for the specified encoding.
    -static EncoderFactorygetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -KEY_FACTORY_CLASS

    -
    -public static final String KEY_FACTORY_CLASS
    -
    -
    The system property used to specify an alternate - EncoderFactory implementation. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Constructor Detail
    - -

    -EncoderFactory

    -
    -public EncoderFactory()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getInstance

    -
    -public static final EncoderFactory getInstance()
    -
    -
    - -
    Returns:
    Returns the instance.
    -
    -
    -
    - -

    -createBinaryEncoder

    -
    -public abstract org.apache.commons.codec.BinaryEncoder createBinaryEncoder(Encoding encoding)
    -                                                                    throws UnsupportedEncodingException
    -
    -
    Returns a new BinaryEncoder for the specified encoding. -

    -

    -
    Parameters:
    encoding - an encoding type -
    Returns:
    a BinaryEncoder instance -
    Throws: -
    UnsupportedEncodingException - where an encoder supporting the - specified encoding is not available.
    -
    -
    -
    - -

    -createStringEncoder

    -
    -public abstract org.apache.commons.codec.StringEncoder createStringEncoder(Encoding encoding)
    -                                                                    throws UnsupportedEncodingException
    -
    -
    Returns a new StringEncoder for the specified encoding. -

    -

    -
    Parameters:
    encoding - an encoding type -
    Returns:
    a StringEncoder instance -
    Throws: -
    UnsupportedEncodingException - where an encoder supporting the - specified encoding is not available.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/HostInfo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/HostInfo.html deleted file mode 100644 index b441aec8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/HostInfo.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - -HostInfo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Interface HostInfo

    -
    -
    All Known Implementing Classes:
    InetAddressHostInfo, SimpleHostInfo
    -
    -
    -
    -
    public interface HostInfo
    - - -

    -Provides platform-independent host information. -

    - -

    -

    -
    Author:
    -
    fortuna
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    - StringgetHostName() - -
    -           
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -getHostName

    -
    -String getHostName()
    -
    -
    - -
    Returns:
    a name for the host machine
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/InetAddressHostInfo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/InetAddressHostInfo.html deleted file mode 100644 index 378dc2b9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/InetAddressHostInfo.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - -InetAddressHostInfo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class InetAddressHostInfo

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.InetAddressHostInfo
    -
    -
    -
    All Implemented Interfaces:
    HostInfo
    -
    -
    -
    -
    public class InetAddressHostInfo
    extends Object
    implements HostInfo
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    InetAddressHostInfo() - -
    -           
    InetAddressHostInfo(InetAddress address) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetHostName() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -InetAddressHostInfo

    -
    -public InetAddressHostInfo()
    -                    throws SocketException
    -
    -
    - -
    Throws: -
    SocketException - where an error occurs identifying the host address
    -
    -
    - -

    -InetAddressHostInfo

    -
    -public InetAddressHostInfo(InetAddress address)
    -
    -
    -
    Parameters:
    address - a host address
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getHostName

    -
    -public String getHostName()
    -
    -
    -

    -

    -
    Specified by:
    getHostName in interface HostInfo
    -
    -
    - -
    Returns:
    a name for the host machine
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Numbers.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Numbers.html deleted file mode 100644 index 22311b44..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Numbers.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - -Numbers (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class Numbers

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.Numbers
    -
    -
    -
    -
    public final class Numbers
    extends Object
    - - -

    -$Id$ - - Created on 6/08/2005 - - A utility class for number processing. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - -
    -Method Summary
    -static intparseInt(String value) - -
    -          Wraps java.lang.Integer.parseInt() to accept values with - a PLUS character (i.e.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -parseInt

    -
    -public static int parseInt(String value)
    -
    -
    Wraps java.lang.Integer.parseInt() to accept values with - a PLUS character (i.e. "+2"). -

    -

    -
    Parameters:
    value - an integer string -
    Returns:
    a parsed integer value
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ParameterValidator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ParameterValidator.html deleted file mode 100644 index aca5fce4..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ParameterValidator.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - -ParameterValidator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class ParameterValidator

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.ParameterValidator
    -
    -
    -
    -
    public final class ParameterValidator
    extends Object
    - - -

    -$Id$ [15-May-2004] - - Defines methods for validating parameters and parameter - lists. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidassertNone(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter doesn't occur in the specified list.
    - voidassertNullOrEqual(Parameter param, - ParameterList parameters) - -
    -           
    - voidassertOne(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter occurs once.
    - voidassertOneOrLess(String paramName, - ParameterList parameters) - -
    -          Ensure a parameter occurs no more than once.
    -static ParameterValidatorgetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -assertOneOrLess

    -
    -public void assertOneOrLess(String paramName,
    -                            ParameterList parameters)
    -                     throws ValidationException
    -
    -
    Ensure a parameter occurs no more than once. -

    -

    -
    Parameters:
    paramName - the parameter name
    parameters - a list of parameters to query -
    Throws: -
    ValidationException - when the specified parameter occurs more than once
    -
    -
    -
    - -

    -assertOne

    -
    -public void assertOne(String paramName,
    -                      ParameterList parameters)
    -               throws ValidationException
    -
    -
    Ensure a parameter occurs once. -

    -

    -
    Parameters:
    paramName - the parameter name
    parameters - a list of parameters to query -
    Throws: -
    ValidationException - when the specified parameter does not occur once
    -
    -
    -
    - -

    -assertNone

    -
    -public void assertNone(String paramName,
    -                       ParameterList parameters)
    -                throws ValidationException
    -
    -
    Ensure a parameter doesn't occur in the specified list. -

    -

    -
    Parameters:
    paramName - the name of a parameter
    parameters - a list of parameters -
    Throws: -
    ValidationException - thrown when the specified property - is found in the list of properties
    -
    -
    -
    - -

    -assertNullOrEqual

    -
    -public void assertNullOrEqual(Parameter param,
    -                              ParameterList parameters)
    -                       throws ValidationException
    -
    -
    -
    Parameters:
    param - a parameter instance
    parameters - a list of parameters -
    Throws: -
    ValidationException - where the assertion fails
    -
    -
    -
    - -

    -getInstance

    -
    -public static ParameterValidator getInstance()
    -
    -
    - -
    Returns:
    Returns the instance.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/PropertyValidator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/PropertyValidator.html deleted file mode 100644 index 663f6e0f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/PropertyValidator.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - -PropertyValidator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class PropertyValidator

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.PropertyValidator
    -
    -
    -
    -
    public final class PropertyValidator
    extends Object
    - - -

    -$Id$ [15-May-2004] - - Defines methods for validating properties and property lists. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    - voidassertNone(String propertyName, - PropertyList properties) - -
    -          Ensure a property doesn't occur in the specified list.
    - voidassertOne(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs once.
    - voidassertOneOrLess(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs no more than once.
    - voidassertOneOrMore(String propertyName, - PropertyList properties) - -
    -          Ensure a property occurs at least once.
    -static PropertyValidatorgetInstance() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Method Detail
    - -

    -assertOneOrLess

    -
    -public void assertOneOrLess(String propertyName,
    -                            PropertyList properties)
    -                     throws ValidationException
    -
    -
    Ensure a property occurs no more than once. -

    -

    -
    Parameters:
    propertyName - the property name
    properties - a list of properties to query -
    Throws: -
    ValidationException - when the specified property occurs more than once
    -
    -
    -
    - -

    -assertOneOrMore

    -
    -public void assertOneOrMore(String propertyName,
    -                            PropertyList properties)
    -                     throws ValidationException
    -
    -
    Ensure a property occurs at least once. -

    -

    -
    Parameters:
    propertyName - the property name
    properties - a list of properties to query -
    Throws: -
    ValidationException - when the specified property occurs more than once
    -
    -
    -
    - -

    -assertOne

    -
    -public void assertOne(String propertyName,
    -                      PropertyList properties)
    -               throws ValidationException
    -
    -
    Ensure a property occurs once. -

    -

    -
    Parameters:
    propertyName - the property name
    properties - a list of properties to query -
    Throws: -
    ValidationException - when the specified property does not occur once
    -
    -
    -
    - -

    -assertNone

    -
    -public void assertNone(String propertyName,
    -                       PropertyList properties)
    -                throws ValidationException
    -
    -
    Ensure a property doesn't occur in the specified list. -

    -

    -
    Parameters:
    propertyName - the name of a property
    properties - a list of properties -
    Throws: -
    ValidationException - thrown when the specified property - is found in the list of properties
    -
    -
    -
    - -

    -getInstance

    -
    -public static PropertyValidator getInstance()
    -
    -
    - -
    Returns:
    Returns the instance.
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ResourceLoader.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ResourceLoader.html deleted file mode 100644 index a42b2803..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/ResourceLoader.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - -ResourceLoader (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class ResourceLoader

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.ResourceLoader
    -
    -
    -
    -
    public class ResourceLoader
    extends Object
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    ResourceLoader() - -
    -           
    -  - - - - - - - - - - - - - - - -
    -Method Summary
    -static URLgetResource(String name) - -
    -          Load a resource via the thread context classloader.
    -static InputStreamgetResourceAsStream(String name) - -
    -          Load a resource via the thread context classloader.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -ResourceLoader

    -
    -public ResourceLoader()
    -
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getResource

    -
    -public static URL getResource(String name)
    -
    -
    Load a resource via the thread context classloader. If security permissions don't allow - this fallback to loading via current classloader. -

    -

    -
    Parameters:
    name - a resource name -
    Returns:
    a URL or null if resource is not found
    -
    -
    -
    - -

    -getResourceAsStream

    -
    -public static InputStream getResourceAsStream(String name)
    -
    -
    Load a resource via the thread context classloader. If security permissions don't allow - this fallback to loading via current classloader. -

    -

    -
    Parameters:
    name - a resource name -
    Returns:
    an InputStream or null if resource is not found
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/SimpleHostInfo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/SimpleHostInfo.html deleted file mode 100644 index 07c9fd9d..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/SimpleHostInfo.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - -SimpleHostInfo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class SimpleHostInfo

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.SimpleHostInfo
    -
    -
    -
    All Implemented Interfaces:
    HostInfo
    -
    -
    -
    -
    public class SimpleHostInfo
    extends Object
    implements HostInfo
    - - -

    -

    -
    Author:
    -
    fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Constructor Summary
    SimpleHostInfo(String hostName) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - StringgetHostName() - -
    -          
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -SimpleHostInfo

    -
    -public SimpleHostInfo(String hostName)
    -
    -
    -
    Parameters:
    hostName - the hostname returned by HostInfo.getHostName()
    -
    - - - - - - - - -
    -Method Detail
    - -

    -getHostName

    -
    -public String getHostName()
    -
    -
    -

    -

    -
    Specified by:
    getHostName in interface HostInfo
    -
    -
    - -
    Returns:
    a name for the host machine
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Strings.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Strings.html deleted file mode 100644 index 5fcd7544..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Strings.html +++ /dev/null @@ -1,474 +0,0 @@ - - - - - - - -Strings (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class Strings

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.Strings
    -
    -
    -
    -
    public final class Strings
    extends Object
    - - -

    -$Id$ [23-Apr-2004] - - Utility methods for working with parameters. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna -
    - 4.3.11 Text
    - 
    -    Value Name: TEXT
    - 
    -    Purpose This value type is used to identify values that contain human
    -    readable text.
    - 
    -    Formal Definition: The character sets supported by this revision of
    -    iCalendar are UTF-8 and US ASCII thereof. The applicability to other
    -    character sets is for future work. The value type is defined by the
    -    following notation.
    - 
    -      text       = *(TSAFE-CHAR / ":" / DQUOTE / ESCAPED-CHAR)
    -      ; Folded according to description above
    - 
    -      ESCAPED-CHAR = "\\" / "\;" / "\," / "\N" / "\n")
    -         ; \\ encodes \, \N or \n encodes newline
    -         ; \; encodes ;, \, encodes ,
    - 
    -      TSAFE-CHAR = %x20-21 / %x23-2B / %x2D-39 / %x3C-5B
    -                   %x5D-7E / NON-US-ASCII
    -         ; Any character except CTLs not needed by the current
    -         ; character set, DQUOTE, ";", ":", "\", ","
    - 
    -      Note: Certain other character sets may require modification of the
    -      above definitions, but this is beyond the scope of this document.
    - 
    -    Description: If the property permits, multiple "text" values are
    -    specified by a COMMA character (US-ASCII decimal 44) separated list
    -    of values.
    - 
    -    The language in which the text is represented can be controlled by
    -    the "LANGUAGE" property parameter.
    - 
    -    An intentional formatted text line break MUST only be included in a
    -    "TEXT" property value by representing the line break with the
    -    character sequence of BACKSLASH (US-ASCII decimal 92), followed by a
    -    LATIN SMALL LETTER N (US-ASCII decimal 110) or a LATIN CAPITAL LETTER
    -    N (US-ASCII decimal 78), that is "\n" or "\N".
    - 
    -    The "TEXT" property values may also contain special characters that
    -    are used to signify delimiters, such as a COMMA character for lists
    -    of values or a SEMICOLON character for structured values. In order to
    -    support the inclusion of these special characters in "TEXT" property
    -    values, they MUST be escaped with a BACKSLASH character. A BACKSLASH
    -    character (US-ASCII decimal 92) in a "TEXT" property value MUST be
    -    escaped with another BACKSLASH character. A COMMA character in a
    -    "TEXT" property value MUST be escaped with a BACKSLASH character
    -    (US-ASCII decimal 92). A SEMICOLON character in a "TEXT" property
    -    value MUST be escaped with a BACKSLASH character (US-ASCII decimal
    -    92).  However, a COLON character in a "TEXT" property value SHALL NOT
    -    be escaped with a BACKSLASH character.Example: A multiple line value
    -    of:
    - 
    -      Project XYZ Final Review
    -      Conference Room - 3B
    -      Come Prepared.
    - 
    -    would be represented as:
    - 
    -      Project XYZ Final Review\nConference Room - 3B\nCome Prepared.
    - 
    -
    -
    - -

    - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringLINE_SEPARATOR - -
    -          A string used to denote the start (and end) of iCalendar content lines.
    -static PatternPARAM_QUOTE_PATTERN - -
    -          Defines a regular expression representing all parameter strings that - should be quoted.
    -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static Stringescape(String aValue) - -
    -          Convenience method for escaping special characters.
    -static StringescapeNewline(String value) - -
    -           
    -static Stringquote(Object aValue) - -
    -          Convenience method for adding quotes.
    -static Stringunescape(String aValue) - -
    -          Convenience method for replacing escaped special characters - with their original form.
    -static Stringunquote(String aValue) - -
    -          Convenience method for removing surrounding quotes - from a string value.
    -static StringvalueOf(Object object) - -
    -          Wraps java.lang.String.valueOf() to return an empty string - where the specified object is null.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -PARAM_QUOTE_PATTERN

    -
    -public static final Pattern PARAM_QUOTE_PATTERN
    -
    -
    Defines a regular expression representing all parameter strings that - should be quoted. -

    -

    -
    -
    -
    - -

    -LINE_SEPARATOR

    -
    -public static final String LINE_SEPARATOR
    -
    -
    A string used to denote the start (and end) of iCalendar content lines. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Method Detail
    - -

    -quote

    -
    -public static String quote(Object aValue)
    -
    -
    Convenience method for adding quotes. The specified - object is converted to a string representation by - calling its toString() method. -

    -

    -
    Parameters:
    aValue - an object to quote -
    Returns:
    a quoted string
    -
    -
    -
    - -

    -unquote

    -
    -public static String unquote(String aValue)
    -
    -
    Convenience method for removing surrounding quotes - from a string value. -

    -

    -
    Parameters:
    aValue - a string to remove quotes from -
    Returns:
    an un-quoted string
    -
    -
    -
    - -

    -escape

    -
    -public static String escape(String aValue)
    -
    -
    Convenience method for escaping special characters. -

    -

    -
    Parameters:
    aValue - a string value to escape -
    Returns:
    an escaped representation of the specified - string
    -
    -
    -
    - -

    -unescape

    -
    -public static String unescape(String aValue)
    -
    -
    Convenience method for replacing escaped special characters - with their original form. -

    -

    -
    Parameters:
    aValue - a string value to unescape -
    Returns:
    a string representation of the specified - string with escaped characters replaced with their - original form
    -
    -
    -
    - -

    -escapeNewline

    -
    -public static String escapeNewline(String value)
    -
    -
    -
    -
    -
    -
    - -

    -valueOf

    -
    -public static String valueOf(Object object)
    -
    -
    Wraps java.lang.String.valueOf() to return an empty string - where the specified object is null. -

    -

    -
    Parameters:
    object - an object instance -
    Returns:
    a string representation of the object
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/TimeZones.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/TimeZones.html deleted file mode 100644 index 5864e289..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/TimeZones.html +++ /dev/null @@ -1,364 +0,0 @@ - - - - - - - -TimeZones (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class TimeZones

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.TimeZones
    -
    -
    -
    -
    public final class TimeZones
    extends Object
    - - -

    -$Id$ [5/07/2004] - - Utility methods relevant to Java timezones. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - - - - - - -
    -Field Summary
    -static StringGMT_ID - -
    -          The timezone identifier for GMT time.
    -static StringIBM_UTC_ID - -
    -          The timezone identifier for UTC time in the IBM JVM.
    -static StringUTC_ID - -
    -          The timezone identifier for UTC time.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static TimeZonegetDateTimeZone() - -
    -          Although timezones are not really applicable to DATE instances in iCalendar, the implementation - in iCal4j requires the use of a timezone.
    -static TimeZonegetUtcTimeZone() - -
    -          Get the UTC Timezone.
    -static booleanisUtc(TimeZone timezone) - -
    -          Indicates whether the specified timezone is equivalent to - UTC time.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -UTC_ID

    -
    -public static final String UTC_ID
    -
    -
    The timezone identifier for UTC time. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -IBM_UTC_ID

    -
    -public static final String IBM_UTC_ID
    -
    -
    The timezone identifier for UTC time in the IBM JVM. -

    -

    -
    See Also:
    Constant Field Values
    -
    -
    - -

    -GMT_ID

    -
    -public static final String GMT_ID
    -
    -
    The timezone identifier for GMT time. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Method Detail
    - -

    -isUtc

    -
    -public static boolean isUtc(TimeZone timezone)
    -
    -
    Indicates whether the specified timezone is equivalent to - UTC time. -

    -

    -
    Parameters:
    timezone - a timezone instance -
    Returns:
    true if the timezone is UTC time, otherwise false
    -
    -
    -
    - -

    -getDateTimeZone

    -
    -public static TimeZone getDateTimeZone()
    -
    -
    Although timezones are not really applicable to DATE instances in iCalendar, the implementation - in iCal4j requires the use of a timezone. Dates in iCal4j may be either "floating", in that they - use the default Java timezone, or alternatively will use UTC (this is the default). - - The use of floating dates may be configured by specifying the following as a system property or in - a file called "ical4j.properties" in the classpath: - -
    net.fortuna.ical4j.timezone.date.floating=true
    -

    -

    - -
    Returns:
    the timezone used for date instances
    -
    -
    -
    - -

    -getUtcTimeZone

    -
    -public static TimeZone getUtcTimeZone()
    -
    -
    Get the UTC Timezone. -

    -

    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/UidGenerator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/UidGenerator.html deleted file mode 100644 index 2d8acf4f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/UidGenerator.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - -UidGenerator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class UidGenerator

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.UidGenerator
    -
    -
    -
    -
    public class UidGenerator
    extends Object
    - - -

    -$Id$ - - Created on 11/03/2007 - - Generates Uid properties in a similar fashion to that recommended in section 4.8.4.7 of the specification. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - - - - -
    -Constructor Summary
    UidGenerator(HostInfo hostInfo, - String pid) - -
    -           
    UidGenerator(String pid) - -
    -           
    -  - - - - - - - - - - - -
    -Method Summary
    - UidgenerateUid() - -
    -           
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Constructor Detail
    - -

    -UidGenerator

    -
    -public UidGenerator(String pid)
    -             throws SocketException
    -
    -
    -
    Parameters:
    pid - a unique process identifier for the host machine -
    Throws: -
    SocketException - where host information cannot be retrieved
    -
    -
    - -

    -UidGenerator

    -
    -public UidGenerator(HostInfo hostInfo,
    -                    String pid)
    -
    -
    -
    Parameters:
    hostInfo - custom host information
    pid - a unique process identifier for the host machine
    -
    - - - - - - - - -
    -Method Detail
    - -

    -generateUid

    -
    -public Uid generateUid()
    -
    -
    - -
    Returns:
    a unique component identifier
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Uris.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Uris.html deleted file mode 100644 index 7172ecb5..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/Uris.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - - -Uris (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - -

    - -net.fortuna.ical4j.util -
    -Class Uris

    -
    -java.lang.Object
    -  extended by net.fortuna.ical4j.util.Uris
    -
    -
    -
    -
    public final class Uris
    extends Object
    - - -

    -$Id$ - - Created on 11/09/2005 - - Utility methods for working with URIs. -

    - -

    -

    -
    Author:
    -
    Ben Fortuna
    -
    -
    - -

    - - - - - - - - - - - -
    -Field Summary
    -static StringINVALID_SCHEME - -
    -          URI Scheme used when relaxed parsing is enabled and the given input stream lead to an invalid URI.
    -  - - - - - - - - - - - - - - - - - - - -
    -Method Summary
    -static URIcreate(String s) - -
    -          Attempts to create a URI instance and will optionally swallow any resulting URISyntaxException depending on - configured CompatibilityHints.
    -static Stringdecode(String s) - -
    -          Decodes the specified URI string using the UTF-8 charset.
    -static Stringencode(String s) - -
    -          Encodes the specified URI string using the UTF-8 charset.
    - - - - - - - -
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    -  -

    - - - - - - - - -
    -Field Detail
    - -

    -INVALID_SCHEME

    -
    -public static final String INVALID_SCHEME
    -
    -
    URI Scheme used when relaxed parsing is enabled and the given input stream lead to an invalid URI. -

    -

    -
    See Also:
    Constant Field Values
    -
    - - - - - - - - -
    -Method Detail
    - -

    -encode

    -
    -public static String encode(String s)
    -
    -
    Encodes the specified URI string using the UTF-8 charset. In the event that an exception is thrown, the specifed - URI string is returned unmodified. -

    -

    -
    Parameters:
    s - a URI string -
    Returns:
    an encoded URI string
    -
    -
    -
    - -

    -decode

    -
    -public static String decode(String s)
    -
    -
    Decodes the specified URI string using the UTF-8 charset. In the event that an exception is thrown, the specifed - URI string is returned unmodified. -

    -

    -
    Parameters:
    s - a URI string -
    Returns:
    an encoded URI string
    -
    -
    -
    - -

    -create

    -
    -public static URI create(String s)
    -                  throws URISyntaxException
    -
    -
    Attempts to create a URI instance and will optionally swallow any resulting URISyntaxException depending on - configured CompatibilityHints. Will also automatically attempt encoding of the string representation for - greater compatibility. -

    When relaxed parsing is enabled and if the string representation is not valid, a second URI creation attempt is made - by extracting the scheme from the scheme specific part and URI encoding that later part. For example, - "mailto: joe smith@example.com" becomes "mailto:joe%20smith@example.com".

    -

    If the second attempts also leads to a URISyntaxException, an opaque URI is constructed with a scheme - of Uris.INVALID_SCHEME and a value corresponding to the initial representation.

    -

    -

    -
    Parameters:
    s - a string representation of a URI. -
    Returns:
    a URI instance, which may not correspond to the URI string if a valid - URI string is not specified and relaxed parsing is enabled. -
    Throws: -
    URISyntaxException - if a valid URI string is not specified and relaxed parsing is disabled
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Calendars.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Calendars.html deleted file mode 100644 index a268a18b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Calendars.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.Calendars (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.Calendars

    -
    -No usage of net.fortuna.ical4j.util.Calendars -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/CompatibilityHints.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/CompatibilityHints.html deleted file mode 100644 index d333b4ce..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/CompatibilityHints.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.CompatibilityHints (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.CompatibilityHints

    -
    -No usage of net.fortuna.ical4j.util.CompatibilityHints -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ComponentValidator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ComponentValidator.html deleted file mode 100644 index 8c5439d8..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ComponentValidator.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.ComponentValidator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.ComponentValidator

    -
    -No usage of net.fortuna.ical4j.util.ComponentValidator -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Configurator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Configurator.html deleted file mode 100644 index 4f8d38d3..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Configurator.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.Configurator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.Configurator

    -
    -No usage of net.fortuna.ical4j.util.Configurator -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Constants.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Constants.html deleted file mode 100644 index 7dabbb7f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Constants.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.Constants (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.Constants

    -
    -No usage of net.fortuna.ical4j.util.Constants -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Dates.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Dates.html deleted file mode 100644 index 7d259d47..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Dates.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.Dates (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.Dates

    -
    -No usage of net.fortuna.ical4j.util.Dates -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DecoderFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DecoderFactory.html deleted file mode 100644 index 66ad973e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DecoderFactory.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.DecoderFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.DecoderFactory

    -
    - - - - - - - - - -
    -Packages that use DecoderFactory
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of DecoderFactory in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Subclasses of DecoderFactory in net.fortuna.ical4j.util
    - classDefaultDecoderFactory - -
    -          Default decoder factory implementation.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that return DecoderFactory
    -static DecoderFactoryDecoderFactory.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultDecoderFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultDecoderFactory.html deleted file mode 100644 index 88ee2d71..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultDecoderFactory.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.DefaultDecoderFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.DefaultDecoderFactory

    -
    -No usage of net.fortuna.ical4j.util.DefaultDecoderFactory -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultEncoderFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultEncoderFactory.html deleted file mode 100644 index fc02c2b1..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultEncoderFactory.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.DefaultEncoderFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.DefaultEncoderFactory

    -
    -No usage of net.fortuna.ical4j.util.DefaultEncoderFactory -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/EncoderFactory.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/EncoderFactory.html deleted file mode 100644 index 227e0988..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/EncoderFactory.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.EncoderFactory (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.EncoderFactory

    -
    - - - - - - - - - -
    -Packages that use EncoderFactory
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of EncoderFactory in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Subclasses of EncoderFactory in net.fortuna.ical4j.util
    - classDefaultEncoderFactory - -
    -          Default encoder factory implementation.
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that return EncoderFactory
    -static EncoderFactoryEncoderFactory.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/HostInfo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/HostInfo.html deleted file mode 100644 index 4894b79b..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/HostInfo.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - - -Uses of Interface net.fortuna.ical4j.util.HostInfo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Interface
    net.fortuna.ical4j.util.HostInfo

    -
    - - - - - - - - - -
    -Packages that use HostInfo
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of HostInfo in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - - - - - -
    Classes in net.fortuna.ical4j.util that implement HostInfo
    - classInetAddressHostInfo - -
    -           
    - classSimpleHostInfo - -
    -           
    -  -

    - - - - - - - - -
    Constructors in net.fortuna.ical4j.util with parameters of type HostInfo
    UidGenerator(HostInfo hostInfo, - String pid) - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/InetAddressHostInfo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/InetAddressHostInfo.html deleted file mode 100644 index 0e8dbcaa..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/InetAddressHostInfo.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.InetAddressHostInfo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.InetAddressHostInfo

    -
    -No usage of net.fortuna.ical4j.util.InetAddressHostInfo -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Numbers.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Numbers.html deleted file mode 100644 index 25dadf92..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Numbers.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.Numbers (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.Numbers

    -
    -No usage of net.fortuna.ical4j.util.Numbers -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ParameterValidator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ParameterValidator.html deleted file mode 100644 index de19cb99..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ParameterValidator.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.ParameterValidator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.ParameterValidator

    -
    - - - - - - - - - -
    -Packages that use ParameterValidator
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of ParameterValidator in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that return ParameterValidator
    -static ParameterValidatorParameterValidator.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/PropertyValidator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/PropertyValidator.html deleted file mode 100644 index 22238f56..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/PropertyValidator.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.PropertyValidator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.PropertyValidator

    -
    - - - - - - - - - -
    -Packages that use PropertyValidator
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - -
    -Uses of PropertyValidator in net.fortuna.ical4j.util
    -  -

    - - - - - - - - - -
    Methods in net.fortuna.ical4j.util that return PropertyValidator
    -static PropertyValidatorPropertyValidator.getInstance() - -
    -           
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ResourceLoader.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ResourceLoader.html deleted file mode 100644 index 6f6e23d9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/ResourceLoader.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.ResourceLoader (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.ResourceLoader

    -
    -No usage of net.fortuna.ical4j.util.ResourceLoader -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/SimpleHostInfo.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/SimpleHostInfo.html deleted file mode 100644 index c75aaba9..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/SimpleHostInfo.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.SimpleHostInfo (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.SimpleHostInfo

    -
    -No usage of net.fortuna.ical4j.util.SimpleHostInfo -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Strings.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Strings.html deleted file mode 100644 index c01782a1..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Strings.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.Strings (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.Strings

    -
    -No usage of net.fortuna.ical4j.util.Strings -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/TimeZones.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/TimeZones.html deleted file mode 100644 index 07d1d947..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/TimeZones.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.TimeZones (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.TimeZones

    -
    -No usage of net.fortuna.ical4j.util.TimeZones -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/UidGenerator.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/UidGenerator.html deleted file mode 100644 index 49e23c06..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/UidGenerator.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.UidGenerator (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.UidGenerator

    -
    -No usage of net.fortuna.ical4j.util.UidGenerator -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Uris.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Uris.html deleted file mode 100644 index 081cea9e..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/class-use/Uris.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Uses of Class net.fortuna.ical4j.util.Uris (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Class
    net.fortuna.ical4j.util.Uris

    -
    -No usage of net.fortuna.ical4j.util.Uris -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-frame.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-frame.html deleted file mode 100644 index b100b387..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-frame.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -net.fortuna.ical4j.util (iCal4j 1.0.4 API) - - - - - - - - - - - -net.fortuna.ical4j.util - - - - -
    -Interfaces  - -
    -HostInfo
    - - - - - - -
    -Classes  - -
    -Calendars -
    -CompatibilityHints -
    -ComponentValidator -
    -Configurator -
    -Constants -
    -Dates -
    -DecoderFactory -
    -DefaultDecoderFactory -
    -DefaultEncoderFactory -
    -EncoderFactory -
    -InetAddressHostInfo -
    -Numbers -
    -ParameterValidator -
    -PropertyValidator -
    -ResourceLoader -
    -SimpleHostInfo -
    -Strings -
    -TimeZones -
    -UidGenerator -
    -Uris
    - - - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-summary.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-summary.html deleted file mode 100644 index e6c22668..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-summary.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - -net.fortuna.ical4j.util (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -

    -Package net.fortuna.ical4j.util -

    -Contains utility types that provide supporting functionality for iCal4j. -

    -See: -
    -          Description -

    - - - - - - - - - -
    -Interface Summary
    HostInfoProvides platform-independent host information.
    -  - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Class Summary
    Calendars$Id$ - - Created on 10/11/2006 - - Utility method for working with Calendars.
    CompatibilityHints$Id$ - - Created on 9/03/2006 - - A set of keys used to enable compatibility features.
    ComponentValidator 
    Configurator$Id$ - - Created on 06/02/2008 - - Provides configuration properties specified either as system properties - or in an ical4j.properties configuration file.
    Constants$Id$ - - Created on 5/07/2005 - - Provides some convenience methods for working with constant - parameters and properties.
    Dates$Id$ - - Created on 26/06/2005 - - Implements a collection of utility methods relevant to date processing.
    DecoderFactoryAbstract base class for decoder factory implementations.
    DefaultDecoderFactoryDefault decoder factory implementation.
    DefaultEncoderFactoryDefault encoder factory implementation.
    EncoderFactoryAbstract base class for encoder factory implementations.
    InetAddressHostInfo 
    Numbers$Id$ - - Created on 6/08/2005 - - A utility class for number processing.
    ParameterValidator$Id$ [15-May-2004] - - Defines methods for validating parameters and parameter - lists.
    PropertyValidator$Id$ [15-May-2004] - - Defines methods for validating properties and property lists.
    ResourceLoader 
    SimpleHostInfo 
    Strings$Id$ [23-Apr-2004] - - Utility methods for working with parameters.
    TimeZones$Id$ [5/07/2004] - - Utility methods relevant to Java timezones.
    UidGenerator$Id$ - - Created on 11/03/2007 - - Generates Uid properties in a similar fashion to that recommended in section 4.8.4.7 of the specification.
    Uris$Id$ - - Created on 11/09/2005 - - Utility methods for working with URIs.
    -  - -

    -

    -Package net.fortuna.ical4j.util Description -

    - -

    -Contains utility types that provide supporting functionality for iCal4j. -

    - -

    -

    -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-tree.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-tree.html deleted file mode 100644 index 7ecfe181..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-tree.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - -net.fortuna.ical4j.util Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For Package net.fortuna.ical4j.util -

    -
    -
    -
    Package Hierarchies:
    All Packages
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-use.html b/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-use.html deleted file mode 100644 index 0f906ebe..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/net/fortuna/ical4j/util/package-use.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - -Uses of Package net.fortuna.ical4j.util (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Uses of Package
    net.fortuna.ical4j.util

    -
    - - - - - - - - - -
    -Packages that use net.fortuna.ical4j.util
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j. 
    -  -

    - - - - - - - - - - - - - - - - - - - - -
    -Classes in net.fortuna.ical4j.util used by net.fortuna.ical4j.util
    DecoderFactory - -
    -          Abstract base class for decoder factory implementations.
    EncoderFactory - -
    -          Abstract base class for encoder factory implementations.
    HostInfo - -
    -          Provides platform-independent host information.
    ParameterValidator - -
    -          $Id$ [15-May-2004] - - Defines methods for validating parameters and parameter - lists.
    PropertyValidator - -
    -          $Id$ [15-May-2004] - - Defines methods for validating properties and property lists.
    -  -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/overview-frame.html b/libs/ical4j-1.0.4/docs/apidocs/overview-frame.html deleted file mode 100644 index d9297d2f..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/overview-frame.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -Overview List (iCal4j 1.0.4 API) - - - - - - - - - - - - - - - -
    -
    - - - - - -
    All Classes -

    - -Packages -
    -net.fortuna.ical4j.data -
    -net.fortuna.ical4j.filter -
    -net.fortuna.ical4j.model -
    -net.fortuna.ical4j.model.component -
    -net.fortuna.ical4j.model.parameter -
    -net.fortuna.ical4j.model.property -
    -net.fortuna.ical4j.transform -
    -net.fortuna.ical4j.util -
    -

    - -

    -  - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/overview-summary.html b/libs/ical4j-1.0.4/docs/apidocs/overview-summary.html deleted file mode 100644 index 15d51bdc..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/overview-summary.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Overview (iCal4j 1.0.4 API) - - - - - - - - - - - - -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -iCal4j 1.0.4 API -

    -
    -A Java library for reading and writing iCalendar (*.ics) files -

    -See: -
    -          Description -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Packages
    net.fortuna.ical4j.dataContains types providing RFC2445 input, output and parsing functionality.
    net.fortuna.ical4j.filterFiltering rules that may be used on lists of components, properties or parameters.
    net.fortuna.ical4j.modelContains core types used to define the iCalendar model.
    net.fortuna.ical4j.model.componentContains types used to represent the iCalendar component model.
    net.fortuna.ical4j.model.parameterContains types used to represent the iCalendar parameter model.
    net.fortuna.ical4j.model.propertyContains types used to represent the iCalendar property model.
    net.fortuna.ical4j.transformContains types used to transform an iCalendar component model according to RFC2446.
    net.fortuna.ical4j.utilContains utility types that provide supporting functionality for iCal4j.
    - -

    -

    -A Java library for reading and writing iCalendar (*.ics) files -

    - -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/overview-tree.html b/libs/ical4j-1.0.4/docs/apidocs/overview-tree.html deleted file mode 100644 index 60086a59..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/overview-tree.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - -Class Hierarchy (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Hierarchy For All Packages

    -
    -
    -
    Package Hierarchies:
    net.fortuna.ical4j.data, net.fortuna.ical4j.filter, net.fortuna.ical4j.model, net.fortuna.ical4j.model.component, net.fortuna.ical4j.model.parameter, net.fortuna.ical4j.model.property, net.fortuna.ical4j.transform, net.fortuna.ical4j.util
    -
    -

    -Class Hierarchy -

    - -

    -Interface Hierarchy -

    - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/resources/inherit.gif b/libs/ical4j-1.0.4/docs/apidocs/resources/inherit.gif deleted file mode 100644 index c814867a13deb0ca7ea2156c6ca1d5a03372af7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZ?wbhEHbIIT!9-C*e{wE9>Kx3D)-;0v)C; KYxQGgum%9JOA&7X diff --git a/libs/ical4j-1.0.4/docs/apidocs/serialized-form.html b/libs/ical4j-1.0.4/docs/apidocs/serialized-form.html deleted file mode 100644 index 30d3ce54..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/serialized-form.html +++ /dev/null @@ -1,4316 +0,0 @@ - - - - - - - -Serialized Form (iCal4j 1.0.4 API) - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -
    -

    -Serialized Form

    -
    -
    - - - - - -
    -Package net.fortuna.ical4j.data
    - -

    - - - - - -
    -Class net.fortuna.ical4j.data.ParserException extends Exception implements Serializable
    - -

    -serialVersionUID: 6116644246112002214L - -

    - - - - - -
    -Serialized Fields
    - -

    -lineNo

    -
    -int lineNo
    -
    -
    -
    -
    -
    - - - - - -
    -Package net.fortuna.ical4j.model
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.AddressList extends Object implements Serializable
    - -

    -serialVersionUID: 81383256078213569L - -

    - - - - - -
    -Serialized Fields
    - -

    -addresses

    -
    -List<E> addresses
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Calendar extends Object implements Serializable
    - -

    -serialVersionUID: -1654118204678581940L - -

    - - - - - -
    -Serialized Fields
    - -

    -properties

    -
    -PropertyList properties
    -
    -
    -
    -
    -
    -

    -components

    -
    -ComponentList components
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.CalendarException extends RuntimeException implements Serializable
    - -

    -serialVersionUID: 3994967097251100771L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Component extends Object implements Serializable
    - -

    -serialVersionUID: 4943193483665822201L - -

    - - - - - -
    -Serialized Fields
    - -

    -name

    -
    -String name
    -
    -
    -
    -
    -
    -

    -properties

    -
    -PropertyList properties
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.ComponentList extends ArrayList implements Serializable
    - -

    -serialVersionUID: 7308557606558767449L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.ConstraintViolationException extends Exception implements Serializable
    - -

    -serialVersionUID: 6728653187698888940L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Content extends Object implements Serializable
    - -

    -serialVersionUID: -2892694760294583989L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Date extends Iso8601 implements Serializable
    - -

    -serialVersionUID: 7136072363141363141L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.DateList extends Object implements Serializable
    - -

    -serialVersionUID: -3700862452550012357L - -

    - - - - - -
    -Serialized Fields
    - -

    -type

    -
    -Value type
    -
    -
    -
    -
    -
    -

    -dates

    -
    -List<E> dates
    -
    -
    -
    -
    -
    -

    -timeZone

    -
    -TimeZone timeZone
    -
    -
    -
    -
    -
    -

    -utc

    -
    -boolean utc
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.DateRange extends Object implements Serializable
    - -

    -serialVersionUID: -7303846680559287286L - -

    - - - - - -
    -Serialized Fields
    - -

    -rangeStart

    -
    -Date rangeStart
    -
    -
    -
    -
    -
    -

    -rangeEnd

    -
    -Date rangeEnd
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.DateTime extends Date implements Serializable
    - -

    -serialVersionUID: -6407231357919440387L - -

    - - - - - -
    -Serialized Fields
    - -

    -time

    -
    -Time time
    -
    -
    -
    -
    -
    -

    -timezone

    -
    -TimeZone timezone
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Dur extends Object implements Serializable
    - -

    -serialVersionUID: 5013232281547134583L - -

    - - - - - -
    -Serialization Methods
    - -

    -

    -readObject

    -
    -private void readObject(ObjectInputStream stream)
    -                 throws IOException,
    -                        ClassNotFoundException
    -
    -
    - -
    Throws: -
    IOException -
    ClassNotFoundException
    -
    -
    - - - - - -
    -Serialized Fields
    - -

    -negative

    -
    -boolean negative
    -
    -
    -
    -
    -
    -

    -weeks

    -
    -int weeks
    -
    -
    -
    -
    -
    -

    -days

    -
    -int days
    -
    -
    -
    -
    -
    -

    -hours

    -
    -int hours
    -
    -
    -
    -
    -
    -

    -minutes

    -
    -int minutes
    -
    -
    -
    -
    -
    -

    -seconds

    -
    -int seconds
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Iso8601 extends Date implements Serializable
    - -

    -serialVersionUID: -4290728005713946811L - -

    - - - - - -
    -Serialized Fields
    - -

    -format

    -
    -DateFormat format
    -
    -
    -
    -
    -
    -

    -gmtFormat

    -
    -DateFormat gmtFormat
    -
    -
    -
    -
    -
    -

    -precision

    -
    -int precision
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.LocationTypeList extends Object implements Serializable
    - -

    -serialVersionUID: -9181735547604179160L - -

    - - - - - -
    -Serialized Fields
    - -

    -locationTypes

    -
    -List<E> locationTypes
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.NumberList extends ArrayList implements Serializable
    - -

    -serialVersionUID: -1667481795613729889L - -

    - - - - - -
    -Serialized Fields
    - -

    -minValue

    -
    -int minValue
    -
    -
    -
    -
    -
    -

    -maxValue

    -
    -int maxValue
    -
    -
    -
    -
    -
    -

    -allowsNegativeValues

    -
    -boolean allowsNegativeValues
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Parameter extends Content implements Serializable
    - -

    -serialVersionUID: -2058497904769713528L - -

    - - - - - -
    -Serialized Fields
    - -

    -name

    -
    -String name
    -
    -
    -
    -
    -
    -

    -factory

    -
    -ParameterFactory factory
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.ParameterFactoryImpl extends AbstractContentFactory implements Serializable
    - -

    -serialVersionUID: -4034423507432249165L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.ParameterFactoryRegistry extends ParameterFactoryImpl implements Serializable
    - -

    -serialVersionUID: -3372324894953715583L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.ParameterList extends Object implements Serializable
    - -

    -serialVersionUID: -1913059830016450169L - -

    - - - - - -
    -Serialized Fields
    - -

    -parameters

    -
    -List<E> parameters
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Period extends DateRange implements Serializable
    - -

    -serialVersionUID: 7321090422911676490L - -

    - - - - - -
    -Serialized Fields
    - -

    -duration

    -
    -Dur duration
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.PeriodList extends Object implements Serializable
    - -

    -serialVersionUID: -2317587285790834492L - -

    - - - - - -
    -Serialized Fields
    - -

    -periods

    -
    -Set<E> periods
    -
    -
    -
    -
    -
    -

    -timezone

    -
    -TimeZone timezone
    -
    -
    -
    -
    -
    -

    -utc

    -
    -boolean utc
    -
    -
    -
    -
    -
    -

    -unmodifiable

    -
    -boolean unmodifiable
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Property extends Content implements Serializable
    - -

    -serialVersionUID: 7048785558435608687L - -

    - - - - - -
    -Serialized Fields
    - -

    -name

    -
    -String name
    -
    -
    -
    -
    -
    -

    -parameters

    -
    -ParameterList parameters
    -
    -
    -
    -
    -
    -

    -factory

    -
    -PropertyFactory factory
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.PropertyFactoryImpl extends AbstractContentFactory implements Serializable
    - -

    -serialVersionUID: -7174232004486979641L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.PropertyFactoryRegistry extends PropertyFactoryImpl implements Serializable
    - -

    -serialVersionUID: 3924903719847189199L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.PropertyList extends ArrayList implements Serializable
    - -

    -serialVersionUID: -8875923766224921031L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Recur extends Object implements Serializable
    - -

    -serialVersionUID: -7333226591784095142L - -

    - - - - - -
    -Serialization Methods
    - -

    -

    -readObject

    -
    -private void readObject(ObjectInputStream stream)
    -                 throws IOException,
    -                        ClassNotFoundException
    -
    -
    - -
    Throws: -
    IOException -
    ClassNotFoundException
    -
    -
    - - - - - -
    -Serialized Fields
    - -

    -frequency

    -
    -String frequency
    -
    -
    -
    -
    -
    -

    -until

    -
    -Date until
    -
    -
    -
    -
    -
    -

    -count

    -
    -int count
    -
    -
    -
    -
    -
    -

    -interval

    -
    -int interval
    -
    -
    -
    -
    -
    -

    -secondList

    -
    -NumberList secondList
    -
    -
    -
    -
    -
    -

    -minuteList

    -
    -NumberList minuteList
    -
    -
    -
    -
    -
    -

    -hourList

    -
    -NumberList hourList
    -
    -
    -
    -
    -
    -

    -dayList

    -
    -WeekDayList dayList
    -
    -
    -
    -
    -
    -

    -monthDayList

    -
    -NumberList monthDayList
    -
    -
    -
    -
    -
    -

    -yearDayList

    -
    -NumberList yearDayList
    -
    -
    -
    -
    -
    -

    -weekNoList

    -
    -NumberList weekNoList
    -
    -
    -
    -
    -
    -

    -monthList

    -
    -NumberList monthList
    -
    -
    -
    -
    -
    -

    -setPosList

    -
    -NumberList setPosList
    -
    -
    -
    -
    -
    -

    -weekStartDay

    -
    -String weekStartDay
    -
    -
    -
    -
    -
    -

    -experimentalValues

    -
    -Map<K,V> experimentalValues
    -
    -
    -
    -
    -
    -

    -calIncField

    -
    -int calIncField
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.TextList extends Object implements Serializable
    - -

    -serialVersionUID: -417427815871330636L - -

    - - - - - -
    -Serialized Fields
    - -

    -texts

    -
    -List<E> texts
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.Time extends Iso8601 implements Serializable
    - -

    -serialVersionUID: -8401010870773304348L - -

    - - - - - -
    -Serialized Fields
    - -

    -utc

    -
    -boolean utc
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.TimeZone extends TimeZone implements Serializable
    - -

    -serialVersionUID: -5620979316746547234L - -

    - - - - - -
    -Serialized Fields
    - -

    -vTimeZone

    -
    -VTimeZone vTimeZone
    -
    -
    -
    -
    -
    -

    -rawOffset

    -
    -int rawOffset
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.UtcOffset extends Object implements Serializable
    - -

    -serialVersionUID: 5883111996721531728L - -

    - - - - - -
    -Serialized Fields
    - -

    -offset

    -
    -long offset
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.ValidationException extends Exception implements Serializable
    - -

    -serialVersionUID: 309245291364742896L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.WeekDay extends Object implements Serializable
    - -

    -serialVersionUID: -4412000990022011469L - -

    - - - - - -
    -Serialized Fields
    - -

    -day

    -
    -String day
    -
    -
    -
    -
    -
    -

    -offset

    -
    -int offset
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.WeekDayList extends ArrayList implements Serializable
    - -

    -serialVersionUID: 1243262497035300445L - -

    -


    - - - - - -
    -Package net.fortuna.ical4j.model.component
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.Available extends Component implements Serializable
    - -

    -serialVersionUID: -2494710612002978763L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.CalendarComponent extends Component implements Serializable
    - -

    -serialVersionUID: -5832972592377720592L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.Daylight extends Observance implements Serializable
    - -

    -serialVersionUID: -2494710612002978763L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.Observance extends Component implements Serializable
    - -

    -serialVersionUID: 2523330383042085994L - -

    - - - - - -
    -Serialized Fields
    - -

    -onsetsMillisec

    -
    -long[] onsetsMillisec
    -
    -
    -
    -
    -
    -

    -onsetsDates

    -
    -DateTime[] onsetsDates
    -
    -
    -
    -
    -
    -

    -onsets

    -
    -Map<K,V> onsets
    -
    -
    -
    -
    -
    -

    -initialOnset

    -
    -Date initialOnset
    -
    -
    -
    -
    -
    -

    -onsetLimit

    -
    -Date onsetLimit
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.Standard extends Observance implements Serializable
    - -

    -serialVersionUID: -4750910013406451159L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.VAlarm extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: -8193965477414653802L - -

    - - - - - -
    -Serialized Fields
    - -

    -actionValidators

    -
    -Map<K,V> actionValidators
    -
    -
    -
    -
    -
    -

    -itipValidator

    -
    -Validator itipValidator
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.VAvailability extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: -3001603309266267258L - -

    - - - - - -
    -Serialized Fields
    - -

    -available

    -
    -ComponentList available
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.VEvent extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: 2547948989200697335L - -

    - - - - - -
    -Serialized Fields
    - -

    -methodValidators

    -
    -Map<K,V> methodValidators
    -
    -
    -
    -
    -
    -

    -alarms

    -
    -ComponentList alarms
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.VFreeBusy extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: 1046534053331139832L - -

    - - - - - -
    -Serialized Fields
    - -

    -methodValidators

    -
    -Map<K,V> methodValidators
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.VJournal extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: -7635140949183238830L - -

    - - - - - -
    -Serialized Fields
    - -

    -methodValidators

    -
    -Map<K,V> methodValidators
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.VTimeZone extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: 5629679741050917815L - -

    - - - - - -
    -Serialized Fields
    - -

    -itipValidator

    -
    -Validator itipValidator
    -
    -
    -
    -
    -
    -

    -observances

    -
    -ComponentList observances
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.VToDo extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: -269658210065896668L - -

    - - - - - -
    -Serialized Fields
    - -

    -methodValidators

    -
    -Map<K,V> methodValidators
    -
    -
    -
    -
    -
    -

    -alarms

    -
    -ComponentList alarms
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.VVenue extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: 4502423035501438515L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.component.XComponent extends CalendarComponent implements Serializable
    - -

    -serialVersionUID: -3622674849097714927L - -

    -


    - - - - - -
    -Package net.fortuna.ical4j.model.parameter
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Abbrev extends Parameter implements Serializable
    - -

    -serialVersionUID: -8650841407406422738L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.AltRep extends Parameter implements Serializable
    - -

    -serialVersionUID: -2445932592596993470L - -

    - - - - - -
    -Serialized Fields
    - -

    -uri

    -
    -URI uri
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Cn extends Parameter implements Serializable
    - -

    -serialVersionUID: -8087119055007093293L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.CuType extends Parameter implements Serializable
    - -

    -serialVersionUID: -3134064324693983052L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.DelegatedFrom extends Parameter implements Serializable
    - -

    -serialVersionUID: -795956139235258568L - -

    - - - - - -
    -Serialized Fields
    - -

    -delegators

    -
    -AddressList delegators
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.DelegatedTo extends Parameter implements Serializable
    - -

    -serialVersionUID: 567577003350648021L - -

    - - - - - -
    -Serialized Fields
    - -

    -delegatees

    -
    -AddressList delegatees
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Dir extends Parameter implements Serializable
    - -

    -serialVersionUID: -8581904779721020689L - -

    - - - - - -
    -Serialized Fields
    - -

    -uri

    -
    -URI uri
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Encoding extends Parameter implements Serializable
    - -

    -serialVersionUID: 7536336461076399077L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.FbType extends Parameter implements Serializable
    - -

    -serialVersionUID: -2217689716824679375L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.FmtType extends Parameter implements Serializable
    - -

    -serialVersionUID: -8764966004966855480L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Language extends Parameter implements Serializable
    - -

    -serialVersionUID: 4864176270266226608L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Member extends Parameter implements Serializable
    - -

    -serialVersionUID: 287348849443687499L - -

    - - - - - -
    -Serialized Fields
    - -

    -groups

    -
    -AddressList groups
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.PartStat extends Parameter implements Serializable
    - -

    -serialVersionUID: -7856347127343842441L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Range extends Parameter implements Serializable
    - -

    -serialVersionUID: -3057531444558393776L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Related extends Parameter implements Serializable
    - -

    -serialVersionUID: 1570525804115869565L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.RelType extends Parameter implements Serializable
    - -

    -serialVersionUID: 5346030888832899016L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Role extends Parameter implements Serializable
    - -

    -serialVersionUID: 1438225631470825963L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Rsvp extends Parameter implements Serializable
    - -

    -serialVersionUID: -5381653882942018012L - -

    - - - - - -
    -Serialized Fields
    - -

    -rsvp

    -
    -Boolean rsvp
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.ScheduleAgent extends Parameter implements Serializable
    - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.ScheduleStatus extends Parameter implements Serializable
    - -

    -serialVersionUID: -96936874776850075L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.SentBy extends Parameter implements Serializable
    - -

    -serialVersionUID: -1169413145174029391L - -

    - - - - - -
    -Serialized Fields
    - -

    -address

    -
    -URI address
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Type extends Parameter implements Serializable
    - -

    -serialVersionUID: -1153398789161059941L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.TzId extends Parameter implements Serializable
    - -

    -serialVersionUID: 2366516258055857879L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Value extends Parameter implements Serializable
    - -

    -serialVersionUID: -7238642734500301768L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.Vvenue extends Parameter implements Serializable
    - -

    -serialVersionUID: -8381878834513491869L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.parameter.XParameter extends Parameter implements Serializable
    - -

    -serialVersionUID: -3372153616695145903L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    -
    - - - - - -
    -Package net.fortuna.ical4j.model.property
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Action extends Property implements Serializable
    - -

    -serialVersionUID: -2353353838411753712L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Attach extends Property implements Serializable
    - -

    -serialVersionUID: 4439949507756383452L - -

    - - - - - -
    -Serialized Fields
    - -

    -uri

    -
    -URI uri
    -
    -
    -
    -
    -
    -

    -binary

    -
    -byte[] binary
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Attendee extends Property implements Serializable
    - -

    -serialVersionUID: 8430929418723298803L - -

    - - - - - -
    -Serialized Fields
    - -

    -calAddress

    -
    -URI calAddress
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.BusyType extends Property implements Serializable
    - -

    -serialVersionUID: -5140360270562621159L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.CalScale extends Property implements Serializable
    - -

    -serialVersionUID: 7446184786984981423L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Categories extends Property implements Serializable
    - -

    -serialVersionUID: -7769987073466681634L - -

    - - - - - -
    -Serialized Fields
    - -

    -categories

    -
    -TextList categories
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Clazz extends Property implements Serializable
    - -

    -serialVersionUID: 4939943639175551481L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Comment extends Property implements Serializable
    - -

    -serialVersionUID: 7519125697719626308L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Completed extends UtcProperty implements Serializable
    - -

    -serialVersionUID: 6824213281785639181L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Contact extends Property implements Serializable
    - -

    -serialVersionUID: -4776654229643771385L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Country extends Property implements Serializable
    - -

    -serialVersionUID: -8091183292558005452L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Created extends UtcProperty implements Serializable
    - -

    -serialVersionUID: -8658935097721652961L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.DateListProperty extends Property implements Serializable
    - -

    -serialVersionUID: 5233773091972759919L - -

    - - - - - -
    -Serialized Fields
    - -

    -dates

    -
    -DateList dates
    -
    -
    -
    -
    -
    -

    -timeZone

    -
    -TimeZone timeZone
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.DateProperty extends Property implements Serializable
    - -

    -serialVersionUID: 3160883132732961321L - -

    - - - - - -
    -Serialized Fields
    - -

    -date

    -
    -Date date
    -
    -
    -
    -
    -
    -

    -timeZone

    -
    -TimeZone timeZone
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Description extends Property implements Serializable
    - -

    -serialVersionUID: 7287564228220558361L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.DtEnd extends DateProperty implements Serializable
    - -

    -serialVersionUID: 8107416684717228297L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.DtStamp extends UtcProperty implements Serializable
    - -

    -serialVersionUID: 7581197869433744070L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.DtStart extends DateProperty implements Serializable
    - -

    -serialVersionUID: -5707097476081111815L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Due extends DateProperty implements Serializable
    - -

    -serialVersionUID: -2965312347832730406L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Duration extends Property implements Serializable
    - -

    -serialVersionUID: 9144969653829796798L - -

    - - - - - -
    -Serialized Fields
    - -

    -duration

    -
    -Dur duration
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.ExDate extends DateListProperty implements Serializable
    - -

    -serialVersionUID: 2635730172243974463L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.ExRule extends Property implements Serializable
    - -

    -serialVersionUID: -9171193801247139294L - -

    - - - - - -
    -Serialized Fields
    - -

    -recur

    -
    -Recur recur
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.ExtendedAddress extends Property implements Serializable
    - -

    -serialVersionUID: 6506776332370144983L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.FreeBusy extends Property implements Serializable
    - -

    -serialVersionUID: -6415954847619338567L - -

    - - - - - -
    -Serialized Fields
    - -

    -periods

    -
    -PeriodList periods
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Geo extends Property implements Serializable
    - -

    -serialVersionUID: -902100715801867636L - -

    - - - - - -
    -Serialized Fields
    - -

    -latitude

    -
    -BigDecimal latitude
    -
    -
    -
    -
    -
    -

    -longitude

    -
    -BigDecimal longitude
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.LastModified extends UtcProperty implements Serializable
    - -

    -serialVersionUID: 5288572652052836062L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Locality extends Property implements Serializable
    - -

    -serialVersionUID: -2324296161017475527L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Location extends Property implements Serializable
    - -

    -serialVersionUID: 8651881536125682401L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.LocationType extends Property implements Serializable
    - -

    -serialVersionUID: -3541686430899510312L - -

    - - - - - -
    -Serialized Fields
    - -

    -locationTypes

    -
    -LocationTypeList locationTypes
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Method extends Property implements Serializable
    - -

    -serialVersionUID: 7220956532685378719L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Name extends Property implements Serializable
    - -

    -serialVersionUID: -6930099834219160086L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Organizer extends Property implements Serializable
    - -

    -serialVersionUID: -5216965653165090725L - -

    - - - - - -
    -Serialized Fields
    - -

    -calAddress

    -
    -URI calAddress
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.PercentComplete extends Property implements Serializable
    - -

    -serialVersionUID: 7788138484983240112L - -

    - - - - - -
    -Serialized Fields
    - -

    -percentage

    -
    -int percentage
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Postalcode extends Property implements Serializable
    - -

    -serialVersionUID: 1983456638722378724L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Priority extends Property implements Serializable
    - -

    -serialVersionUID: -5654367843953827397L - -

    - - - - - -
    -Serialized Fields
    - -

    -level

    -
    -int level
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.ProdId extends Property implements Serializable
    - -

    -serialVersionUID: -2433059917714523286L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.RDate extends DateListProperty implements Serializable
    - -

    -serialVersionUID: -3320381650013860193L - -

    - - - - - -
    -Serialized Fields
    - -

    -periods

    -
    -PeriodList periods
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.RecurrenceId extends DateProperty implements Serializable
    - -

    -serialVersionUID: 4456883817126011006L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Region extends Property implements Serializable
    - -

    -serialVersionUID: 7753849118575885600L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.RelatedTo extends Property implements Serializable
    - -

    -serialVersionUID: -109375299147319752L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Repeat extends Property implements Serializable
    - -

    -serialVersionUID: -1765522613173314831L - -

    - - - - - -
    -Serialized Fields
    - -

    -count

    -
    -int count
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.RequestStatus extends Property implements Serializable
    - -

    -serialVersionUID: -3273944031884755345L - -

    - - - - - -
    -Serialized Fields
    - -

    -statusCode

    -
    -String statusCode
    -
    -
    -
    -
    -
    -

    -description

    -
    -String description
    -
    -
    -
    -
    -
    -

    -exData

    -
    -String exData
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Resources extends Property implements Serializable
    - -

    -serialVersionUID: -848562477226746807L - -

    - - - - - -
    -Serialized Fields
    - -

    -resources

    -
    -TextList resources
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.RRule extends Property implements Serializable
    - -

    -serialVersionUID: -9188265089143001164L - -

    - - - - - -
    -Serialized Fields
    - -

    -recur

    -
    -Recur recur
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Sequence extends Property implements Serializable
    - -

    -serialVersionUID: -1606972893204822853L - -

    - - - - - -
    -Serialized Fields
    - -

    -sequenceNo

    -
    -int sequenceNo
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Status extends Property implements Serializable
    - -

    -serialVersionUID: 7401102230299289898L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.StreetAddress extends Property implements Serializable
    - -

    -serialVersionUID: 6352997029056626656L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Summary extends Property implements Serializable
    - -

    -serialVersionUID: 7709437653910363024L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Tel extends Property implements Serializable
    - -

    -serialVersionUID: 3159826142152932485L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Transp extends Property implements Serializable
    - -

    -serialVersionUID: 3801479657311785518L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Trigger extends UtcProperty implements Serializable
    - -

    -serialVersionUID: 5049421499261722194L - -

    - - - - - -
    -Serialized Fields
    - -

    -duration

    -
    -Dur duration
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.TzId extends Property implements Serializable
    - -

    -serialVersionUID: -522764921502407137L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.TzName extends Property implements Serializable
    - -

    -serialVersionUID: -6930099834219160086L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.TzOffsetFrom extends Property implements Serializable
    - -

    -serialVersionUID: 450274263165493502L - -

    - - - - - -
    -Serialized Fields
    - -

    -offset

    -
    -UtcOffset offset
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.TzOffsetTo extends Property implements Serializable
    - -

    -serialVersionUID: 8213874575051177732L - -

    - - - - - -
    -Serialized Fields
    - -

    -offset

    -
    -UtcOffset offset
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.TzUrl extends Property implements Serializable
    - -

    -serialVersionUID: 9106100107954797406L - -

    - - - - - -
    -Serialized Fields
    - -

    -uri

    -
    -URI uri
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Uid extends Property implements Serializable
    - -

    -serialVersionUID: -7139407612536588584L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Url extends Property implements Serializable
    - -

    -serialVersionUID: 1092576402256525737L - -

    - - - - - -
    -Serialized Fields
    - -

    -uri

    -
    -URI uri
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.UtcProperty extends DateProperty implements Serializable
    - -

    -serialVersionUID: 4850079486497487938L - -

    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.Version extends Property implements Serializable
    - -

    -serialVersionUID: 8872508067309087704L - -

    - - - - - -
    -Serialized Fields
    - -

    -minVersion

    -
    -String minVersion
    -
    -
    -
    -
    -
    -

    -maxVersion

    -
    -String maxVersion
    -
    -
    -
    -
    - -

    - - - - - -
    -Class net.fortuna.ical4j.model.property.XProperty extends Property implements Serializable
    - -

    -serialVersionUID: 2331763266954894541L - -

    - - - - - -
    -Serialized Fields
    - -

    -value

    -
    -String value
    -
    -
    -
    -
    - -

    -


    - - - - - - - - - - - - - - - -
    - -
    - - - -
    -Copyright © 2004-2012 Micronode. All Rights Reserved. - - diff --git a/libs/ical4j-1.0.4/docs/apidocs/stylesheet.css b/libs/ical4j-1.0.4/docs/apidocs/stylesheet.css deleted file mode 100644 index 6ea9e516..00000000 --- a/libs/ical4j-1.0.4/docs/apidocs/stylesheet.css +++ /dev/null @@ -1,29 +0,0 @@ -/* Javadoc style sheet */ - -/* Define colors, fonts and other style attributes here to override the defaults */ - -/* Page background color */ -body { background-color: #FFFFFF; color:#000000 } - -/* Headings */ -h1 { font-size: 145% } - -/* Table colors */ -.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ -.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ -.TableRowColor { background: #FFFFFF; color:#000000 } /* White */ - -/* Font used in left-hand frame lists */ -.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } -.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } -.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } - -/* Navigation bar fonts and colors */ -.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ -.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ -.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} -.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} - -.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} -.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} - diff --git a/libs/ical4j-1.0.4/lib/commons-codec-1.5.jar b/libs/ical4j-1.0.4/lib/commons-codec-1.5.jar deleted file mode 100644 index e9013fed78f333c928ff7f828948b91fcb5a92b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73098 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

    `CF@(u6aLJrk8bq( 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

    lTsdod`N4YNOd~zpxRbR=SJH8j3v}!D-3xf!lHN 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

    QtuRKL5=?> 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�I%cf+< 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ÐmC_Ek=D0Y#HAak~`m;Xqcu?j1b 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 diff --git a/libs/ical4j-1.0.4/AUTHORS b/libs/ical4j-1.0.5/AUTHORS similarity index 100% rename from libs/ical4j-1.0.4/AUTHORS rename to libs/ical4j-1.0.5/AUTHORS diff --git a/libs/ical4j-1.0.4/CHANGELOG b/libs/ical4j-1.0.5/CHANGELOG similarity index 100% rename from libs/ical4j-1.0.4/CHANGELOG rename to libs/ical4j-1.0.5/CHANGELOG diff --git a/libs/ical4j-1.0.4/LICENSE b/libs/ical4j-1.0.5/LICENSE similarity index 97% rename from libs/ical4j-1.0.4/LICENSE rename to libs/ical4j-1.0.5/LICENSE index 8beb847d..57c1e8c5 100644 --- a/libs/ical4j-1.0.4/LICENSE +++ b/libs/ical4j-1.0.5/LICENSE @@ -2,7 +2,7 @@ iCal4j - License ================== -Copyright (c) 2012, Ben Fortuna +Copyright (c) 2013, Ben Fortuna All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/libs/ical4j-1.0.4/README b/libs/ical4j-1.0.5/README similarity index 100% rename from libs/ical4j-1.0.4/README rename to libs/ical4j-1.0.5/README diff --git a/libs/ical4j-1.0.5/docs/apidocs/allclasses-frame.html b/libs/ical4j-1.0.5/docs/apidocs/allclasses-frame.html new file mode 100644 index 00000000..11e71fc1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/allclasses-frame.html @@ -0,0 +1,208 @@ + + + + + + +All Classes (iCal4j 1.0.5 API) + + + + +

    All Classes

    +
    + +
    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/allclasses-noframe.html b/libs/ical4j-1.0.5/docs/apidocs/allclasses-noframe.html new file mode 100644 index 00000000..31627d97 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/allclasses-noframe.html @@ -0,0 +1,208 @@ + + + + + + +All Classes (iCal4j 1.0.5 API) + + + + +

    All Classes

    +
    + +
    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/constant-values.html b/libs/ical4j-1.0.5/docs/apidocs/constant-values.html new file mode 100644 index 00000000..92edd320 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/constant-values.html @@ -0,0 +1,1420 @@ + + + + + + +Constant Field Values (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Constant Field Values

    +

    Contents

    + +
    +
    + + +

    net.fortuna.*

    + +
      +
    • + + + + + + + + + + + + + + + + + + + +
      net.fortuna.ical4j.filter.Filter 
      Modifier and TypeConstant FieldValue
      + +public static final intMATCH_ALL2
      + +public static final intMATCH_ANY1
      +
    • +
    + +
      +
    • + + + + + + + + + + + + + + + + + + + +
      net.fortuna.ical4j.model.component.Observance 
      Modifier and TypeConstant FieldValue
      + +public static final StringDAYLIGHT"DAYLIGHT"
      + +public static final StringSTANDARD"STANDARD"
      +
    • +
    +
      +
    • + + + + + + + + + + + + + + +
      net.fortuna.ical4j.model.parameter.TzId 
      Modifier and TypeConstant FieldValue
      + +public static final StringPREFIX"/"
      +
    • +
    + + +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/deprecated-list.html b/libs/ical4j-1.0.5/docs/apidocs/deprecated-list.html new file mode 100644 index 00000000..34c9b143 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/deprecated-list.html @@ -0,0 +1,198 @@ + + + + + + +Deprecated List (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Deprecated API

    +

    Contents

    + +
    + + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/help-doc.html b/libs/ical4j-1.0.5/docs/apidocs/help-doc.html new file mode 100644 index 00000000..f8ebe5f3 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/help-doc.html @@ -0,0 +1,218 @@ + + + + + + +API Help (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    How This API Document Is Organized

    +

    This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

    +
    +
    +
      +
    • +

      Overview

      +

      The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

      +
    • +
    • +

      Package

      +

      Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

      +
        +
      • Interfaces (italic)
      • +
      • Classes
      • +
      • Enums
      • +
      • Exceptions
      • +
      • Errors
      • +
      • Annotation Types
      • +
      +
    • +
    • +

      Class/Interface

      +

      Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      +
        +
      • Class inheritance diagram
      • +
      • Direct Subclasses
      • +
      • All Known Subinterfaces
      • +
      • All Known Implementing Classes
      • +
      • Class/interface declaration
      • +
      • Class/interface description
      • +
      +
        +
      • Nested Class Summary
      • +
      • Field Summary
      • +
      • Constructor Summary
      • +
      • Method Summary
      • +
      +
        +
      • Field Detail
      • +
      • Constructor Detail
      • +
      • Method Detail
      • +
      +

      Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

      +
    • +
    • +

      Annotation Type

      +

      Each annotation type has its own separate page with the following sections:

      +
        +
      • Annotation Type declaration
      • +
      • Annotation Type description
      • +
      • Required Element Summary
      • +
      • Optional Element Summary
      • +
      • Element Detail
      • +
      +
    • +
    • +

      Enum

      +

      Each enum has its own separate page with the following sections:

      +
        +
      • Enum declaration
      • +
      • Enum description
      • +
      • Enum Constant Summary
      • +
      • Enum Constant Detail
      • +
      +
    • +
    • +

      Use

      +

      Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.

      +
    • +
    • +

      Tree (Class Hierarchy)

      +

      There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

      +
        +
      • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
      • +
      • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
      • +
      +
    • +
    • +

      Deprecated API

      +

      The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

      +
    • +
    • +

      Index

      +

      The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

      +
    • +
    • +

      Prev/Next

      +

      These links take you to the next or previous class, interface, package, or related page.

      +
    • +
    • +

      Frames/No Frames

      +

      These links show and hide the HTML frames. All pages are available with or without frames.

      +
    • +
    • +

      Serialized Form

      +

      Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

      +
    • +
    • +

      Constant Field Values

      +

      The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.

      +
    • +
    +This help file applies to API documentation generated using the standard doclet.
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/index-all.html b/libs/ical4j-1.0.5/docs/apidocs/index-all.html new file mode 100644 index 00000000..b41230e0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/index-all.html @@ -0,0 +1,6112 @@ + + + + + + +Index (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    A B C D E F G H I K L M N O P Q R S T U V W X Y  + + +

    A

    +
    +
    Abbrev - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines an Abbreviation parameter.
    +
    +
    ABBREV - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Region abbreviation.
    +
    +
    Abbrev(String) - Constructor for class net.fortuna.ical4j.model.parameter.Abbrev
    +
     
    +
    AbstractContentFactory - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 28/01/2007 + + Abstract implementation of a content factory.
    +
    +
    AbstractContentFactory() - Constructor for class net.fortuna.ical4j.model.AbstractContentFactory
    +
    +
    Default constructor.
    +
    +
    AbstractDateRule - Class in net.fortuna.ical4j.filter
    +
     
    +
    AbstractDateRule() - Constructor for class net.fortuna.ical4j.filter.AbstractDateRule
    +
     
    +
    AbstractOutputter - Class in net.fortuna.ical4j.data
    +
    +
    Base class for model outputters.
    +
    +
    AbstractOutputter() - Constructor for class net.fortuna.ical4j.data.AbstractOutputter
    +
    +
    Default constructor.
    +
    +
    AbstractOutputter(boolean) - Constructor for class net.fortuna.ical4j.data.AbstractOutputter
    +
     
    +
    AbstractOutputter(boolean, int) - Constructor for class net.fortuna.ical4j.data.AbstractOutputter
    +
     
    +
    ACCEPTED - Static variable in class net.fortuna.ical4j.model.parameter.PartStat
    +
    +
    Accepted.
    +
    +
    Action - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines an ACTION iCalendar component property.
    +
    +
    ACTION - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Alarm action property name.
    +
    +
    Action() - Constructor for class net.fortuna.ical4j.model.property.Action
    +
    +
    Default constructor.
    +
    +
    Action(String) - Constructor for class net.fortuna.ical4j.model.property.Action
    +
     
    +
    Action(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Action
    +
     
    +
    add(URI) - Method in class net.fortuna.ical4j.model.AddressList
    +
    +
    Add an address to the list.
    +
    +
    add(Component) - Method in class net.fortuna.ical4j.model.ComponentList
    +
    +
    Add a component to the list.
    +
    +
    add(Object) - Method in class net.fortuna.ical4j.model.ComponentList
    +
    +
    Overrides superclass to throw an IllegalArgumentException where argument is not a + net.fortuna.ical4j.model.Component.
    +
    +
    add(Date) - Method in class net.fortuna.ical4j.model.DateList
    +
    +
    Add a date to the list.
    +
    +
    add(Object) - Method in class net.fortuna.ical4j.model.DateList
    +
    +
    Overrides superclass to throw an IllegalArgumentException + Where argument is not a net.fortuna.ical4j.model.Date.
    +
    +
    add(int, Object) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    add(Dur) - Method in class net.fortuna.ical4j.model.Dur
    +
    +
    Add two durations.
    +
    +
    add(String) - Method in class net.fortuna.ical4j.model.LocationTypeList
    +
    +
    Add a location type to the list.
    +
    +
    add(Integer) - Method in class net.fortuna.ical4j.model.NumberList
    +
     
    +
    add(Object) - Method in class net.fortuna.ical4j.model.NumberList
    +
    +
    Overrides superclass to throw an IllegalArgumentException + where argument is not a java.lang.Integer.
    +
    +
    add(Parameter) - Method in class net.fortuna.ical4j.model.ParameterList
    +
    +
    Add a parameter to the list.
    +
    +
    add(Period) - Method in class net.fortuna.ical4j.model.Period
    +
    +
    Creates a period that encompasses both this period and another one.
    +
    +
    add(Period) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    Add a period to the list.
    +
    +
    add(Object) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    Overrides superclass to throw an IllegalArgumentException + where argument is not a net.fortuna.ical4j.model.Period.
    +
    +
    add(PeriodList) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    A convenience method that combines all the periods in the specified list to + this list.
    +
    +
    ADD - Static variable in class net.fortuna.ical4j.model.property.Method
    +
    +
    Add one or more instances to an existing VEVENT, VTODO, or VJOURNAL.
    +
    +
    add(Property) - Method in class net.fortuna.ical4j.model.PropertyList
    +
    +
    Add a property to the list.
    +
    +
    add(Object) - Method in class net.fortuna.ical4j.model.PropertyList
    +
    +
    Overrides superclass to throw an IllegalArgumentException where argument is not a + net.fortuna.ical4j.model.Property.
    +
    +
    add(String) - Method in class net.fortuna.ical4j.model.TextList
    +
    +
    Add an address to the list.
    +
    +
    add(WeekDay) - Method in class net.fortuna.ical4j.model.WeekDayList
    +
     
    +
    add(Object) - Method in class net.fortuna.ical4j.model.WeekDayList
    +
    +
    Overrides superclass to throw an IllegalArgumentException + where argument is not a net.fortuna.ical4j.model.WeekDay.
    +
    +
    addAll(Collection) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    addAll(int, Collection) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    addAll(Collection) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    AddressList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [23-Apr-2004] + + Defines a list of iCalendar addresses.
    +
    +
    AddressList() - Constructor for class net.fortuna.ical4j.model.AddressList
    +
    +
    Default constructor.
    +
    +
    AddressList(String) - Constructor for class net.fortuna.ical4j.model.AddressList
    +
    +
    Parses the specified string representation to create a list of addresses.
    +
    +
    adjacent(DateRange) - Method in class net.fortuna.ical4j.model.DateRange
    +
    +
    Decides whether these periods are serial without a gap.
    +
    +
    after(DateRange) - Method in class net.fortuna.ical4j.model.DateRange
    +
    +
    Decides whether this period starts after the given period ends.
    +
    +
    allowIllegalNames() - Method in class net.fortuna.ical4j.model.AbstractContentFactory
    +
     
    +
    allowIllegalNames() - Method in class net.fortuna.ical4j.model.ComponentFactory
    +
     
    +
    AltRep - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines an Alternate Text Representation parameter.
    +
    +
    ALTREP - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Alternate text representation.
    +
    +
    AltRep(String) - Constructor for class net.fortuna.ical4j.model.parameter.AltRep
    +
     
    +
    AltRep(URI) - Constructor for class net.fortuna.ical4j.model.parameter.AltRep
    +
     
    +
    assertNone(String, ComponentList) - Static method in class net.fortuna.ical4j.util.ComponentValidator
    +
     
    +
    assertNone(String, ParameterList) - Method in class net.fortuna.ical4j.util.ParameterValidator
    +
    +
    Ensure a parameter doesn't occur in the specified list.
    +
    +
    assertNone(String, PropertyList) - Method in class net.fortuna.ical4j.util.PropertyValidator
    +
    +
    Ensure a property doesn't occur in the specified list.
    +
    +
    assertNullOrEqual(Parameter, ParameterList) - Method in class net.fortuna.ical4j.util.ParameterValidator
    +
     
    +
    assertOne(String, ParameterList) - Method in class net.fortuna.ical4j.util.ParameterValidator
    +
    +
    Ensure a parameter occurs once.
    +
    +
    assertOne(String, PropertyList) - Method in class net.fortuna.ical4j.util.PropertyValidator
    +
    +
    Ensure a property occurs once.
    +
    +
    assertOneOrLess(String, ComponentList) - Static method in class net.fortuna.ical4j.util.ComponentValidator
    +
     
    +
    assertOneOrLess(String, ParameterList) - Method in class net.fortuna.ical4j.util.ParameterValidator
    +
    +
    Ensure a parameter occurs no more than once.
    +
    +
    assertOneOrLess(String, PropertyList) - Method in class net.fortuna.ical4j.util.PropertyValidator
    +
    +
    Ensure a property occurs no more than once.
    +
    +
    assertOneOrMore(String, PropertyList) - Method in class net.fortuna.ical4j.util.PropertyValidator
    +
    +
    Ensure a property occurs at least once.
    +
    +
    Attach - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTACH iCalendar component property.
    +
    +
    ATTACH - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Attachment property name.
    +
    +
    Attach() - Constructor for class net.fortuna.ical4j.model.property.Attach
    +
    +
    Default constructor.
    +
    +
    Attach(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    Attach(byte[]) - Constructor for class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    Attach(ParameterList, byte[]) - Constructor for class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    Attach(URI) - Constructor for class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    Attach(ParameterList, URI) - Constructor for class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    Attendee - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTENDEE iCalendar component property.
    +
    +
    ATTENDEE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Attendee property name.
    +
    +
    Attendee() - Constructor for class net.fortuna.ical4j.model.property.Attendee
    +
    +
    Default constructor.
    +
    +
    Attendee(String) - Constructor for class net.fortuna.ical4j.model.property.Attendee
    +
     
    +
    Attendee(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Attendee
    +
     
    +
    Attendee(URI) - Constructor for class net.fortuna.ical4j.model.property.Attendee
    +
     
    +
    Attendee(ParameterList, URI) - Constructor for class net.fortuna.ical4j.model.property.Attendee
    +
     
    +
    AUDIO - Static variable in class net.fortuna.ical4j.model.property.Action
    +
    +
    Constant action for playing an audible sound.
    +
    +
    Available - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [05-Apr-2004] + + Defines an iCalendar Available component.
    +
    +
    AVAILABLE - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    Available() - Constructor for class net.fortuna.ical4j.model.component.Available
    +
    +
    Default constructor.
    +
    +
    Available(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.Available
    +
    +
    Constructor.
    +
    +
    + + + +

    B

    +
    +
    BASE64 - Static variable in class net.fortuna.ical4j.model.parameter.Encoding
    +
    +
    Base64 encoding.
    +
    +
    before(DateRange) - Method in class net.fortuna.ical4j.model.DateRange
    +
    +
    Decides whether this period is completed before the given period starts.
    +
    +
    BEGIN - Static variable in class net.fortuna.ical4j.model.Calendar
    +
    +
    Begin token.
    +
    +
    BEGIN - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component start token.
    +
    +
    BINARY - Static variable in class net.fortuna.ical4j.model.parameter.Encoding
    +
    +
    Binary encoding.
    +
    +
    BINARY - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Binary value type.
    +
    +
    BOOLEAN - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Boolean value type.
    +
    +
    build(InputStream) - Method in class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    Builds an iCalendar model from the specified input stream.
    +
    +
    build(Reader) - Method in class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    Builds an iCalendar model from the specified reader.
    +
    +
    build(UnfoldingReader) - Method in class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    Build an iCalendar model by parsing data from the specified reader.
    +
    +
    BUSY - Static variable in class net.fortuna.ical4j.model.parameter.FbType
    +
    +
    Busy time.
    +
    +
    BUSY - Static variable in class net.fortuna.ical4j.model.property.BusyType
    +
    +
    Constant for busy time.
    +
    +
    BUSY_TENTATIVE - Static variable in class net.fortuna.ical4j.model.parameter.FbType
    +
    +
    Busy (tentative) time.
    +
    +
    BUSY_TENTATIVE - Static variable in class net.fortuna.ical4j.model.property.BusyType
    +
    +
    Constant for tentatively busy time.
    +
    +
    BUSY_UNAVAILABLE - Static variable in class net.fortuna.ical4j.model.parameter.FbType
    +
    +
    Busy (unavailable) time.
    +
    +
    BUSY_UNAVAILABLE - Static variable in class net.fortuna.ical4j.model.property.BusyType
    +
    +
    Constant for busy unavailable time.
    +
    +
    BusyType - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a BUSYTYPE iCalendar component property.
    +
    +
    BUSYTYPE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Busy type property name.
    +
    +
    BusyType() - Constructor for class net.fortuna.ical4j.model.property.BusyType
    +
    +
    Default constructor.
    +
    +
    BusyType(String) - Constructor for class net.fortuna.ical4j.model.property.BusyType
    +
     
    +
    BusyType(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.BusyType
    +
     
    +
    + + + +

    C

    +
    +
    CAL_ADDRESS - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Calendar address value type.
    +
    +
    calculateRecurrenceSet(Period) - Method in class net.fortuna.ical4j.model.Component
    +
    +
    Calculates the recurrence set for this component using the specified period.
    +
    +
    calendar - Variable in class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    The calendar instance created by the builder.
    +
    +
    Calendar - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar calendar.
    +
    +
    Calendar() - Constructor for class net.fortuna.ical4j.model.Calendar
    +
    +
    Default constructor.
    +
    +
    Calendar(ComponentList) - Constructor for class net.fortuna.ical4j.model.Calendar
    +
    +
    Constructs a new calendar with no properties and the specified components.
    +
    +
    Calendar(PropertyList, ComponentList) - Constructor for class net.fortuna.ical4j.model.Calendar
    +
    +
    Constructor.
    +
    +
    Calendar(Calendar) - Constructor for class net.fortuna.ical4j.model.Calendar
    +
    +
    Creates a deep copy of the specified calendar.
    +
    +
    CalendarBuilder - Class in net.fortuna.ical4j.data
    +
    +
    Parses and builds an iCalendar model from an input stream.
    +
    +
    CalendarBuilder() - Constructor for class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    Default constructor.
    +
    +
    CalendarBuilder(CalendarParser) - Constructor for class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    Constructs a new calendar builder using the specified calendar parser.
    +
    +
    CalendarBuilder(TimeZoneRegistry) - Constructor for class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    Constructs a new calendar builder using the specified timezone registry.
    +
    +
    CalendarBuilder(CalendarParser, TimeZoneRegistry) - Constructor for class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    Constructs a new instance using the specified parser and registry.
    +
    +
    CalendarBuilder(CalendarParser, PropertyFactoryRegistry, ParameterFactoryRegistry, TimeZoneRegistry) - Constructor for class net.fortuna.ical4j.data.CalendarBuilder
    +
     
    +
    CalendarComponent - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ + + Created on 26/02/2006 + + Base class for components that may be added to a calendar.
    +
    +
    CalendarComponent(String) - Constructor for class net.fortuna.ical4j.model.component.CalendarComponent
    +
     
    +
    CalendarComponent(String, PropertyList) - Constructor for class net.fortuna.ical4j.model.component.CalendarComponent
    +
     
    +
    CalendarDateFormatFactory - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [06-Apr-2004] + + Creates DateFormat objects optimized for common iCalendar date patterns.
    +
    +
    CalendarException - Exception in net.fortuna.ical4j.model
    +
     
    +
    CalendarException(String) - Constructor for exception net.fortuna.ical4j.model.CalendarException
    +
     
    +
    CalendarException(Throwable) - Constructor for exception net.fortuna.ical4j.model.CalendarException
    +
     
    +
    CalendarOutputter - Class in net.fortuna.ical4j.data
    +
    +
    + $Id$ [Apr 5, 2004]
    +
    +
    CalendarOutputter() - Constructor for class net.fortuna.ical4j.data.CalendarOutputter
    +
    +
    Default constructor.
    +
    +
    CalendarOutputter(boolean) - Constructor for class net.fortuna.ical4j.data.CalendarOutputter
    +
     
    +
    CalendarOutputter(boolean, int) - Constructor for class net.fortuna.ical4j.data.CalendarOutputter
    +
     
    +
    CalendarParser - Interface in net.fortuna.ical4j.data
    +
    +
    + $Id$ + + Created [Nov 5, 2004]
    +
    +
    CalendarParserFactory - Class in net.fortuna.ical4j.data
    +
    +
    + $Id$ + + Created on 08/02/2007
    +
    +
    CalendarParserFactory() - Constructor for class net.fortuna.ical4j.data.CalendarParserFactory
    +
     
    +
    CalendarParserImpl - Class in net.fortuna.ical4j.data
    +
    +
    + $Id$ + + Created [Nov 5, 2004]
    +
    +
    CalendarParserImpl() - Constructor for class net.fortuna.ical4j.data.CalendarParserImpl
    +
     
    +
    Calendars - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ + + Created on 10/11/2006 + + Utility method for working with Calendars.
    +
    +
    CalScale - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a CALSCALE iCalendar property.
    +
    +
    CALSCALE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Calendar scale property name.
    +
    +
    CalScale() - Constructor for class net.fortuna.ical4j.model.property.CalScale
    +
    +
    Default constructor.
    +
    +
    CalScale(String) - Constructor for class net.fortuna.ical4j.model.property.CalScale
    +
     
    +
    CalScale(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.CalScale
    +
     
    +
    CANCEL - Static variable in class net.fortuna.ical4j.model.property.Method
    +
    +
    Cancel one or more instances of an existing VEVENT, VTODO, or VJOURNAL.
    +
    +
    Categories - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a CATEGORIES iCalendar component property.
    +
    +
    CATEGORIES - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Categories property name.
    +
    +
    Categories() - Constructor for class net.fortuna.ical4j.model.property.Categories
    +
    +
    Default constructor.
    +
    +
    Categories(String) - Constructor for class net.fortuna.ical4j.model.property.Categories
    +
     
    +
    Categories(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Categories
    +
     
    +
    Categories(TextList) - Constructor for class net.fortuna.ical4j.model.property.Categories
    +
     
    +
    Categories(ParameterList, TextList) - Constructor for class net.fortuna.ical4j.model.property.Categories
    +
     
    +
    CHAIR - Static variable in class net.fortuna.ical4j.model.parameter.Role
    +
    +
    Chair.
    +
    +
    CHILD - Static variable in class net.fortuna.ical4j.model.parameter.RelType
    +
    +
    Child.
    +
    +
    CLASS - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Classifier property name.
    +
    +
    Clazz - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a CLASS iCalendar property.
    +
    +
    Clazz() - Constructor for class net.fortuna.ical4j.model.property.Clazz
    +
    +
    Default constructor.
    +
    +
    Clazz(String) - Constructor for class net.fortuna.ical4j.model.property.Clazz
    +
     
    +
    Clazz(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Clazz
    +
     
    +
    clear() - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    clear() - Method in class net.fortuna.ical4j.model.PeriodList
    +
    clear() - Method in interface net.fortuna.ical4j.model.TimeZoneRegistry
    +
    +
    Clears all registered timezones.
    +
    +
    clear() - Method in class net.fortuna.ical4j.model.TimeZoneRegistryImpl
    +
    +
    Clears all registered timezones.
    +
    +
    clearHintEnabled(String) - Static method in class net.fortuna.ical4j.util.CompatibilityHints
    +
     
    +
    CLIENT - Static variable in class net.fortuna.ical4j.model.parameter.ScheduleAgent
    +
     
    +
    CLIENT_ERROR - Static variable in class net.fortuna.ical4j.model.property.RequestStatus
    +
    +
    Client error status.
    +
    +
    Cn - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Common Name parameter.
    +
    +
    CN - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Common name.
    +
    +
    Cn(String) - Constructor for class net.fortuna.ical4j.model.parameter.Cn
    +
     
    +
    Comment - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a COMMENT iCalendar component property.
    +
    +
    COMMENT - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Comment property name.
    +
    +
    Comment() - Constructor for class net.fortuna.ical4j.model.property.Comment
    +
    +
    Default constructor.
    +
    +
    Comment(String) - Constructor for class net.fortuna.ical4j.model.property.Comment
    +
     
    +
    Comment(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Comment
    +
     
    +
    compareTo(Object) - Method in class net.fortuna.ical4j.model.Dur
    +
    compareTo(Dur) - Method in class net.fortuna.ical4j.model.Dur
    +
    +
    Compares this duration with another, acording to their length.
    +
    +
    compareTo(Object) - Method in class net.fortuna.ical4j.model.Period
    +
    compareTo(Period) - Method in class net.fortuna.ical4j.model.Period
    +
    +
    Compares the specified period with this period.
    +
    +
    CompatibilityHints - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ + + Created on 9/03/2006 + + A set of keys used to enable compatibility features.
    +
    +
    COMPLETED - Static variable in class net.fortuna.ical4j.model.parameter.PartStat
    +
    +
    Completed.
    +
    +
    Completed - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a COMPLETED iCalendar component property.
    +
    +
    COMPLETED - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Completed date property name.
    +
    +
    Completed() - Constructor for class net.fortuna.ical4j.model.property.Completed
    +
    +
    Default constructor.
    +
    +
    Completed(String) - Constructor for class net.fortuna.ical4j.model.property.Completed
    +
     
    +
    Completed(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Completed
    +
     
    +
    Completed(DateTime) - Constructor for class net.fortuna.ical4j.model.property.Completed
    +
     
    +
    Completed(ParameterList, DateTime) - Constructor for class net.fortuna.ical4j.model.property.Completed
    +
     
    +
    component - Variable in class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    The current component instance created by the builder.
    +
    +
    Component - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar component.
    +
    +
    Component(String) - Constructor for class net.fortuna.ical4j.model.Component
    +
    +
    Constructs a new component containing no properties.
    +
    +
    Component(String, PropertyList) - Constructor for class net.fortuna.ical4j.model.Component
    +
    +
    Constructor made protected to enforce the use of ComponentFactory for component instantiation.
    +
    +
    ComponentFactory - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [05-Apr-2004] + + A factory for creating iCalendar components.
    +
    +
    ComponentList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [Apr 5, 2004] + + Defines a list of iCalendar components.
    +
    +
    ComponentList() - Constructor for class net.fortuna.ical4j.model.ComponentList
    +
    +
    Default constructor.
    +
    +
    ComponentList(int) - Constructor for class net.fortuna.ical4j.model.ComponentList
    +
    +
    Creates a new instance with the specified initial capacity.
    +
    +
    ComponentList(ComponentList) - Constructor for class net.fortuna.ical4j.model.ComponentList
    +
    +
    Creates a deep copy of the specified component list.
    +
    +
    ComponentRule - Class in net.fortuna.ical4j.filter
    +
    +
    $Id$ + + Created on 2/02/2006 + + An abstract rule implementation serving as the base class for component matching rule implementations.
    +
    +
    ComponentRule() - Constructor for class net.fortuna.ical4j.filter.ComponentRule
    +
     
    +
    ComponentValidator - Class in net.fortuna.ical4j.util
    +
     
    +
    CONFIDENTIAL - Static variable in class net.fortuna.ical4j.model.property.Clazz
    +
    +
    Constant for confidential classification.
    +
    +
    Configurator - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ + + Created on 06/02/2008 + + Provides configuration properties specified either as system properties + or in an ical4j.properties configuration file.
    +
    +
    Constants - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ + + Created on 5/07/2005 + + Provides some convenience methods for working with constant + parameters and properties.
    +
    +
    ConstraintViolationException - Exception in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 02/03/2008 + + Indicates the violation of a constraint imposed by a relevant specification.
    +
    +
    ConstraintViolationException() - Constructor for exception net.fortuna.ical4j.model.ConstraintViolationException
    +
    +
    Default constructor.
    +
    +
    ConstraintViolationException(String) - Constructor for exception net.fortuna.ical4j.model.ConstraintViolationException
    +
     
    +
    Contact - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a CONTACT iCalendar component property.
    +
    +
    CONTACT - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Contact property name.
    +
    +
    Contact() - Constructor for class net.fortuna.ical4j.model.property.Contact
    +
    +
    Default constructor.
    +
    +
    Contact(String) - Constructor for class net.fortuna.ical4j.model.property.Contact
    +
     
    +
    Contact(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Contact
    +
     
    +
    contains(Object) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    contains(DateRange) - Method in class net.fortuna.ical4j.model.DateRange
    +
    +
    Decides whether the given period is completely contained within this one.
    +
    +
    contains(Object) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    containsAll(Collection) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    containsAll(Collection) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    Content - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created: 12/10/2004 + + Base class for calendar content in the form of + properties and parameters.
    +
    +
    Content() - Constructor for class net.fortuna.ical4j.model.Content
    +
     
    +
    ContentHandler - Interface in net.fortuna.ical4j.data
    +
    +
    + $Id$ [Nov 5, + 2004]
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.Component
    +
    +
    Create a (deep) copy of this component.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Overrides default copy method to add support for copying alarm sub-components.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
    +
    Overrides default copy method to add support for copying observance sub-components.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Overrides default copy method to add support for copying alarm sub-components.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.Parameter
    +
    +
    Deep copy of parameter.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.parameter.Rsvp
    +
    +
    Deep copy of parameter.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.property.Attendee
    +
    +
    Create a (deep) copy of this property.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.Property
    +
    +
    Create a (deep) copy of this property.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.property.DateListProperty
    +
    +
    Create a (deep) copy of this property.
    +
    +
    copy() - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    +
    Create a (deep) copy of this property.
    +
    +
    COUNTER - Static variable in class net.fortuna.ical4j.model.property.Method
    +
    +
    The Counter method is used by an "Attendee" to negotiate a change in the calendar entry.
    +
    +
    Country - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
    +
    +
    COUNTRY - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE country property name.
    +
    +
    Country() - Constructor for class net.fortuna.ical4j.model.property.Country
    +
    +
    Default constructor.
    +
    +
    Country(String) - Constructor for class net.fortuna.ical4j.model.property.Country
    +
     
    +
    Country(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Country
    +
     
    +
    create(String) - Static method in class net.fortuna.ical4j.util.Uris
    +
    +
    Attempts to create a URI instance and will optionally swallow any resulting URISyntaxException depending on + configured CompatibilityHints.
    +
    +
    createBinaryDecoder(Encoding) - Method in class net.fortuna.ical4j.util.DecoderFactory
    +
    +
    Returns a new BinaryDecoder for the specified encoding.
    +
    +
    createBinaryDecoder(Encoding) - Method in class net.fortuna.ical4j.util.DefaultDecoderFactory
    +
    +
    Returns a new BinaryDecoder for the specified encoding.
    +
    +
    createBinaryEncoder(Encoding) - Method in class net.fortuna.ical4j.util.DefaultEncoderFactory
    +
    +
    Returns a new BinaryEncoder for the specified encoding.
    +
    +
    createBinaryEncoder(Encoding) - Method in class net.fortuna.ical4j.util.EncoderFactory
    +
    +
    Returns a new BinaryEncoder for the specified encoding.
    +
    +
    createComponent(String) - Method in class net.fortuna.ical4j.model.ComponentFactory
    +
     
    +
    createComponent(String, PropertyList) - Method in class net.fortuna.ical4j.model.ComponentFactory
    +
    +
    Creates a component.
    +
    +
    createComponent(String, PropertyList, ComponentList) - Method in class net.fortuna.ical4j.model.ComponentFactory
    +
    +
    Creates a component which contains sub-components.
    +
    +
    Created - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a CREATED iCalendar component property.
    +
    +
    CREATED - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Creation date property name.
    +
    +
    Created() - Constructor for class net.fortuna.ical4j.model.property.Created
    +
    +
    Default constructor.
    +
    +
    Created(String) - Constructor for class net.fortuna.ical4j.model.property.Created
    +
     
    +
    Created(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Created
    +
     
    +
    Created(DateTime) - Constructor for class net.fortuna.ical4j.model.property.Created
    +
     
    +
    Created(ParameterList, DateTime) - Constructor for class net.fortuna.ical4j.model.property.Created
    +
     
    +
    createParameter(String, String) - Method in interface net.fortuna.ical4j.model.ParameterFactory
    +
    +
    Returns a parameter instance of the appropriate type with the specified value.
    +
    +
    createParameter(String, String) - Method in class net.fortuna.ical4j.model.ParameterFactoryImpl
    +
    +
    Creates a parameter.
    +
    +
    createParser() - Method in class net.fortuna.ical4j.data.CalendarParserFactory
    +
    +
    Returns a new instance of the configured CalendarParser.
    +
    +
    createParser() - Method in class net.fortuna.ical4j.data.DefaultCalendarParserFactory
    +
    +
    Returns a new instance of the configured CalendarParser.
    +
    +
    createParser() - Method in class net.fortuna.ical4j.data.HCalendarParserFactory
    +
    +
    Returns a new instance of the configured CalendarParser.
    +
    +
    createProperty(String) - Method in interface net.fortuna.ical4j.model.PropertyFactory
    +
     
    +
    createProperty(String, ParameterList, String) - Method in interface net.fortuna.ical4j.model.PropertyFactory
    +
     
    +
    createProperty(String) - Method in class net.fortuna.ical4j.model.PropertyFactoryImpl
    +
    createProperty(String, ParameterList, String) - Method in class net.fortuna.ical4j.model.PropertyFactoryImpl
    +
    createRegistry() - Method in class net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory
    +
    +
    Returns a new instance of the configured TimeZoneRegistry.
    +
    +
    createRegistry() - Method in class net.fortuna.ical4j.model.TimeZoneRegistryFactory
    +
    +
    Returns a new instance of the configured TimeZoneRegistry.
    +
    +
    createStringDecoder(Encoding) - Method in class net.fortuna.ical4j.util.DecoderFactory
    +
    +
    Returns a new StringDecoder for the specified encoding.
    +
    +
    createStringDecoder(Encoding) - Method in class net.fortuna.ical4j.util.DefaultDecoderFactory
    +
    +
    Returns a new StringDecoder for the specified encoding.
    +
    +
    createStringEncoder(Encoding) - Method in class net.fortuna.ical4j.util.DefaultEncoderFactory
    +
    +
    Returns a new StringEncoder for the specified encoding.
    +
    +
    createStringEncoder(Encoding) - Method in class net.fortuna.ical4j.util.EncoderFactory
    +
    +
    Returns a new StringEncoder for the specified encoding.
    +
    +
    CuType - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Calendar User Type.
    +
    +
    CUTYPE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Calendar user type.
    +
    +
    CuType(String) - Constructor for class net.fortuna.ical4j.model.parameter.CuType
    +
     
    +
    + + + +

    D

    +
    +
    DAILY - Static variable in class net.fortuna.ical4j.model.Recur
    +
    +
    Day frequency resolution.
    +
    +
    Date - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 26/06/2005 + + Base class for all representations of time values in RFC2445.
    +
    +
    Date() - Constructor for class net.fortuna.ical4j.model.Date
    +
    +
    Default constructor.
    +
    +
    Date(int, TimeZone) - Constructor for class net.fortuna.ical4j.model.Date
    +
    +
    Creates a new date instance with the specified precision.
    +
    +
    Date(long) - Constructor for class net.fortuna.ical4j.model.Date
    +
     
    +
    Date(long, int, TimeZone) - Constructor for class net.fortuna.ical4j.model.Date
    +
    +
    Creates a new date instance with the specified precision.
    +
    +
    Date(Date) - Constructor for class net.fortuna.ical4j.model.Date
    +
     
    +
    Date(String) - Constructor for class net.fortuna.ical4j.model.Date
    +
     
    +
    Date(String, String) - Constructor for class net.fortuna.ical4j.model.Date
    +
     
    +
    DATE - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Date value type.
    +
    +
    DATE_TIME - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Date-time value type.
    +
    +
    DateInRangeRule - Class in net.fortuna.ical4j.filter
    +
     
    +
    DateInRangeRule(DateRange, int) - Constructor for class net.fortuna.ical4j.filter.DateInRangeRule
    +
     
    +
    DateList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [23-Apr-2004] + + Defines a list of iCalendar dates.
    +
    +
    DateList() - Constructor for class net.fortuna.ical4j.model.DateList
    +
    +
    Default constructor.
    +
    +
    DateList(boolean) - Constructor for class net.fortuna.ical4j.model.DateList
    +
     
    +
    DateList(Value) - Constructor for class net.fortuna.ical4j.model.DateList
    +
     
    +
    DateList(Value, TimeZone) - Constructor for class net.fortuna.ical4j.model.DateList
    +
    +
    Default constructor.
    +
    +
    DateList(String, Value) - Constructor for class net.fortuna.ical4j.model.DateList
    +
     
    +
    DateList(String, Value, TimeZone) - Constructor for class net.fortuna.ical4j.model.DateList
    +
    +
    Parses the specified string representation to create a list of dates.
    +
    +
    DateList(DateList, Value) - Constructor for class net.fortuna.ical4j.model.DateList
    +
    +
    Constructs a new date list of the specified type containing + the dates in the specified list.
    +
    +
    DateListProperty - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created on 11/08/2005 + + Base class for properties with a list of dates as a value.
    +
    +
    DateListProperty(String, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.DateListProperty
    +
     
    +
    DateListProperty(String, ParameterList, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.DateListProperty
    +
     
    +
    DateListProperty(String, DateList, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.DateListProperty
    +
     
    +
    DateListProperty(String, ParameterList, DateList, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.DateListProperty
    +
     
    +
    DateProperty - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created on 9/07/2005 + + Base class for properties with a DATE or DATE-TIME value.
    +
    +
    DateProperty(String, ParameterList, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.DateProperty
    +
     
    +
    DateProperty(String, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.DateProperty
    +
     
    +
    DateProperty(String, TimeZone, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.DateProperty
    +
    +
    Creates a new instance of the named property with an initial timezone.
    +
    +
    DateRange - Class in net.fortuna.ical4j.model
    +
     
    +
    DateRange(Date, Date) - Constructor for class net.fortuna.ical4j.model.DateRange
    +
     
    +
    Dates - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ + + Created on 26/06/2005 + + Implements a collection of utility methods relevant to date processing.
    +
    +
    DateTime - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 26/06/2005 + + Represents a time of day on a specific date.
    +
    +
    DateTime() - Constructor for class net.fortuna.ical4j.model.DateTime
    +
    +
    Default constructor.
    +
    +
    DateTime(boolean) - Constructor for class net.fortuna.ical4j.model.DateTime
    +
     
    +
    DateTime(long) - Constructor for class net.fortuna.ical4j.model.DateTime
    +
     
    +
    DateTime(Date) - Constructor for class net.fortuna.ical4j.model.DateTime
    +
     
    +
    DateTime(String) - Constructor for class net.fortuna.ical4j.model.DateTime
    +
    +
    Constructs a new DateTime instance from parsing the specified string + representation in the default (local) timezone.
    +
    +
    DateTime(String, TimeZone) - Constructor for class net.fortuna.ical4j.model.DateTime
    +
    +
    Creates a new date-time instance from the specified value in the given + timezone.
    +
    +
    DateTime(String, String, TimeZone) - Constructor for class net.fortuna.ical4j.model.DateTime
    +
     
    +
    DateTime(String, String, boolean) - Constructor for class net.fortuna.ical4j.model.DateTime
    +
     
    +
    Daylight - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [05-Apr-2004] + + Defines an iCalendar daylight savings timezone observance component.
    +
    +
    Daylight() - Constructor for class net.fortuna.ical4j.model.component.Daylight
    +
    +
    Default constructor.
    +
    +
    Daylight(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.Daylight
    +
    +
    Constructor.
    +
    +
    DAYLIGHT - Static variable in class net.fortuna.ical4j.model.component.Observance
    +
    +
    Token for daylight observance.
    +
    +
    DAYS_PER_WEEK - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Number of days in one week.
    +
    +
    DECLINE_COUNTER - Static variable in class net.fortuna.ical4j.model.property.Method
    +
    +
    Used by the "Organizer" to decline the proposed counter-proprosal.
    +
    +
    DECLINED - Static variable in class net.fortuna.ical4j.model.parameter.PartStat
    +
    +
    Declined.
    +
    +
    decode(String) - Static method in class net.fortuna.ical4j.util.Uris
    +
    +
    Decodes the specified URI string using the UTF-8 charset.
    +
    +
    DecoderFactory - Class in net.fortuna.ical4j.util
    +
    +
    Abstract base class for decoder factory implementations.
    +
    +
    DecoderFactory() - Constructor for class net.fortuna.ical4j.util.DecoderFactory
    +
     
    +
    DEFAULT_CHARSET - Static variable in class net.fortuna.ical4j.data.AbstractOutputter
    +
    +
    The default character set used to generate output.
    +
    +
    DefaultCalendarParserFactory - Class in net.fortuna.ical4j.data
    +
    +
    + $Id$ + + Created on 08/02/2007
    +
    +
    DefaultCalendarParserFactory() - Constructor for class net.fortuna.ical4j.data.DefaultCalendarParserFactory
    +
     
    +
    DefaultDecoderFactory - Class in net.fortuna.ical4j.util
    +
    +
    Default decoder factory implementation.
    +
    +
    DefaultDecoderFactory() - Constructor for class net.fortuna.ical4j.util.DefaultDecoderFactory
    +
     
    +
    DefaultEncoderFactory - Class in net.fortuna.ical4j.util
    +
    +
    Default encoder factory implementation.
    +
    +
    DefaultEncoderFactory() - Constructor for class net.fortuna.ical4j.util.DefaultEncoderFactory
    +
     
    +
    DefaultTimeZoneRegistryFactory - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 18/09/2005 + + Default factory implementation for timezone registries.
    +
    +
    DefaultTimeZoneRegistryFactory() - Constructor for class net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory
    +
     
    +
    DELEGATED - Static variable in class net.fortuna.ical4j.model.parameter.PartStat
    +
    +
    Delegated.
    +
    +
    DELEGATED_FROM - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Delegator.
    +
    +
    DELEGATED_TO - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Delegatee.
    +
    +
    DelegatedFrom - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Delegators parameter.
    +
    +
    DelegatedFrom(String) - Constructor for class net.fortuna.ical4j.model.parameter.DelegatedFrom
    +
     
    +
    DelegatedFrom(AddressList) - Constructor for class net.fortuna.ical4j.model.parameter.DelegatedFrom
    +
     
    +
    DelegatedTo - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Delegatees parameter.
    +
    +
    DelegatedTo(String) - Constructor for class net.fortuna.ical4j.model.parameter.DelegatedTo
    +
     
    +
    DelegatedTo(AddressList) - Constructor for class net.fortuna.ical4j.model.parameter.DelegatedTo
    +
     
    +
    Description - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a DESCRIPTION iCalendar component property.
    +
    +
    DESCRIPTION - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Description property name.
    +
    +
    Description() - Constructor for class net.fortuna.ical4j.model.property.Description
    +
    +
    Default constructor.
    +
    +
    Description(String) - Constructor for class net.fortuna.ical4j.model.property.Description
    +
     
    +
    Description(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Description
    +
     
    +
    Dir - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Directory Entry Reference parameter.
    +
    +
    DIR - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Directory entry.
    +
    +
    Dir(String) - Constructor for class net.fortuna.ical4j.model.parameter.Dir
    +
     
    +
    Dir(URI) - Constructor for class net.fortuna.ical4j.model.parameter.Dir
    +
     
    +
    DISPLAY - Static variable in class net.fortuna.ical4j.model.property.Action
    +
    +
    Constant action for displaying a visible notification.
    +
    +
    DtEnd - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a DTEND iCalendar component property.
    +
    +
    DTEND - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    End date property name.
    +
    +
    DtEnd() - Constructor for class net.fortuna.ical4j.model.property.DtEnd
    +
    +
    Default constructor.
    +
    +
    DtEnd(TimeZone) - Constructor for class net.fortuna.ical4j.model.property.DtEnd
    +
    +
    Creates a new DTEND property initialised with the specified timezone.
    +
    +
    DtEnd(String) - Constructor for class net.fortuna.ical4j.model.property.DtEnd
    +
    +
    Creates a new instance initialised with the parsed value.
    +
    +
    DtEnd(String, TimeZone) - Constructor for class net.fortuna.ical4j.model.property.DtEnd
    +
    +
    Creates a new DTEND property initialised with the specified timezone and value.
    +
    +
    DtEnd(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.DtEnd
    +
     
    +
    DtEnd(Date) - Constructor for class net.fortuna.ical4j.model.property.DtEnd
    +
    +
    Constructor.
    +
    +
    DtEnd(Date, boolean) - Constructor for class net.fortuna.ical4j.model.property.DtEnd
    +
    +
    Constructs a new DtEnd with the specified time.
    +
    +
    DtEnd(ParameterList, Date) - Constructor for class net.fortuna.ical4j.model.property.DtEnd
    +
    +
    Constructor.
    +
    +
    DtStamp - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTAMP iCalendar component property.
    +
    +
    DTSTAMP - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Date-stamp property name.
    +
    +
    DtStamp() - Constructor for class net.fortuna.ical4j.model.property.DtStamp
    +
    +
    Default constructor.
    +
    +
    DtStamp(String) - Constructor for class net.fortuna.ical4j.model.property.DtStamp
    +
     
    +
    DtStamp(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.DtStamp
    +
     
    +
    DtStamp(DateTime) - Constructor for class net.fortuna.ical4j.model.property.DtStamp
    +
     
    +
    DtStamp(ParameterList, DateTime) - Constructor for class net.fortuna.ical4j.model.property.DtStamp
    +
     
    +
    DtStart - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTART iCalendar component property.
    +
    +
    DTSTART - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Start date property name.
    +
    +
    DtStart() - Constructor for class net.fortuna.ical4j.model.property.DtStart
    +
    +
    Default constructor.
    +
    +
    DtStart(TimeZone) - Constructor for class net.fortuna.ical4j.model.property.DtStart
    +
    +
    Creates a new DTSTART property initialised with the specified timezone.
    +
    +
    DtStart(String) - Constructor for class net.fortuna.ical4j.model.property.DtStart
    +
     
    +
    DtStart(String, TimeZone) - Constructor for class net.fortuna.ical4j.model.property.DtStart
    +
    +
    Creates a new DTSTART property initialised with the specified timezone and value.
    +
    +
    DtStart(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.DtStart
    +
     
    +
    DtStart(Date) - Constructor for class net.fortuna.ical4j.model.property.DtStart
    +
    +
    Constructor.
    +
    +
    DtStart(Date, boolean) - Constructor for class net.fortuna.ical4j.model.property.DtStart
    +
    +
    Constructs a new DtStart with the specified time.
    +
    +
    DtStart(ParameterList, Date) - Constructor for class net.fortuna.ical4j.model.property.DtStart
    +
    +
    Constructor.
    +
    +
    Due - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a DUE iCalendar component property.
    +
    +
    DUE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Due date property name.
    +
    +
    Due() - Constructor for class net.fortuna.ical4j.model.property.Due
    +
    +
    Default constructor.
    +
    +
    Due(TimeZone) - Constructor for class net.fortuna.ical4j.model.property.Due
    +
    +
    Creates a new DUE property initialised with the specified timezone.
    +
    +
    Due(String) - Constructor for class net.fortuna.ical4j.model.property.Due
    +
    +
    Creates a new instance initialised with the parsed value.
    +
    +
    Due(String, TimeZone) - Constructor for class net.fortuna.ical4j.model.property.Due
    +
    +
    Creates a new DUE property initialised with the specified timezone and value.
    +
    +
    Due(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Due
    +
     
    +
    Due(Date) - Constructor for class net.fortuna.ical4j.model.property.Due
    +
    +
    Constructor.
    +
    +
    Due(ParameterList, Date) - Constructor for class net.fortuna.ical4j.model.property.Due
    +
    +
    Constructor.
    +
    +
    Dur - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 20/06/2005 + + Represents a duration of time in iCalendar.
    +
    +
    Dur(String) - Constructor for class net.fortuna.ical4j.model.Dur
    +
    +
    Constructs a new duration instance from a string representation.
    +
    +
    Dur(int) - Constructor for class net.fortuna.ical4j.model.Dur
    +
    +
    Constructs a new duration from the specified weeks.
    +
    +
    Dur(int, int, int, int) - Constructor for class net.fortuna.ical4j.model.Dur
    +
    +
    Constructs a new duration from the specified arguments.
    +
    +
    Dur(Date, Date) - Constructor for class net.fortuna.ical4j.model.Dur
    +
    +
    Constructs a new duration representing the time between the two specified dates.
    +
    +
    DURATION - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Duration value type.
    +
    +
    Duration - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a DURATION iCalendar component property.
    +
    +
    DURATION - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Duration property name.
    +
    +
    Duration() - Constructor for class net.fortuna.ical4j.model.property.Duration
    +
    +
    Default constructor.
    +
    +
    Duration(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Duration
    +
     
    +
    Duration(Dur) - Constructor for class net.fortuna.ical4j.model.property.Duration
    +
     
    +
    Duration(ParameterList, Dur) - Constructor for class net.fortuna.ical4j.model.property.Duration
    +
     
    +
    Duration(Date, Date) - Constructor for class net.fortuna.ical4j.model.property.Duration
    +
    +
    Constructs a new duration representing the time between the specified start date and end date.
    +
    +
    + + + +

    E

    +
    +
    EIGHT_BIT - Static variable in class net.fortuna.ical4j.model.parameter.Encoding
    +
    +
    8 bit encoding.
    +
    +
    EMAIL - Static variable in class net.fortuna.ical4j.model.property.Action
    +
    +
    Constant action for sending an email.
    +
    +
    EMPTY_VALIDATOR - Static variable in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Validator instance that does nothing.
    +
    +
    encode(String) - Static method in class net.fortuna.ical4j.util.Uris
    +
    +
    Encodes the specified URI string using the UTF-8 charset.
    +
    +
    EncoderFactory - Class in net.fortuna.ical4j.util
    +
    +
    Abstract base class for encoder factory implementations.
    +
    +
    EncoderFactory() - Constructor for class net.fortuna.ical4j.util.EncoderFactory
    +
     
    +
    Encoding - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines an Inline Encoding parameter.
    +
    +
    ENCODING - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Inline encoding.
    +
    +
    Encoding(String) - Constructor for class net.fortuna.ical4j.model.parameter.Encoding
    +
     
    +
    END - Static variable in class net.fortuna.ical4j.model.Calendar
    +
    +
    End token.
    +
    +
    END - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component end token.
    +
    +
    END - Static variable in class net.fortuna.ical4j.model.parameter.Related
    +
    +
    Trigger end.
    +
    +
    endCalendar() - Method in interface net.fortuna.ical4j.data.ContentHandler
    +
    +
    Triggers the end of handling a calendar.
    +
    +
    endComponent(String) - Method in interface net.fortuna.ical4j.data.ContentHandler
    +
    +
    Triggers the end of handling a component.
    +
    +
    endProperty(String) - Method in interface net.fortuna.ical4j.data.ContentHandler
    +
    +
    Triggers the end of handling a property.
    +
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.Calendar
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.Component
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.DateTime
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.Dur
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.Parameter
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.ParameterList
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.Period
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.PeriodList
    +
     
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.Property
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.TimeZone
    +
     
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.UtcOffset
    +
    equals(Object) - Method in class net.fortuna.ical4j.model.WeekDay
    +
    Escapable - Interface in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 26/06/2005 + + Implementors by definition require their string value to be converted to/from an escaped form when converting to/from + and iCalendar representation.
    +
    +
    escape(String) - Static method in class net.fortuna.ical4j.util.Strings
    +
    +
    Convenience method for escaping special characters.
    +
    +
    escapeNewline(String) - Static method in class net.fortuna.ical4j.util.Strings
    +
     
    +
    ExDate - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a EXDATE iCalendar component property.
    +
    +
    EXDATE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Exclusion date property name.
    +
    +
    ExDate() - Constructor for class net.fortuna.ical4j.model.property.ExDate
    +
    +
    Default constructor.
    +
    +
    ExDate(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.ExDate
    +
     
    +
    ExDate(DateList) - Constructor for class net.fortuna.ical4j.model.property.ExDate
    +
     
    +
    ExDate(ParameterList, DateList) - Constructor for class net.fortuna.ical4j.model.property.ExDate
    +
     
    +
    EXPERIMENTAL_PREFIX - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Prefix for non-standard components.
    +
    +
    EXPERIMENTAL_PREFIX - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Prefix to all experimental parameters.
    +
    +
    EXPERIMENTAL_PREFIX - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Prefix for non-standard properties.
    +
    +
    ExRule - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a EXRULE iCalendar component property.
    +
    +
    EXRULE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Exclusion rule property name.
    +
    +
    ExRule() - Constructor for class net.fortuna.ical4j.model.property.ExRule
    +
    +
    Default constructor.
    +
    +
    ExRule(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.ExRule
    +
     
    +
    ExRule(Recur) - Constructor for class net.fortuna.ical4j.model.property.ExRule
    +
     
    +
    ExRule(ParameterList, Recur) - Constructor for class net.fortuna.ical4j.model.property.ExRule
    +
     
    +
    EXTENDED_ADDRESS - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE extended address property name.
    +
    +
    ExtendedAddress - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a EXTENDED_ADDRESS iCalendar component property.
    +
    +
    ExtendedAddress() - Constructor for class net.fortuna.ical4j.model.property.ExtendedAddress
    +
    +
    Default constructor.
    +
    +
    ExtendedAddress(String) - Constructor for class net.fortuna.ical4j.model.property.ExtendedAddress
    +
     
    +
    ExtendedAddress(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.ExtendedAddress
    +
     
    +
    + + + +

    F

    +
    +
    FALSE - Static variable in class net.fortuna.ical4j.model.parameter.Rsvp
    +
    +
    RSVP not required.
    +
    +
    FbType - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Free/Busy Time Type parameter.
    +
    +
    FBTYPE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Free/busy time type.
    +
    +
    FbType(String) - Constructor for class net.fortuna.ical4j.model.parameter.FbType
    +
     
    +
    Filter - Class in net.fortuna.ical4j.filter
    +
    +
    $Id$ + + Created: Feb 1, 2006 + + Performs collection filtering based on a set of rules.
    +
    +
    Filter(Rule) - Constructor for class net.fortuna.ical4j.filter.Filter
    +
    +
    Deprecated. +
    Prior implementations of this class did not work as advertised, so + to avoid confusion please use constructors that explicitly specify the desired behaviour
    +
    +
    +
    Filter(Rule[], int) - Constructor for class net.fortuna.ical4j.filter.Filter
    +
    +
    Constructor.
    +
    +
    filter(Collection) - Method in class net.fortuna.ical4j.filter.Filter
    +
    +
    Filter the given collection into a new collection.
    +
    +
    filter(Object[]) - Method in class net.fortuna.ical4j.filter.Filter
    +
    +
    Returns a filtered subset of the specified array.
    +
    +
    FLOAT - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Float value type.
    +
    +
    FmtType - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Format Type parameter.
    +
    +
    FMTTYPE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Format type.
    +
    +
    FmtType(String) - Constructor for class net.fortuna.ical4j.model.parameter.FmtType
    +
     
    +
    FoldingWriter - Class in net.fortuna.ical4j.data
    +
    +
    + $Id$ [Apr 6, 2004]
    +
    +
    FoldingWriter(Writer, int) - Constructor for class net.fortuna.ical4j.data.FoldingWriter
    +
     
    +
    FoldingWriter(Writer) - Constructor for class net.fortuna.ical4j.data.FoldingWriter
    +
     
    +
    foldLength - Variable in class net.fortuna.ical4j.data.AbstractOutputter
    +
    +
    The maximum line length allowed.
    +
    +
    forProperty(Property) - Static method in class net.fortuna.ical4j.util.Constants
    +
    +
    Returns a constant equivalent to the specified property + if one is applicable.
    +
    +
    FR - Static variable in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Friday.
    +
    +
    FREE - Static variable in class net.fortuna.ical4j.model.parameter.FbType
    +
    +
    Free time.
    +
    +
    FreeBusy - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 14, 2004] + + Defines a FREEBUSY iCalendar component property.
    +
    +
    FREEBUSY - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Free/busy property name.
    +
    +
    FreeBusy() - Constructor for class net.fortuna.ical4j.model.property.FreeBusy
    +
    +
    Default constructor.
    +
    +
    FreeBusy(String) - Constructor for class net.fortuna.ical4j.model.property.FreeBusy
    +
     
    +
    FreeBusy(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.FreeBusy
    +
     
    +
    FreeBusy(PeriodList) - Constructor for class net.fortuna.ical4j.model.property.FreeBusy
    +
     
    +
    FreeBusy(ParameterList, PeriodList) - Constructor for class net.fortuna.ical4j.model.property.FreeBusy
    +
     
    +
    + + + +

    G

    +
    +
    generateUid() - Method in class net.fortuna.ical4j.util.UidGenerator
    +
     
    +
    Geo - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a GEO iCalendar component property.
    +
    +
    GEO - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Geographic location property name.
    +
    +
    Geo() - Constructor for class net.fortuna.ical4j.model.property.Geo
    +
    +
    Default constructor.
    +
    +
    Geo(String) - Constructor for class net.fortuna.ical4j.model.property.Geo
    +
    +
    Creates a new instance by parsing the specified string representation.
    +
    +
    Geo(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Geo
    +
     
    +
    Geo(BigDecimal, BigDecimal) - Constructor for class net.fortuna.ical4j.model.property.Geo
    +
     
    +
    Geo(ParameterList, BigDecimal, BigDecimal) - Constructor for class net.fortuna.ical4j.model.property.Geo
    +
     
    +
    get(int) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    getAbsMonthDay(Date, int) - Static method in class net.fortuna.ical4j.util.Dates
    +
    +
    Returns the absolute month day for the month specified by the + supplied date.
    +
    +
    getAbsWeekNo(Date, int) - Static method in class net.fortuna.ical4j.util.Dates
    +
    +
    Returns the absolute week number for the year specified by the + supplied date.
    +
    +
    getAbsYearDay(Date, int) - Static method in class net.fortuna.ical4j.util.Dates
    +
    +
    Returns the absolute year day for the year specified by the + supplied date.
    +
    +
    getAction() - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Returns the mandatory action property.
    +
    +
    getAddress() - Method in class net.fortuna.ical4j.model.parameter.SentBy
    +
     
    +
    getAlarms() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Returns the list of alarms for this event.
    +
    +
    getAlarms() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Returns the list of alarms for this todo.
    +
    +
    getApplicableObservance(Date) - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
    +
    Returns the latest applicable timezone observance for the specified date.
    +
    +
    getAttachment() - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Returns the optional attachment property.
    +
    +
    getAvailable() - Method in class net.fortuna.ical4j.model.component.VAvailability
    +
    +
    Returns the list of available times.
    +
    +
    getBinary() - Method in class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    getCalAddress() - Method in class net.fortuna.ical4j.model.property.Attendee
    +
     
    +
    getCalAddress() - Method in class net.fortuna.ical4j.model.property.Organizer
    +
     
    +
    getCalendarDay(WeekDay) - Static method in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Returns the corresponding java.util.Calendar.DAY_OF_WEEK + constant for the specified WeekDay.
    +
    +
    getCalendarInstance(Date) - Static method in class net.fortuna.ical4j.util.Dates
    +
    +
    Returns an instance of java.util.Calendar that is suitably + initialised for working with the specified date.
    +
    +
    getCalendarScale() - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Returns the optional calscale property.
    +
    +
    getCategories() - Method in class net.fortuna.ical4j.model.property.Categories
    +
     
    +
    getClassification() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getClassification() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getClassification() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getComponent(String) - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Convenience method for retrieving a named component.
    +
    +
    getComponent(String) - Method in class net.fortuna.ical4j.model.ComponentList
    +
    +
    Returns the first component of specified name.
    +
    +
    getComponent(String) - Method in class net.fortuna.ical4j.model.IndexedComponentList
    +
    +
    Returns the first component containing a property with the specified + value.
    +
    +
    getComponents() - Method in class net.fortuna.ical4j.model.Calendar
    +
     
    +
    getComponents(String) - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Convenience method for retrieving a list of named components.
    +
    +
    getComponents(String) - Method in class net.fortuna.ical4j.model.ComponentList
    +
    +
    Returns a list containing all components with specified name.
    +
    +
    getComponents(String) - Method in class net.fortuna.ical4j.model.IndexedComponentList
    +
    +
    Returns a list of components containing a property with the + specified value.
    +
    +
    getConsumedTime(Date, Date) - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Returns a normalised list of periods representing the consumed time for this event.
    +
    +
    getConsumedTime(Date, Date, boolean) - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Returns a list of periods representing the consumed time for this event in the specified range.
    +
    +
    getContact() - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
     
    +
    getContentType(Calendar, Charset) - Static method in class net.fortuna.ical4j.util.Calendars
    +
    +
    Returns an appropriate MIME Content-Type for the specified calendar object.
    +
    +
    getCount() - Method in class net.fortuna.ical4j.model.property.Repeat
    +
     
    +
    getCount() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getCreated() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getCreated() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getCreated() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getCurrentTimeRounded() - Static method in class net.fortuna.ical4j.util.Dates
    +
    +
    Returns the System.currentTimeMillis(), rounded to the second.
    +
    +
    getDate() - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
     
    +
    getDateCompleted() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getDates() - Method in class net.fortuna.ical4j.model.property.DateListProperty
    +
     
    +
    getDates(Date, Date, Value) - Method in class net.fortuna.ical4j.model.Recur
    +
    +
    Returns a list of start dates in the specified period represented by this recur.
    +
    +
    getDates(Date, Period, Value) - Method in class net.fortuna.ical4j.model.Recur
    +
    +
    Convenience method for retrieving recurrences in a specified period.
    +
    +
    getDates(Date, Date, Date, Value) - Method in class net.fortuna.ical4j.model.Recur
    +
    +
    Returns a list of start dates in the specified period represented by this recur.
    +
    +
    getDates(Date, Date, Date, Value, int) - Method in class net.fortuna.ical4j.model.Recur
    +
    +
    Returns a list of start dates in the specified period represented by this recur.
    +
    +
    getDateStamp() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getDateStamp() - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
     
    +
    getDateStamp() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getDateStamp() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getDateTime() - Method in class net.fortuna.ical4j.model.property.UtcProperty
    +
     
    +
    getDateTimeZone() - Static method in class net.fortuna.ical4j.util.TimeZones
    +
    +
    Although timezones are not really applicable to DATE instances in iCalendar, the implementation + in iCal4j requires the use of a timezone.
    +
    +
    getDay() - Method in class net.fortuna.ical4j.model.WeekDay
    +
     
    +
    getDay(int) - Static method in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Returns the corresponding day constant to the specified + java.util.Calendar.DAY_OF_WEEK property.
    +
    +
    getDayList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getDays() - Method in class net.fortuna.ical4j.model.Dur
    +
     
    +
    getDelegatees() - Method in class net.fortuna.ical4j.model.parameter.DelegatedTo
    +
     
    +
    getDelegators() - Method in class net.fortuna.ical4j.model.parameter.DelegatedFrom
    +
     
    +
    getDescription() - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Returns the optional description property.
    +
    +
    getDescription() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getDescription() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getDescription() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getDescription() - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    getDue() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getDuration() - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Returns the optional duration property.
    +
    +
    getDuration() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getDuration() - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
     
    +
    getDuration() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getDuration() - Method in class net.fortuna.ical4j.model.Period
    +
    +
    Returns the duration of this period.
    +
    +
    getDuration() - Method in class net.fortuna.ical4j.model.property.Duration
    +
     
    +
    getDuration() - Method in class net.fortuna.ical4j.model.property.Trigger
    +
     
    +
    getEnd() - Method in class net.fortuna.ical4j.model.Period
    +
    +
    Returns the end date of this period.
    +
    +
    getEndDate() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Returns the end date of this event.
    +
    +
    getEndDate(boolean) - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Convenience method to pull the DTEND out of the property list.
    +
    +
    getEndDate() - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
     
    +
    getExData() - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    getExperimentalValues() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getFactory(String) - Method in class net.fortuna.ical4j.model.AbstractContentFactory
    +
     
    +
    getFormat() - Method in class net.fortuna.ical4j.model.Iso8601
    +
     
    +
    getFrequency() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getGeographicPos() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getGeographicPos() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getGroups() - Method in class net.fortuna.ical4j.model.parameter.Member
    +
     
    +
    getHostName() - Method in interface net.fortuna.ical4j.util.HostInfo
    +
     
    +
    getHostName() - Method in class net.fortuna.ical4j.util.InetAddressHostInfo
    +
    getHostName() - Method in class net.fortuna.ical4j.util.SimpleHostInfo
    +
    getHourList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getHours() - Method in class net.fortuna.ical4j.model.Dur
    +
     
    +
    getInstance() - Static method in class net.fortuna.ical4j.data.CalendarParserFactory
    +
     
    +
    getInstance(String) - Static method in class net.fortuna.ical4j.model.CalendarDateFormatFactory
    +
    +
    Returns DateFormat objects optimized for common iCalendar date patterns.
    +
    +
    getInstance() - Static method in class net.fortuna.ical4j.model.ComponentFactory
    +
     
    +
    getInstance() - Static method in class net.fortuna.ical4j.model.ParameterFactoryImpl
    +
     
    +
    getInstance() - Static method in class net.fortuna.ical4j.model.PropertyFactoryImpl
    +
     
    +
    getInstance() - Static method in class net.fortuna.ical4j.model.TimeZoneRegistryFactory
    +
     
    +
    getInstance(Date, Value) - Static method in class net.fortuna.ical4j.util.Dates
    +
    +
    Returns a new date instance of the specified type.
    +
    +
    getInstance() - Static method in class net.fortuna.ical4j.util.DecoderFactory
    +
     
    +
    getInstance() - Static method in class net.fortuna.ical4j.util.EncoderFactory
    +
     
    +
    getInstance() - Static method in class net.fortuna.ical4j.util.ParameterValidator
    +
     
    +
    getInstance() - Static method in class net.fortuna.ical4j.util.PropertyValidator
    +
     
    +
    getInterval() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getLastModified() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getLastModified() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getLastModified() - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
     
    +
    getLastModified() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getLatestOnset(Date) - Method in class net.fortuna.ical4j.model.component.Observance
    +
    +
    Returns the latest applicable onset of this observance for the specified date.
    +
    +
    getLatitude() - Method in class net.fortuna.ical4j.model.property.Geo
    +
     
    +
    getLevel() - Method in class net.fortuna.ical4j.model.property.Priority
    +
     
    +
    getLineNo() - Method in exception net.fortuna.ical4j.data.ParserException
    +
     
    +
    getLinesUnfolded() - Method in class net.fortuna.ical4j.data.UnfoldingReader
    +
     
    +
    getLocation() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getLocation() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getLocationTypes() - Method in class net.fortuna.ical4j.model.property.LocationType
    +
     
    +
    getLongitude() - Method in class net.fortuna.ical4j.model.property.Geo
    +
     
    +
    getMaxVersion() - Method in class net.fortuna.ical4j.model.property.Version
    +
     
    +
    getMethod() - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Returns the optional method property.
    +
    +
    getMinuteList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getMinutes() - Method in class net.fortuna.ical4j.model.Dur
    +
     
    +
    getMinVersion() - Method in class net.fortuna.ical4j.model.property.Version
    +
     
    +
    getMonthDayList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getMonthList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getMonthlyOffset(Calendar) - Static method in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Returns a weekday/offset representation of the specified calendar.
    +
    +
    getName() - Method in class net.fortuna.ical4j.model.Component
    +
     
    +
    getName() - Method in class net.fortuna.ical4j.model.Content
    +
     
    +
    getName() - Method in class net.fortuna.ical4j.model.Parameter
    +
     
    +
    getName() - Method in class net.fortuna.ical4j.model.Property
    +
     
    +
    getNegativeMonthlyOffset(Calendar) - Static method in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Returns a weekday/negative offset representation of the specified calendar.
    +
    +
    getNextDate(Date, Date) - Method in class net.fortuna.ical4j.model.Recur
    +
    +
    Returns the the next date of this recurrence given a seed date + and start date.
    +
    +
    getObservances() - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
     
    +
    getOccurrence(Date) - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Returns a single occurrence of a recurring event.
    +
    +
    getOffset() - Method in class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
     
    +
    getOffset() - Method in class net.fortuna.ical4j.model.property.TzOffsetTo
    +
     
    +
    getOffset(int, int, int, int, int, int) - Method in class net.fortuna.ical4j.model.TimeZone
    +
    getOffset(long) - Method in class net.fortuna.ical4j.model.TimeZone
    +
    getOffset() - Method in class net.fortuna.ical4j.model.UtcOffset
    +
     
    +
    getOffset() - Method in class net.fortuna.ical4j.model.WeekDay
    +
     
    +
    getOffsetFrom() - Method in class net.fortuna.ical4j.model.component.Observance
    +
    +
    Returns the mandatory tzoffsetfrom property.
    +
    +
    getOffsetTo() - Method in class net.fortuna.ical4j.model.component.Observance
    +
    +
    Returns the mandatory tzoffsetto property.
    +
    +
    getOrganizer() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getOrganizer() - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
     
    +
    getOrganizer() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getOrganizer() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getParameter(String) - Method in class net.fortuna.ical4j.model.ParameterList
    +
    +
    Returns the first parameter with the specified name.
    +
    +
    getParameter(String) - Method in class net.fortuna.ical4j.model.Property
    +
    +
    Convenience method for retrieving a single parameter.
    +
    +
    getParameters(String) - Method in class net.fortuna.ical4j.model.ParameterList
    +
    +
    Returns a list of parameters with the specified name.
    +
    +
    getParameters() - Method in class net.fortuna.ical4j.model.Property
    +
     
    +
    getParameters(String) - Method in class net.fortuna.ical4j.model.Property
    +
    +
    Convenience method for retrieving a list of named parameters.
    +
    +
    getPercentage() - Method in class net.fortuna.ical4j.model.property.PercentComplete
    +
     
    +
    getPercentComplete() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getPeriods() - Method in class net.fortuna.ical4j.model.property.FreeBusy
    +
     
    +
    getPeriods() - Method in class net.fortuna.ical4j.model.property.RDate
    +
     
    +
    getPriority() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getPriority() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getProductId() - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Returns the mandatory prodid property.
    +
    +
    getProperties() - Method in class net.fortuna.ical4j.model.Calendar
    +
     
    +
    getProperties(String) - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Convenience method for retrieving a list of named properties.
    +
    +
    getProperties() - Method in class net.fortuna.ical4j.model.Component
    +
     
    +
    getProperties(String) - Method in class net.fortuna.ical4j.model.Component
    +
    +
    Convenience method for retrieving a list of named properties.
    +
    +
    getProperties(String) - Method in class net.fortuna.ical4j.model.IndexedPropertyList
    +
    +
    Returns a list of properties containing a parameter with the + specified value.
    +
    +
    getProperties(String) - Method in class net.fortuna.ical4j.model.PropertyList
    +
    +
    Returns a list of properties with the specified name.
    +
    +
    getProperty(String) - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Convenience method for retrieving a named property.
    +
    +
    getProperty(String) - Method in class net.fortuna.ical4j.model.Component
    +
    +
    Convenience method for retrieving a named property.
    +
    +
    getProperty(String) - Method in class net.fortuna.ical4j.model.IndexedPropertyList
    +
    +
    Returns the first property containing a parameter with the specified + value.
    +
    +
    getProperty(String) - Method in class net.fortuna.ical4j.model.PropertyList
    +
    +
    Returns the first property of specified name.
    +
    +
    getProperty(String) - Static method in class net.fortuna.ical4j.util.Configurator
    +
     
    +
    getRangeEnd() - Method in class net.fortuna.ical4j.model.DateRange
    +
     
    +
    getRangeStart() - Method in class net.fortuna.ical4j.model.DateRange
    +
     
    +
    getRawOffset() - Method in class net.fortuna.ical4j.model.TimeZone
    +
    getRecur() - Method in class net.fortuna.ical4j.model.property.ExRule
    +
     
    +
    getRecur() - Method in class net.fortuna.ical4j.model.property.RRule
    +
     
    +
    getRecurrenceId() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getRecurrenceId() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getRecurrenceId() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getRegistry() - Method in class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    Returns the timezone registry used in the construction of calendars.
    +
    +
    getRepeat() - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Returns the optional repeat property.
    +
    +
    getResource(String) - Static method in class net.fortuna.ical4j.util.ResourceLoader
    +
    +
    Load a resource via the thread context classloader.
    +
    +
    getResourceAsStream(String) - Static method in class net.fortuna.ical4j.util.ResourceLoader
    +
    +
    Load a resource via the thread context classloader.
    +
    +
    getResources() - Method in class net.fortuna.ical4j.model.property.Resources
    +
     
    +
    getRsvp() - Method in class net.fortuna.ical4j.model.parameter.Rsvp
    +
     
    +
    getRules() - Method in class net.fortuna.ical4j.filter.Filter
    +
     
    +
    getSecondList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getSeconds() - Method in class net.fortuna.ical4j.model.Dur
    +
     
    +
    getSequence() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getSequence() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getSequence() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getSequenceNo() - Method in class net.fortuna.ical4j.model.property.Sequence
    +
     
    +
    getSetPosList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getStart() - Method in class net.fortuna.ical4j.model.Period
    +
     
    +
    getStartDate() - Method in class net.fortuna.ical4j.model.component.Observance
    +
    +
    Returns the mandatory dtstart property.
    +
    +
    getStartDate() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Convenience method to pull the DTSTART out of the property list.
    +
    +
    getStartDate() - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
     
    +
    getStartDate() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
    +
    Convenience method to pull the DTSTART out of the property list.
    +
    +
    getStartDate() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Convenience method to pull the DTSTART out of the property list.
    +
    +
    getStatus() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getStatus() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getStatus() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getStatusCode() - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    getSummary() - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Returns the optional summary property.
    +
    +
    getSummary() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getSummary() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getSummary() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getTime(Date) - Method in class net.fortuna.ical4j.model.Dur
    +
    +
    Returns a date representing the end of this duration from the specified start date.
    +
    +
    getTimeZone() - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    getTimeZone() - Method in class net.fortuna.ical4j.model.DateTime
    +
    +
    Returns the current timezone associated with this date-time value.
    +
    +
    getTimeZone() - Method in class net.fortuna.ical4j.model.PeriodList
    +
     
    +
    getTimeZone() - Method in class net.fortuna.ical4j.model.property.DateListProperty
    +
     
    +
    getTimeZone() - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
     
    +
    getTimeZone(String) - Method in interface net.fortuna.ical4j.model.TimeZoneRegistry
    +
    +
    Returns a timezone with the specified identifier.
    +
    +
    getTimeZone(String) - Method in class net.fortuna.ical4j.model.TimeZoneRegistryImpl
    +
    +
    Returns a timezone with the specified identifier.
    +
    +
    getTimeZoneId() - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
     
    +
    getTimeZoneUrl() - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
     
    +
    getTransparency() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getTrigger() - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Returns the mandatory trigger property.
    +
    +
    getType() - Method in class net.fortuna.ical4j.model.DateList
    +
    +
    Returns the VALUE parameter specifying the type of dates (ie.
    +
    +
    getUid() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Returns the UID property of this component if available.
    +
    +
    getUid() - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
    +
    Returns the UID property of this component if available.
    +
    +
    getUid() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
    +
    Returns the UID property of this component if available.
    +
    +
    getUid() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Returns the UID property of this component if available.
    +
    +
    getUid(Calendar) - Static method in class net.fortuna.ical4j.util.Calendars
    +
    +
    Returns a unique identifier as specified by components in the provided calendar.
    +
    +
    getUntil() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getUri() - Method in class net.fortuna.ical4j.model.parameter.AltRep
    +
     
    +
    getUri() - Method in class net.fortuna.ical4j.model.parameter.Dir
    +
     
    +
    getUri() - Method in class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    getUri() - Method in class net.fortuna.ical4j.model.property.TzUrl
    +
     
    +
    getUri() - Method in class net.fortuna.ical4j.model.property.Url
    +
     
    +
    getUrl() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
     
    +
    getUrl() - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
     
    +
    getUrl() - Method in class net.fortuna.ical4j.model.component.VJournal
    +
     
    +
    getUrl() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
     
    +
    getUtcTimeZone() - Static method in class net.fortuna.ical4j.util.TimeZones
    +
    +
    Get the UTC Timezone.
    +
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
     
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.VAvailability
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.VJournal
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.VVenue
    +
    getValidator(Method) - Method in class net.fortuna.ical4j.model.component.XComponent
    +
    getValue() - Method in class net.fortuna.ical4j.model.Content
    +
     
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Abbrev
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.AltRep
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Cn
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.CuType
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.DelegatedFrom
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.DelegatedTo
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Dir
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Encoding
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.FbType
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.FmtType
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Language
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Member
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.PartStat
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Range
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Related
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.RelType
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Role
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Rsvp
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.ScheduleAgent
    +
     
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.ScheduleStatus
    +
     
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.SentBy
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Type
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.TzId
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Value
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.Vvenue
    +
    getValue() - Method in class net.fortuna.ical4j.model.parameter.XParameter
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Action
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Attach
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Attendee
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.BusyType
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.CalScale
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Categories
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Clazz
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Comment
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Contact
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Country
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.DateListProperty
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Description
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Duration
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.ExRule
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.ExtendedAddress
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.FreeBusy
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Geo
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Locality
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Location
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.LocationType
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Method
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Name
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Organizer
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.PercentComplete
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Postalcode
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Priority
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.ProdId
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.RDate
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Region
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.RelatedTo
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Repeat
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Resources
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.RRule
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Sequence
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Status
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.StreetAddress
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Summary
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Tel
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Transp
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Trigger
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.TzId
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.TzName
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.TzOffsetTo
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.TzUrl
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Uid
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Url
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.Version
    +
    getValue() - Method in class net.fortuna.ical4j.model.property.XProperty
    +
    getVersion() - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Returns the mandatory version property.
    +
    +
    getVTimeZone() - Method in class net.fortuna.ical4j.model.TimeZone
    +
     
    +
    getWeekDay(Calendar) - Static method in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Returns a weekday representation of the specified calendar.
    +
    +
    getWeekNoList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getWeeks() - Method in class net.fortuna.ical4j.model.Dur
    +
     
    +
    getWeekStartDay() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    getYearDayList() - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    GMT_ID - Static variable in class net.fortuna.ical4j.util.TimeZones
    +
    +
    The timezone identifier for GMT time.
    +
    +
    GREGORIAN - Static variable in class net.fortuna.ical4j.model.property.CalScale
    +
    +
    Constant for Gregorian calendar representation.
    +
    +
    GROUP - Static variable in class net.fortuna.ical4j.model.parameter.CuType
    +
    +
    Group.
    +
    +
    + + + +

    H

    +
    +
    hashCode() - Method in class net.fortuna.ical4j.model.Calendar
    +
    hashCode() - Method in class net.fortuna.ical4j.model.Component
    +
    hashCode() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    hashCode() - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
    hashCode() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    hashCode() - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    hashCode() - Method in class net.fortuna.ical4j.model.DateTime
    +
    hashCode() - Method in class net.fortuna.ical4j.model.Dur
    +
    hashCode() - Method in class net.fortuna.ical4j.model.Parameter
    +
    hashCode() - Method in class net.fortuna.ical4j.model.ParameterList
    +
    hashCode() - Method in class net.fortuna.ical4j.model.Period
    +
    hashCode() - Method in class net.fortuna.ical4j.model.PeriodList
    +
     
    +
    hashCode() - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    hashCode() - Method in class net.fortuna.ical4j.model.Property
    +
    hashCode() - Method in class net.fortuna.ical4j.model.TimeZone
    +
     
    +
    hashCode() - Method in class net.fortuna.ical4j.model.UtcOffset
    +
    hashCode() - Method in class net.fortuna.ical4j.model.WeekDay
    +
    HasPropertyRule - Class in net.fortuna.ical4j.filter
    +
    +
    $Id$ + + Created on 5/02/2006 + + A rule that matches any component containing the specified property.
    +
    +
    HasPropertyRule(Property) - Constructor for class net.fortuna.ical4j.filter.HasPropertyRule
    +
    +
    Constructs a new instance with the specified property.
    +
    +
    HasPropertyRule(Property, boolean) - Constructor for class net.fortuna.ical4j.filter.HasPropertyRule
    +
    +
    Constructs a new instance with the specified property.
    +
    +
    HCalendarParser - Class in net.fortuna.ical4j.data
    +
    +
    A CalendarParser that parses XHTML documents that include calendar data marked up with the hCalendar + microformat.
    +
    +
    HCalendarParser() - Constructor for class net.fortuna.ical4j.data.HCalendarParser
    +
     
    +
    HCalendarParserFactory - Class in net.fortuna.ical4j.data
    +
    +
    A parser factory for the hCal microformat.
    +
    +
    HCalendarParserFactory() - Constructor for class net.fortuna.ical4j.data.HCalendarParserFactory
    +
     
    +
    HIGH - Static variable in class net.fortuna.ical4j.model.property.Priority
    +
    +
    High priority.
    +
    +
    HostInfo - Interface in net.fortuna.ical4j.util
    +
    +
    Provides platform-independent host information.
    +
    +
    HOURLY - Static variable in class net.fortuna.ical4j.model.Recur
    +
    +
    Hour frequency resolution.
    +
    +
    + + + +

    I

    +
    +
    IBM_UTC_ID - Static variable in class net.fortuna.ical4j.util.TimeZones
    +
    +
    The timezone identifier for UTC time in the IBM JVM.
    +
    +
    IN_PROCESS - Static variable in class net.fortuna.ical4j.model.parameter.PartStat
    +
    +
    In-process.
    +
    +
    includes(Date) - Method in class net.fortuna.ical4j.model.DateRange
    +
    +
    Determines if the specified date occurs within this period (inclusive of + period start and end).
    +
    +
    includes(Date, int) - Method in class net.fortuna.ical4j.model.DateRange
    +
    +
    Decides whether a date falls within this period.
    +
    +
    includes(Date, boolean) - Method in class net.fortuna.ical4j.model.Period
    +
    +
    Deprecated. + +
    +
    +
    INCLUSIVE_END - Static variable in class net.fortuna.ical4j.model.DateRange
    +
    +
    A flag indicating whether to include the end of the period in test functions.
    +
    +
    INCLUSIVE_START - Static variable in class net.fortuna.ical4j.model.DateRange
    +
    +
    A flag indicating whether to include the start of the period in test functions.
    +
    +
    inDaylightTime(Date) - Method in class net.fortuna.ical4j.model.TimeZone
    +
    +
    Determines if the specified date is in daylight time according to + this timezone.
    +
    +
    IndexedComponentList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 4/02/2006 + + Provides indexing of components on a specific property.
    +
    +
    IndexedComponentList(ComponentList, String) - Constructor for class net.fortuna.ical4j.model.IndexedComponentList
    +
    +
    Creates a new instance indexed on properties with the specified name.
    +
    +
    IndexedPropertyList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 4/02/2006 + + Provides indexing of properties on a specific parameter.
    +
    +
    IndexedPropertyList(PropertyList, String) - Constructor for class net.fortuna.ical4j.model.IndexedPropertyList
    +
    +
    Creates a new instance indexed on the parameters with the specified name.
    +
    +
    indexOf(Object) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    INDIVIDUAL - Static variable in class net.fortuna.ical4j.model.parameter.CuType
    +
    +
    Individual.
    +
    +
    InetAddressHostInfo - Class in net.fortuna.ical4j.util
    +
     
    +
    InetAddressHostInfo() - Constructor for class net.fortuna.ical4j.util.InetAddressHostInfo
    +
     
    +
    InetAddressHostInfo(InetAddress) - Constructor for class net.fortuna.ical4j.util.InetAddressHostInfo
    +
     
    +
    INTEGER - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Integer value type.
    +
    +
    intersects(DateRange) - Method in class net.fortuna.ical4j.model.DateRange
    +
    +
    Decides whether this period intersects with another one.
    +
    +
    INVALID_SCHEME - Static variable in class net.fortuna.ical4j.util.Uris
    +
    +
    URI Scheme used when relaxed parsing is enabled and the given input stream lead to an invalid URI.
    +
    +
    isCalendarProperty() - Method in class net.fortuna.ical4j.model.Property
    +
    +
    Indicates whether this property is a calendar property.
    +
    +
    isEmpty() - Method in class net.fortuna.ical4j.model.AddressList
    +
     
    +
    isEmpty() - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    isEmpty() - Method in class net.fortuna.ical4j.model.LocationTypeList
    +
     
    +
    isEmpty() - Method in class net.fortuna.ical4j.model.ParameterList
    +
     
    +
    isEmpty() - Method in class net.fortuna.ical4j.model.Period
    +
    +
    An empty period is one that consumes no time.
    +
    +
    isEmpty() - Method in class net.fortuna.ical4j.model.PeriodList
    +
    isEmpty() - Method in class net.fortuna.ical4j.model.TextList
    +
     
    +
    isHintEnabled(String) - Static method in class net.fortuna.ical4j.util.CompatibilityHints
    +
     
    +
    isNegative() - Method in class net.fortuna.ical4j.model.Dur
    +
     
    +
    Iso8601 - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 30/06/2005 + + Base class for date and time representations as defined + by the ISO 8601 standard.
    +
    +
    Iso8601(long, String, int, TimeZone) - Constructor for class net.fortuna.ical4j.model.Iso8601
    +
     
    +
    Iso8601(String, int, TimeZone) - Constructor for class net.fortuna.ical4j.model.Iso8601
    +
     
    +
    Iso8601(Date, String, int, TimeZone) - Constructor for class net.fortuna.ical4j.model.Iso8601
    +
     
    +
    isQuotable() - Method in class net.fortuna.ical4j.model.parameter.DelegatedFrom
    +
    +
    Indicates whether the current parameter value should be quoted.
    +
    +
    isQuotable() - Method in class net.fortuna.ical4j.model.parameter.DelegatedTo
    +
    +
    Indicates whether the current parameter value should be quoted.
    +
    +
    isQuotable() - Method in class net.fortuna.ical4j.model.Parameter
    +
    +
    Indicates whether the current parameter value should be quoted.
    +
    +
    isQuotable() - Method in class net.fortuna.ical4j.model.parameter.Member
    +
    +
    Indicates whether the current parameter value should be quoted.
    +
    +
    isUnmodifiable() - Method in class net.fortuna.ical4j.model.PeriodList
    +
     
    +
    isUtc() - Method in class net.fortuna.ical4j.model.DateList
    +
    +
    Indicates whether this list is in local or UTC format.
    +
    +
    isUtc() - Method in class net.fortuna.ical4j.model.DateTime
    +
     
    +
    isUtc() - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    Indicates whether this list is in local or UTC format.
    +
    +
    isUtc() - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    +
    Indicates whether the current date value is specified in UTC time.
    +
    +
    isUtc() - Method in class net.fortuna.ical4j.model.Time
    +
     
    +
    isUtc(TimeZone) - Static method in class net.fortuna.ical4j.util.TimeZones
    +
    +
    Indicates whether the specified timezone is equivalent to + UTC time.
    +
    +
    isValidating() - Method in class net.fortuna.ical4j.data.AbstractOutputter
    +
     
    +
    iterator() - Method in class net.fortuna.ical4j.model.AddressList
    +
     
    +
    iterator() - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    iterator() - Method in class net.fortuna.ical4j.model.LocationTypeList
    +
     
    +
    iterator() - Method in class net.fortuna.ical4j.model.ParameterList
    +
     
    +
    iterator() - Method in class net.fortuna.ical4j.model.PeriodList
    +
    iterator() - Method in class net.fortuna.ical4j.model.TextList
    +
     
    +
    + + + +

    K

    +
    +
    KEY_FACTORY_CLASS - Static variable in class net.fortuna.ical4j.data.CalendarParserFactory
    +
    +
    The system property used to specify an alternate CalendarParser implementation.
    +
    +
    KEY_FACTORY_CLASS - Static variable in class net.fortuna.ical4j.model.TimeZoneRegistryFactory
    +
    +
    The system property used to specify an alternate + TimeZoneRegistryFactory implementation.
    +
    +
    KEY_FACTORY_CLASS - Static variable in class net.fortuna.ical4j.util.DecoderFactory
    +
    +
    The system property used to specify an alternate + DecoderFactory implementation.
    +
    +
    KEY_FACTORY_CLASS - Static variable in class net.fortuna.ical4j.util.EncoderFactory
    +
    +
    The system property used to specify an alternate + EncoderFactory implementation.
    +
    +
    KEY_MAX_INCREMENT_COUNT - Static variable in class net.fortuna.ical4j.model.Recur
    +
    +
    When calculating dates matching this recur (getDates() or getNextDate), + this property defines the maximum number of attempt to find a matching date by + incrementing the seed.
    +
    +
    KEY_NOTES_COMPATIBILITY - Static variable in class net.fortuna.ical4j.util.CompatibilityHints
    +
    +
    A system property key used to enable compatibility with Lotus Notes-generated iCalendar files.
    +
    +
    KEY_OUTLOOK_COMPATIBILITY - Static variable in class net.fortuna.ical4j.util.CompatibilityHints
    +
    +
    A system property key used to enable compatibility with Outlook/Exchange-generated iCalendar files.
    +
    +
    KEY_RELAXED_PARSING - Static variable in class net.fortuna.ical4j.util.CompatibilityHints
    +
    +
    A system property key to enable relaxed parsing.
    +
    +
    KEY_RELAXED_UNFOLDING - Static variable in class net.fortuna.ical4j.util.CompatibilityHints
    +
    +
    A system property key to enable relaxed unfolding.
    +
    +
    KEY_RELAXED_VALIDATION - Static variable in class net.fortuna.ical4j.util.CompatibilityHints
    +
    +
    A system property key to enable relaxed validation.
    +
    +
    KEY_VCARD_COMPATIBILITY - Static variable in class net.fortuna.ical4j.util.CompatibilityHints
    +
    +
    Support for vCard features that are not necessarily compatible with the iCalendar standard.
    +
    +
    + + + +

    L

    +
    +
    Language - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Language parameter.
    +
    +
    LANGUAGE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Language for text.
    +
    +
    Language(String) - Constructor for class net.fortuna.ical4j.model.parameter.Language
    +
     
    +
    LAST_MODIFIED - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Last modified date property name.
    +
    +
    lastIndexOf(Object) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    LastModified - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a LAST-MODIFIED iCalendar component property.
    +
    +
    LastModified() - Constructor for class net.fortuna.ical4j.model.property.LastModified
    +
    +
    Default constructor.
    +
    +
    LastModified(String) - Constructor for class net.fortuna.ical4j.model.property.LastModified
    +
     
    +
    LastModified(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.LastModified
    +
     
    +
    LastModified(DateTime) - Constructor for class net.fortuna.ical4j.model.property.LastModified
    +
     
    +
    LastModified(ParameterList, DateTime) - Constructor for class net.fortuna.ical4j.model.property.LastModified
    +
     
    +
    LINE_SEPARATOR - Static variable in class net.fortuna.ical4j.util.Strings
    +
    +
    A string used to denote the start (and end) of iCalendar content lines.
    +
    +
    listIterator() - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    listIterator(int) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    load(String) - Static method in class net.fortuna.ical4j.util.Calendars
    +
    +
    Loads a calendar from the specified file.
    +
    +
    load(URL) - Static method in class net.fortuna.ical4j.util.Calendars
    +
    +
    Loads a calendar from the specified URL.
    +
    +
    Locality - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCALITY iCalendar component property.
    +
    +
    LOCALITY - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE locality property name.
    +
    +
    Locality() - Constructor for class net.fortuna.ical4j.model.property.Locality
    +
    +
    Default constructor.
    +
    +
    Locality(String) - Constructor for class net.fortuna.ical4j.model.property.Locality
    +
     
    +
    Locality(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Locality
    +
     
    +
    Location - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION iCalendar component property.
    +
    +
    LOCATION - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Location property name.
    +
    +
    Location() - Constructor for class net.fortuna.ical4j.model.property.Location
    +
    +
    Default constructor.
    +
    +
    Location(String) - Constructor for class net.fortuna.ical4j.model.property.Location
    +
     
    +
    Location(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Location
    +
     
    +
    LOCATION_TYPE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE location type property name.
    +
    +
    LocationType - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION_TYPE iCalendar component property.
    +
    +
    LocationType() - Constructor for class net.fortuna.ical4j.model.property.LocationType
    +
    +
    Default constructor.
    +
    +
    LocationType(String) - Constructor for class net.fortuna.ical4j.model.property.LocationType
    +
     
    +
    LocationType(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.LocationType
    +
     
    +
    LocationType(LocationTypeList) - Constructor for class net.fortuna.ical4j.model.property.LocationType
    +
     
    +
    LocationType(ParameterList, LocationTypeList) - Constructor for class net.fortuna.ical4j.model.property.LocationType
    +
     
    +
    LocationTypeList - Class in net.fortuna.ical4j.model
    +
    +
    $Id LocationTypeList.java $ [23-Apr-2004] + + Defines a list of iCalendar location types.
    +
    +
    LocationTypeList() - Constructor for class net.fortuna.ical4j.model.LocationTypeList
    +
    +
    Default constructor.
    +
    +
    LocationTypeList(String) - Constructor for class net.fortuna.ical4j.model.LocationTypeList
    +
    +
    Parses the specified string representation to create a list of categories.
    +
    +
    LOW - Static variable in class net.fortuna.ical4j.model.property.Priority
    +
    +
    Low priority.
    +
    +
    + + + +

    M

    +
    +
    match(Object) - Method in class net.fortuna.ical4j.filter.AbstractDateRule
    +
    +
    Indicates whether the specified object passes the conditions required to match this rule.
    +
    +
    match(Date) - Method in class net.fortuna.ical4j.filter.AbstractDateRule
    +
     
    +
    match(Object) - Method in class net.fortuna.ical4j.filter.ComponentRule
    +
    +
    Indicates whether the specified object passes the conditions required to match this rule.
    +
    +
    match(Component) - Method in class net.fortuna.ical4j.filter.ComponentRule
    +
     
    +
    match(Date) - Method in class net.fortuna.ical4j.filter.DateInRangeRule
    +
    match(Component) - Method in class net.fortuna.ical4j.filter.HasPropertyRule
    +
    match(Component) - Method in class net.fortuna.ical4j.filter.PeriodRule
    +
    match(Object) - Method in interface net.fortuna.ical4j.filter.Rule
    +
    +
    Indicates whether the specified object passes the conditions required to match this rule.
    +
    +
    MATCH_ALL - Static variable in class net.fortuna.ical4j.filter.Filter
    +
    +
    Indicates that all rules must be matched to include an object in the filtered collection.
    +
    +
    MATCH_ANY - Static variable in class net.fortuna.ical4j.filter.Filter
    +
    +
    Indicates that any rule may be matched to include an object in the filtered collection.
    +
    +
    MAX_DAYS_PER_MONTH - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Maximum number of days per month.
    +
    +
    MAX_DAYS_PER_YEAR - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Maximum number of days per year.
    +
    +
    MAX_FOLD_LENGTH - Static variable in class net.fortuna.ical4j.data.FoldingWriter
    +
    +
    Lines of text SHOULD NOT be longer than 75 octets, excluding the line break.
    +
    +
    MAX_WEEKS_PER_YEAR - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Maximum number of weeks per year.
    +
    +
    MEDIUM - Static variable in class net.fortuna.ical4j.model.property.Priority
    +
    +
    Medium priority.
    +
    +
    Member - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Group or List Membership parameter.
    +
    +
    MEMBER - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Group or list membership.
    +
    +
    Member(String) - Constructor for class net.fortuna.ical4j.model.parameter.Member
    +
     
    +
    Member(AddressList) - Constructor for class net.fortuna.ical4j.model.parameter.Member
    +
     
    +
    merge(Calendar, Calendar) - Static method in class net.fortuna.ical4j.util.Calendars
    +
    +
    Merge all properties and components from two specified calendars into one instance.
    +
    +
    Method - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a METHOD iCalendar property.
    +
    +
    METHOD - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    iTIP method property name.
    +
    +
    Method() - Constructor for class net.fortuna.ical4j.model.property.Method
    +
    +
    Default constructor.
    +
    +
    Method(String) - Constructor for class net.fortuna.ical4j.model.property.Method
    +
     
    +
    Method(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Method
    +
     
    +
    MILLIS_PER_DAY - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Number of milliseconds in one day.
    +
    +
    MILLIS_PER_HOUR - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Number of milliseconds in one hour.
    +
    +
    MILLIS_PER_MINUTE - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Number of milliseconds in one minute.
    +
    +
    MILLIS_PER_SECOND - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Number of milliseconds in one second.
    +
    +
    MILLIS_PER_WEEK - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Number of milliseconds in one week.
    +
    +
    MINUTELY - Static variable in class net.fortuna.ical4j.model.Recur
    +
    +
    Minute frequency resolution.
    +
    +
    MO - Static variable in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Monday.
    +
    +
    MONTHLY - Static variable in class net.fortuna.ical4j.model.Recur
    +
    +
    Month frequency resolution.
    +
    +
    + + + +

    N

    +
    +
    Name - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a NAME iCalendar component property.
    +
    +
    NAME - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE name property name.
    +
    +
    Name() - Constructor for class net.fortuna.ical4j.model.property.Name
    +
    +
    Default constructor.
    +
    +
    Name(String) - Constructor for class net.fortuna.ical4j.model.property.Name
    +
     
    +
    Name(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Name
    +
     
    +
    NEEDS_ACTION - Static variable in class net.fortuna.ical4j.model.parameter.PartStat
    +
    +
    Needs action.
    +
    +
    negate() - Method in class net.fortuna.ical4j.model.Dur
    +
    +
    Provides a negation of this instance.
    +
    +
    net.fortuna.ical4j.data - package net.fortuna.ical4j.data
    +
    +
    Contains types providing RFC2445 input, output and parsing functionality.
    +
    +
    net.fortuna.ical4j.filter - package net.fortuna.ical4j.filter
    +
    +
    Filtering rules that may be used on lists of components, properties or parameters.
    +
    +
    net.fortuna.ical4j.model - package net.fortuna.ical4j.model
    +
    +
    Contains core types used to define the iCalendar model.
    +
    +
    net.fortuna.ical4j.model.component - package net.fortuna.ical4j.model.component
    +
    +
    Contains types used to represent the iCalendar component model.
    +
    +
    net.fortuna.ical4j.model.parameter - package net.fortuna.ical4j.model.parameter
    +
    +
    Contains types used to represent the iCalendar parameter model.
    +
    +
    net.fortuna.ical4j.model.property - package net.fortuna.ical4j.model.property
    +
    +
    Contains types used to represent the iCalendar property model.
    +
    +
    net.fortuna.ical4j.transform - package net.fortuna.ical4j.transform
    +
    +
    Contains types used to transform an iCalendar component model according to RFC2446.
    +
    +
    net.fortuna.ical4j.util - package net.fortuna.ical4j.util
    +
    +
    Contains utility types that provide supporting functionality for iCal4j.
    +
    +
    NON_PARTICIPANT - Static variable in class net.fortuna.ical4j.model.parameter.Role
    +
    +
    Non-participant.
    +
    +
    NONE - Static variable in class net.fortuna.ical4j.model.parameter.ScheduleAgent
    +
     
    +
    normalise() - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    Returns a normalised version of this period list.
    +
    +
    NumberList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [29-May-2004] + + Defines a list of numbers.
    +
    +
    NumberList() - Constructor for class net.fortuna.ical4j.model.NumberList
    +
    +
    Default constructor.
    +
    +
    NumberList(int, int, boolean) - Constructor for class net.fortuna.ical4j.model.NumberList
    +
    +
    Constructor with limits.
    +
    +
    NumberList(String) - Constructor for class net.fortuna.ical4j.model.NumberList
    +
    +
    Constructor.
    +
    +
    NumberList(String, int, int, boolean) - Constructor for class net.fortuna.ical4j.model.NumberList
    +
     
    +
    Numbers - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ + + Created on 6/08/2005 + + A utility class for number processing.
    +
    +
    + + + +

    O

    +
    +
    Observance - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [05-Apr-2004] + + Defines an iCalendar sub-component representing a timezone observance.
    +
    +
    Observance(String) - Constructor for class net.fortuna.ical4j.model.component.Observance
    +
    +
    Constructs a timezone observance with the specified name and no properties.
    +
    +
    Observance(String, PropertyList) - Constructor for class net.fortuna.ical4j.model.component.Observance
    +
    +
    Constructor protected to enforce use of sub-classes from this library.
    +
    +
    OPAQUE - Static variable in class net.fortuna.ical4j.model.property.Transp
    +
    +
    Opaque.
    +
    +
    OPT_PARTICIPANT - Static variable in class net.fortuna.ical4j.model.parameter.Role
    +
    +
    Optional participant.
    +
    +
    Organizer - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines an ORGANIZER iCalendar component property.
    +
    +
    ORGANIZER - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Organiser property name.
    +
    +
    Organizer() - Constructor for class net.fortuna.ical4j.model.property.Organizer
    +
    +
    Default constructor.
    +
    +
    Organizer(String) - Constructor for class net.fortuna.ical4j.model.property.Organizer
    +
    +
    Constructs a new instance with the specified value.
    +
    +
    Organizer(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Organizer
    +
     
    +
    Organizer(URI) - Constructor for class net.fortuna.ical4j.model.property.Organizer
    +
     
    +
    Organizer(ParameterList, URI) - Constructor for class net.fortuna.ical4j.model.property.Organizer
    +
     
    +
    output(Calendar, OutputStream) - Method in class net.fortuna.ical4j.data.CalendarOutputter
    +
    +
    Outputs an iCalender string to the specified output stream.
    +
    +
    output(Calendar, Writer) - Method in class net.fortuna.ical4j.data.CalendarOutputter
    +
    +
    Outputs an iCalender string to the specified writer.
    +
    +
    + + + +

    P

    +
    +
    PARAM_QUOTE_PATTERN - Static variable in class net.fortuna.ical4j.util.Strings
    +
    +
    Defines a regular expression representing all parameter strings that + should be quoted.
    +
    +
    parameter(String, String) - Method in interface net.fortuna.ical4j.data.ContentHandler
    +
    +
    Triggers the handling of a parameter.
    +
    +
    Parameter - Class in net.fortuna.ical4j.model
    +
    +
    Defines an iCalendar parameter.
    +
    +
    Parameter(String, ParameterFactory) - Constructor for class net.fortuna.ical4j.model.Parameter
    +
     
    +
    ParameterFactory - Interface in net.fortuna.ical4j.model
    +
    +
    Implementors provide parameter creation services.
    +
    +
    ParameterFactoryImpl - Class in net.fortuna.ical4j.model
    +
    +
    A factory for creating iCalendar parameters.
    +
    +
    ParameterFactoryImpl() - Constructor for class net.fortuna.ical4j.model.ParameterFactoryImpl
    +
     
    +
    ParameterFactoryRegistry - Class in net.fortuna.ical4j.model
    +
     
    +
    ParameterFactoryRegistry() - Constructor for class net.fortuna.ical4j.model.ParameterFactoryRegistry
    +
     
    +
    ParameterList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [Apr 5, 2004] + + Defines a list of iCalendar parameters.
    +
    +
    ParameterList() - Constructor for class net.fortuna.ical4j.model.ParameterList
    +
    +
    Default constructor.
    +
    +
    ParameterList(boolean) - Constructor for class net.fortuna.ical4j.model.ParameterList
    +
    +
    Constructor.
    +
    +
    ParameterList(ParameterList, boolean) - Constructor for class net.fortuna.ical4j.model.ParameterList
    +
    +
    Creates a deep copy of the specified parameter list.
    +
    +
    ParameterValidator - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ [15-May-2004] + + Defines methods for validating parameters and parameter + lists.
    +
    +
    PARENT - Static variable in class net.fortuna.ical4j.model.parameter.RelType
    +
    +
    Parent.
    +
    +
    parse(InputStream, ContentHandler) - Method in interface net.fortuna.ical4j.data.CalendarParser
    +
    +
    Parse the iCalendar data from the specified input stream.
    +
    +
    parse(Reader, ContentHandler) - Method in interface net.fortuna.ical4j.data.CalendarParser
    +
    +
    Parse the iCalendar data from the specified reader.
    +
    +
    parse(InputStream, ContentHandler) - Method in class net.fortuna.ical4j.data.CalendarParserImpl
    +
    +
    Parse the iCalendar data from the specified input stream.
    +
    +
    parse(Reader, ContentHandler) - Method in class net.fortuna.ical4j.data.CalendarParserImpl
    +
    +
    Parse the iCalendar data from the specified reader.
    +
    +
    parse(InputStream, ContentHandler) - Method in class net.fortuna.ical4j.data.HCalendarParser
    +
    +
    Parse the iCalendar data from the specified input stream.
    +
    +
    parse(Reader, ContentHandler) - Method in class net.fortuna.ical4j.data.HCalendarParser
    +
    +
    Parse the iCalendar data from the specified reader.
    +
    +
    parseInt(String) - Static method in class net.fortuna.ical4j.util.Numbers
    +
    +
    Wraps java.lang.Integer.parseInt() to accept values with + a PLUS character (i.e.
    +
    +
    ParserException - Exception in net.fortuna.ical4j.data
    +
    +
    + $Id$ [Apr 5, 2004]
    +
    +
    ParserException(int) - Constructor for exception net.fortuna.ical4j.data.ParserException
    +
     
    +
    ParserException(String, int) - Constructor for exception net.fortuna.ical4j.data.ParserException
    +
    +
    Constructor with message.
    +
    +
    ParserException(String, int, Throwable) - Constructor for exception net.fortuna.ical4j.data.ParserException
    +
    +
    Constructor with message and cause.
    +
    +
    PartStat - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Participation Status parameter.
    +
    +
    PARTSTAT - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Participation status.
    +
    +
    PartStat(String) - Constructor for class net.fortuna.ical4j.model.parameter.PartStat
    +
     
    +
    PERCENT_COMPLETE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Percentage complete property name.
    +
    +
    PercentComplete - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a PERCENT-COMPLETE iCalendar component property.
    +
    +
    PercentComplete() - Constructor for class net.fortuna.ical4j.model.property.PercentComplete
    +
    +
    Default constructor.
    +
    +
    PercentComplete(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.PercentComplete
    +
     
    +
    PercentComplete(int) - Constructor for class net.fortuna.ical4j.model.property.PercentComplete
    +
     
    +
    PercentComplete(ParameterList, int) - Constructor for class net.fortuna.ical4j.model.property.PercentComplete
    +
     
    +
    PERIOD - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Period value type.
    +
    +
    Period - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [Apr 14, 2004] + + Defines a period of time.
    +
    +
    Period(String) - Constructor for class net.fortuna.ical4j.model.Period
    +
    +
    Constructor.
    +
    +
    Period(DateTime, DateTime) - Constructor for class net.fortuna.ical4j.model.Period
    +
    +
    Constructs a new period with the specied start and end date.
    +
    +
    Period(DateTime, Dur) - Constructor for class net.fortuna.ical4j.model.Period
    +
    +
    Constructs a new period with the specified start date and duration.
    +
    +
    PeriodList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [23-Apr-2004] + + Defines a list of iCalendar periods.
    +
    +
    PeriodList() - Constructor for class net.fortuna.ical4j.model.PeriodList
    +
    +
    Default constructor.
    +
    +
    PeriodList(boolean) - Constructor for class net.fortuna.ical4j.model.PeriodList
    +
     
    +
    PeriodList(boolean, boolean) - Constructor for class net.fortuna.ical4j.model.PeriodList
    +
     
    +
    PeriodList(String) - Constructor for class net.fortuna.ical4j.model.PeriodList
    +
    +
    Parses the specified string representation to create a list of periods.
    +
    +
    PeriodRule - Class in net.fortuna.ical4j.filter
    +
    +
    $Id$ + + Created on 2/02/2006 + + A rule that matches any component that occurs in the specified time period.
    +
    +
    PeriodRule(Period) - Constructor for class net.fortuna.ical4j.filter.PeriodRule
    +
    +
    Constructs a new instance using the specified period.
    +
    +
    Postalcode - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a POSTALCODE iCalendar component property.
    +
    +
    POSTALCODE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE postal code property name.
    +
    +
    Postalcode() - Constructor for class net.fortuna.ical4j.model.property.Postalcode
    +
    +
    Default constructor.
    +
    +
    Postalcode(String) - Constructor for class net.fortuna.ical4j.model.property.Postalcode
    +
     
    +
    Postalcode(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Postalcode
    +
     
    +
    PRECISION_DAY - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Constant indicating precision to the day.
    +
    +
    PRECISION_SECOND - Static variable in class net.fortuna.ical4j.util.Dates
    +
    +
    Constant indicating precision to the second.
    +
    +
    PREFIX - Static variable in class net.fortuna.ical4j.model.parameter.TzId
    +
    +
    Timezone identifier prefix.
    +
    +
    PREFIX - Static variable in class net.fortuna.ical4j.model.property.TzId
    +
    +
    Timezone identifier prefix.
    +
    +
    PRELIM_SUCCESS - Static variable in class net.fortuna.ical4j.model.property.RequestStatus
    +
    +
    Preliminary success status.
    +
    +
    Priority - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a PRIORITY iCalendar component property.
    +
    +
    PRIORITY - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Prority property name.
    +
    +
    Priority() - Constructor for class net.fortuna.ical4j.model.property.Priority
    +
    +
    Default constructor.
    +
    +
    Priority(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Priority
    +
     
    +
    Priority(int) - Constructor for class net.fortuna.ical4j.model.property.Priority
    +
     
    +
    Priority(ParameterList, int) - Constructor for class net.fortuna.ical4j.model.property.Priority
    +
     
    +
    PRIVATE - Static variable in class net.fortuna.ical4j.model.property.Clazz
    +
    +
    Constant for private classification.
    +
    +
    PROCEDURE - Static variable in class net.fortuna.ical4j.model.property.Action
    +
    +
    Constant action for a procedure.
    +
    +
    ProdId - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a PRODID iCalendar property.
    +
    +
    PRODID - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Product identifier property name.
    +
    +
    ProdId() - Constructor for class net.fortuna.ical4j.model.property.ProdId
    +
    +
    Default constructor.
    +
    +
    ProdId(String) - Constructor for class net.fortuna.ical4j.model.property.ProdId
    +
     
    +
    ProdId(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.ProdId
    +
     
    +
    property - Variable in class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    The current property instance created by the builder.
    +
    +
    Property - Class in net.fortuna.ical4j.model
    +
    +
    Defines an iCalendar property.
    +
    +
    Property(String, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.Property
    +
    +
    Constructor.
    +
    +
    Property(String, ParameterList, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.Property
    +
     
    +
    Property(Property) - Constructor for class net.fortuna.ical4j.model.Property
    +
    +
    Deprecated. +
    Use Property.copy() instead
    +
    +
    +
    PropertyFactory - Interface in net.fortuna.ical4j.model
    +
    +
    A factory for creating iCalendar properties.
    +
    +
    PropertyFactoryImpl - Class in net.fortuna.ical4j.model
    +
    +
    A factory for creating iCalendar properties.
    +
    +
    PropertyFactoryImpl() - Constructor for class net.fortuna.ical4j.model.PropertyFactoryImpl
    +
    +
    Constructor made private to prevent instantiation.
    +
    +
    PropertyFactoryRegistry - Class in net.fortuna.ical4j.model
    +
     
    +
    PropertyFactoryRegistry() - Constructor for class net.fortuna.ical4j.model.PropertyFactoryRegistry
    +
     
    +
    PropertyList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [Apr 5, 2004] + + Defines a list of iCalendar properties.
    +
    +
    PropertyList() - Constructor for class net.fortuna.ical4j.model.PropertyList
    +
    +
    Default constructor.
    +
    +
    PropertyList(int) - Constructor for class net.fortuna.ical4j.model.PropertyList
    +
    +
    Creates a new instance with the specified initial capacity.
    +
    +
    PropertyList(PropertyList) - Constructor for class net.fortuna.ical4j.model.PropertyList
    +
    +
    Creates a deep copy of the specified property list.
    +
    +
    PropertyValidator - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ [15-May-2004] + + Defines methods for validating properties and property lists.
    +
    +
    propertyValue(String) - Method in interface net.fortuna.ical4j.data.ContentHandler
    +
    +
    Triggers the handling of a property value.
    +
    +
    PUBLIC - Static variable in class net.fortuna.ical4j.model.property.Clazz
    +
    +
    Constant for public classification.
    +
    +
    PUBLISH - Static variable in class net.fortuna.ical4j.model.property.Method
    +
    +
    Used to publish a calendar entry to one or more Calendar Users.
    +
    +
    PublishTransformer - Class in net.fortuna.ical4j.transform
    +
    +
    $Id$ + + Created: 26/09/2004 + + Transforms a calendar for publishing.
    +
    +
    PublishTransformer() - Constructor for class net.fortuna.ical4j.transform.PublishTransformer
    +
     
    +
    + + + +

    Q

    +
    +
    quote(Object) - Static method in class net.fortuna.ical4j.util.Strings
    +
    +
    Convenience method for adding quotes.
    +
    +
    QUOTED_PRINTABLE - Static variable in class net.fortuna.ical4j.model.parameter.Encoding
    +
    +
    Quoted printable encoding.
    +
    +
    + + + +

    R

    +
    +
    Range - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Recurrence Identifier Range parameter.
    +
    +
    RANGE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Recurrence identifier range.
    +
    +
    Range(String) - Constructor for class net.fortuna.ical4j.model.parameter.Range
    +
     
    +
    RDate - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines an RDATE iCalendar component property.
    +
    +
    RDATE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Recurrence date property name.
    +
    +
    RDate() - Constructor for class net.fortuna.ical4j.model.property.RDate
    +
    +
    Default constructor.
    +
    +
    RDate(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.RDate
    +
     
    +
    RDate(DateList) - Constructor for class net.fortuna.ical4j.model.property.RDate
    +
    +
    Constructor.
    +
    +
    RDate(ParameterList, DateList) - Constructor for class net.fortuna.ical4j.model.property.RDate
    +
    +
    Constructor.
    +
    +
    RDate(PeriodList) - Constructor for class net.fortuna.ical4j.model.property.RDate
    +
    +
    Constructor.
    +
    +
    RDate(ParameterList, PeriodList) - Constructor for class net.fortuna.ical4j.model.property.RDate
    +
    +
    Constructor.
    +
    +
    read() - Method in class net.fortuna.ical4j.data.UnfoldingReader
    +
    read(char[], int, int) - Method in class net.fortuna.ical4j.data.UnfoldingReader
    +
    RECUR - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Recurrence value type.
    +
    +
    Recur - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [18-Apr-2004] + + Defines a recurrence.
    +
    +
    Recur() - Constructor for class net.fortuna.ical4j.model.Recur
    +
    +
    Default constructor.
    +
    +
    Recur(String) - Constructor for class net.fortuna.ical4j.model.Recur
    +
    +
    Constructs a new instance from the specified string value.
    +
    +
    Recur(String, Date) - Constructor for class net.fortuna.ical4j.model.Recur
    +
     
    +
    Recur(String, int) - Constructor for class net.fortuna.ical4j.model.Recur
    +
     
    +
    RECURRENCE_ID - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Recurrence identifier property name.
    +
    +
    RecurrenceId - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a RECURRENCE-ID iCalendar component property.
    +
    +
    RecurrenceId() - Constructor for class net.fortuna.ical4j.model.property.RecurrenceId
    +
    +
    Default constructor.
    +
    +
    RecurrenceId(TimeZone) - Constructor for class net.fortuna.ical4j.model.property.RecurrenceId
    +
    +
    Creates a new RECURRENCE_ID property initialised with the specified timezone.
    +
    +
    RecurrenceId(String) - Constructor for class net.fortuna.ical4j.model.property.RecurrenceId
    +
    +
    Creates a new instance initialised with the parsed value.
    +
    +
    RecurrenceId(String, TimeZone) - Constructor for class net.fortuna.ical4j.model.property.RecurrenceId
    +
    +
    Creates a new RECURRENCE_ID property initialised with the specified timezone and value.
    +
    +
    RecurrenceId(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.RecurrenceId
    +
     
    +
    RecurrenceId(Date) - Constructor for class net.fortuna.ical4j.model.property.RecurrenceId
    +
    +
    Constructor.
    +
    +
    RecurrenceId(ParameterList, Date) - Constructor for class net.fortuna.ical4j.model.property.RecurrenceId
    +
    +
    Constructor.
    +
    +
    REDUCED_FOLD_LENGTH - Static variable in class net.fortuna.ical4j.data.FoldingWriter
    +
    +
    reduced to 73 to be consistent with Apple iCal..
    +
    +
    REFRESH - Static variable in class net.fortuna.ical4j.model.property.Method
    +
    +
    The Refresh method is used by an "Attendee" to request the latest version of a calendar entry.
    +
    +
    Region - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
    +
    +
    REGION - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE region property name.
    +
    +
    Region() - Constructor for class net.fortuna.ical4j.model.property.Region
    +
    +
    Default constructor.
    +
    +
    Region(String) - Constructor for class net.fortuna.ical4j.model.property.Region
    +
     
    +
    Region(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Region
    +
     
    +
    register(String, ParameterFactory) - Method in class net.fortuna.ical4j.model.ParameterFactoryRegistry
    +
     
    +
    register(String, PropertyFactory) - Method in class net.fortuna.ical4j.model.PropertyFactoryRegistry
    +
     
    +
    register(TimeZone) - Method in interface net.fortuna.ical4j.model.TimeZoneRegistry
    +
    +
    Registers a new timezone for use with iCalendar objects.
    +
    +
    register(TimeZone, boolean) - Method in interface net.fortuna.ical4j.model.TimeZoneRegistry
    +
    +
    Registers a new timezone for use with iCalendar objects.
    +
    +
    register(TimeZone) - Method in class net.fortuna.ical4j.model.TimeZoneRegistryImpl
    +
    +
    Registers a new timezone for use with iCalendar objects.
    +
    +
    register(TimeZone, boolean) - Method in class net.fortuna.ical4j.model.TimeZoneRegistryImpl
    +
    +
    Registers a new timezone for use with iCalendar objects.
    +
    +
    registerDefaultFactory(String, Object) - Method in class net.fortuna.ical4j.model.AbstractContentFactory
    +
    +
    Register a standard content factory.
    +
    +
    registerExtendedFactory(String, Object) - Method in class net.fortuna.ical4j.model.AbstractContentFactory
    +
    +
    Register a non-standard content factory.
    +
    +
    Related - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines an Alarm Trigger Relationship parameter.
    +
    +
    RELATED - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Alarm trigger relationship.
    +
    +
    Related(String) - Constructor for class net.fortuna.ical4j.model.parameter.Related
    +
     
    +
    RELATED_TO - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Relationship property name.
    +
    +
    RelatedTo - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a RELATED-TO iCalendar component property.
    +
    +
    RelatedTo() - Constructor for class net.fortuna.ical4j.model.property.RelatedTo
    +
    +
    Default constructor.
    +
    +
    RelatedTo(String) - Constructor for class net.fortuna.ical4j.model.property.RelatedTo
    +
     
    +
    RelatedTo(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.RelatedTo
    +
     
    +
    RelType - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Relationship Type parameter.
    +
    +
    RELTYPE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Relationship type.
    +
    +
    RelType(String) - Constructor for class net.fortuna.ical4j.model.parameter.RelType
    +
     
    +
    remove(URI) - Method in class net.fortuna.ical4j.model.AddressList
    +
    +
    Remove an address from the list.
    +
    +
    remove(Component) - Method in class net.fortuna.ical4j.model.ComponentList
    +
    +
    Remove a component from the list.
    +
    +
    remove(Date) - Method in class net.fortuna.ical4j.model.DateList
    +
    +
    Remove a date from the list.
    +
    +
    remove(int) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    remove(Object) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    remove(String) - Method in class net.fortuna.ical4j.model.LocationTypeList
    +
    +
    Remove a locationType from the list.
    +
    +
    remove(Integer) - Method in class net.fortuna.ical4j.model.NumberList
    +
     
    +
    remove(Parameter) - Method in class net.fortuna.ical4j.model.ParameterList
    +
    +
    Remove a parameter from the list.
    +
    +
    remove(Period) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    Remove a period from the list.
    +
    +
    remove(Object) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    remove(Property) - Method in class net.fortuna.ical4j.model.PropertyList
    +
    +
    Remove a property from the list.
    +
    +
    remove(String) - Method in class net.fortuna.ical4j.model.TextList
    +
    +
    Remove a text from the list.
    +
    +
    remove(WeekDay) - Method in class net.fortuna.ical4j.model.WeekDayList
    +
     
    +
    removeAll(Collection) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    removeAll(String) - Method in class net.fortuna.ical4j.model.ParameterList
    +
    +
    Remove all parameters with the specified name.
    +
    +
    removeAll(Collection) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    Repeat - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a REPEAT iCalendar component property.
    +
    +
    REPEAT - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Repeat rule property name.
    +
    +
    Repeat() - Constructor for class net.fortuna.ical4j.model.property.Repeat
    +
    +
    Default constructor.
    +
    +
    Repeat(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Repeat
    +
     
    +
    Repeat(int) - Constructor for class net.fortuna.ical4j.model.property.Repeat
    +
     
    +
    Repeat(ParameterList, int) - Constructor for class net.fortuna.ical4j.model.property.Repeat
    +
     
    +
    replace(Parameter) - Method in class net.fortuna.ical4j.model.ParameterList
    +
    +
    Replace any parameters of the same type with the one specified.
    +
    +
    REPLY - Static variable in class net.fortuna.ical4j.model.property.Method
    +
    +
    A Reply is used in response to a Request to convey "Attendee" status to the "Organizer".
    +
    +
    REQ_PARTICIPANT - Static variable in class net.fortuna.ical4j.model.parameter.Role
    +
    +
    Required participant.
    +
    +
    REQUEST - Static variable in class net.fortuna.ical4j.model.property.Method
    +
    +
    Used to schedule a calendar entry with other Calendar Users.
    +
    +
    REQUEST_STATUS - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Request status property name.
    +
    +
    RequestStatus - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a REQUEST-STATUS iCalendar component property.
    +
    +
    RequestStatus() - Constructor for class net.fortuna.ical4j.model.property.RequestStatus
    +
    +
    Default constructor.
    +
    +
    RequestStatus(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    RequestStatus(String, String, String) - Constructor for class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    RequestStatus(ParameterList, String, String, String) - Constructor for class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    RESOURCE - Static variable in class net.fortuna.ical4j.model.parameter.CuType
    +
    +
    Resource.
    +
    +
    ResourceLoader - Class in net.fortuna.ical4j.util
    +
     
    +
    ResourceLoader() - Constructor for class net.fortuna.ical4j.util.ResourceLoader
    +
     
    +
    Resources - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a RESOURCES iCalendar component property.
    +
    +
    RESOURCES - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Resources property name.
    +
    +
    Resources() - Constructor for class net.fortuna.ical4j.model.property.Resources
    +
    +
    Default constructor.
    +
    +
    Resources(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Resources
    +
     
    +
    Resources(TextList) - Constructor for class net.fortuna.ical4j.model.property.Resources
    +
     
    +
    Resources(ParameterList, TextList) - Constructor for class net.fortuna.ical4j.model.property.Resources
    +
     
    +
    retainAll(Collection) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    retainAll(Collection) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    Role - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Participation Role parameter.
    +
    +
    ROLE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Participation role.
    +
    +
    Role(String) - Constructor for class net.fortuna.ical4j.model.parameter.Role
    +
     
    +
    ROOM - Static variable in class net.fortuna.ical4j.model.parameter.CuType
    +
    +
    Room.
    +
    +
    round(long, int) - Static method in class net.fortuna.ical4j.util.Dates
    +
    +
    Deprecated. +
    It is not all that useful to perform rounding without specifying an + explicit timezone.
    +
    +
    +
    round(long, int, TimeZone) - Static method in class net.fortuna.ical4j.util.Dates
    +
    +
    Rounds a time value to remove any precision smaller than specified.
    +
    +
    RRule - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines an RRULE iCalendar component property.
    +
    +
    RRULE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Recurrence rule property name.
    +
    +
    RRule() - Constructor for class net.fortuna.ical4j.model.property.RRule
    +
    +
    Default constructor.
    +
    +
    RRule(String) - Constructor for class net.fortuna.ical4j.model.property.RRule
    +
     
    +
    RRule(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.RRule
    +
     
    +
    RRule(Recur) - Constructor for class net.fortuna.ical4j.model.property.RRule
    +
     
    +
    RRule(ParameterList, Recur) - Constructor for class net.fortuna.ical4j.model.property.RRule
    +
     
    +
    Rsvp - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines an RSVP parameter.
    +
    +
    RSVP - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    RSVP expectation.
    +
    +
    Rsvp(String) - Constructor for class net.fortuna.ical4j.model.parameter.Rsvp
    +
     
    +
    Rsvp(Boolean) - Constructor for class net.fortuna.ical4j.model.parameter.Rsvp
    +
     
    +
    Rule - Interface in net.fortuna.ical4j.filter
    +
    +
    $Id$ + + Created: Feb 1, 2006 + + Implementors dictate whether a given object is classified as a "match" for the enclosing filter.
    +
    +
    + + + +

    S

    +
    +
    SA - Static variable in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Saturday.
    +
    +
    SCHEDULE_AGENT - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Schedule agent.
    +
    +
    SCHEDULE_STATUS - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Schedule status.
    +
    +
    ScheduleAgent - Class in net.fortuna.ical4j.model.parameter
    +
    +
    Defines the scheduling agent for CalDAV scheduling.
    +
    +
    ScheduleAgent(String) - Constructor for class net.fortuna.ical4j.model.parameter.ScheduleAgent
    +
     
    +
    ScheduleStatus - Class in net.fortuna.ical4j.model.parameter
    +
    +
    Defines the scheduling status for CalDAV scheduling.
    +
    +
    ScheduleStatus(String) - Constructor for class net.fortuna.ical4j.model.parameter.ScheduleStatus
    +
     
    +
    SCHEDULING_ERROR - Static variable in class net.fortuna.ical4j.model.property.RequestStatus
    +
    +
    Scheduling error status.
    +
    +
    SECONDLY - Static variable in class net.fortuna.ical4j.model.Recur
    +
    +
    Second frequency resolution.
    +
    +
    SENT_BY - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Sent by.
    +
    +
    SentBy - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Sent By parameter.
    +
    +
    SentBy(String) - Constructor for class net.fortuna.ical4j.model.parameter.SentBy
    +
     
    +
    SentBy(URI) - Constructor for class net.fortuna.ical4j.model.parameter.SentBy
    +
     
    +
    Sequence - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a SEQUENCE iCalendar component property.
    +
    +
    SEQUENCE - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Sequence property name.
    +
    +
    Sequence() - Constructor for class net.fortuna.ical4j.model.property.Sequence
    +
    +
    Default constructor.
    +
    +
    Sequence(String) - Constructor for class net.fortuna.ical4j.model.property.Sequence
    +
     
    +
    Sequence(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Sequence
    +
     
    +
    Sequence(int) - Constructor for class net.fortuna.ical4j.model.property.Sequence
    +
     
    +
    Sequence(ParameterList, int) - Constructor for class net.fortuna.ical4j.model.property.Sequence
    +
     
    +
    SERVER - Static variable in class net.fortuna.ical4j.model.parameter.ScheduleAgent
    +
     
    +
    set(int, Object) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    setBinary(byte[]) - Method in class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    setCalAddress(URI) - Method in class net.fortuna.ical4j.model.property.Attendee
    +
     
    +
    setCalAddress(URI) - Method in class net.fortuna.ical4j.model.property.Organizer
    +
     
    +
    setCount(int) - Method in class net.fortuna.ical4j.model.property.Repeat
    +
     
    +
    setCount(int) - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    setDate(Date) - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    +
    Sets the date value of this property.
    +
    +
    setDateTime(DateTime) - Method in class net.fortuna.ical4j.model.property.Trigger
    +
     
    +
    setDateTime(DateTime) - Method in class net.fortuna.ical4j.model.property.UtcProperty
    +
     
    +
    setDescription(String) - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    setDuration(Dur) - Method in class net.fortuna.ical4j.model.property.Duration
    +
     
    +
    setDuration(Dur) - Method in class net.fortuna.ical4j.model.property.Trigger
    +
     
    +
    setExData(String) - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    setFrequency(String) - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    setHintEnabled(String, boolean) - Static method in class net.fortuna.ical4j.util.CompatibilityHints
    +
     
    +
    setInterval(int) - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    setLatitude(BigDecimal) - Method in class net.fortuna.ical4j.model.property.Geo
    +
     
    +
    setLevel(int) - Method in class net.fortuna.ical4j.model.property.Priority
    +
     
    +
    setLongitude(BigDecimal) - Method in class net.fortuna.ical4j.model.property.Geo
    +
     
    +
    setMaxVersion(String) - Method in class net.fortuna.ical4j.model.property.Version
    +
     
    +
    setMinVersion(String) - Method in class net.fortuna.ical4j.model.property.Version
    +
     
    +
    setOffset(UtcOffset) - Method in class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
     
    +
    setOffset(UtcOffset) - Method in class net.fortuna.ical4j.model.property.TzOffsetTo
    +
     
    +
    setPercentage(int) - Method in class net.fortuna.ical4j.model.property.PercentComplete
    +
     
    +
    setRawOffset(int) - Method in class net.fortuna.ical4j.model.TimeZone
    +
    setRecur(Recur) - Method in class net.fortuna.ical4j.model.property.ExRule
    +
     
    +
    setRules(Rule[]) - Method in class net.fortuna.ical4j.filter.Filter
    +
     
    +
    setStatusCode(String) - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
     
    +
    setTime(long) - Method in class net.fortuna.ical4j.model.DateTime
    +
    setTime(long) - Method in class net.fortuna.ical4j.model.Iso8601
    +
    setTimeZone(TimeZone) - Method in class net.fortuna.ical4j.model.DateList
    +
    +
    Applies the specified timezone to all dates in the list.
    +
    +
    setTimeZone(TimeZone) - Method in class net.fortuna.ical4j.model.DateTime
    +
    +
    Sets the timezone associated with this date-time instance.
    +
    +
    setTimeZone(TimeZone) - Method in class net.fortuna.ical4j.model.Period
    +
    +
    Updates the start and (possible) end times of this period to reflect + the specified timezone status.
    +
    +
    setTimeZone(TimeZone) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    Applies the specified timezone to all dates in the list.
    +
    +
    setTimeZone(TimeZone) - Method in class net.fortuna.ical4j.model.property.DateListProperty
    +
    +
    Sets the timezone associated with this property.
    +
    +
    setTimeZone(TimeZone) - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    +
    Publically available method to update the current timezone.
    +
    +
    setTimeZone(TimeZone) - Method in class net.fortuna.ical4j.model.property.RDate
    +
    +
    Sets the timezone associated with this property.
    +
    +
    setTimeZone(TimeZone) - Method in class net.fortuna.ical4j.model.property.UtcProperty
    +
    +
    Publically available method to update the current timezone.
    +
    +
    setUntil(Date) - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    setUri(URI) - Method in class net.fortuna.ical4j.model.property.Attach
    +
     
    +
    setUri(URI) - Method in class net.fortuna.ical4j.model.property.TzUrl
    +
     
    +
    setUri(URI) - Method in class net.fortuna.ical4j.model.property.Url
    +
     
    +
    setUtc(boolean) - Method in class net.fortuna.ical4j.model.DateList
    +
    +
    Sets whether this list is in UTC or local time format.
    +
    +
    setUtc(boolean) - Method in class net.fortuna.ical4j.model.DateTime
    +
    +
    Updates this date-time to display in UTC time if the argument is true.
    +
    +
    setUtc(boolean) - Method in class net.fortuna.ical4j.model.Period
    +
    +
    Updates the start and (possible) end times of this period to reflect + the specified UTC timezone status.
    +
    +
    setUtc(boolean) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    Sets whether this list is in UTC or local time format.
    +
    +
    setUtc(boolean) - Method in class net.fortuna.ical4j.model.property.DateListProperty
    +
    +
    Resets the timezone associated with the property.
    +
    +
    setUtc(boolean) - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    +
    Resets the VTIMEZONE associated with the property.
    +
    +
    setValidating(boolean) - Method in class net.fortuna.ical4j.data.AbstractOutputter
    +
     
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Action
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Attach
    +
    +
    Sets the current value of the Attach instance.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Attendee
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.BusyType
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.CalScale
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Categories
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Clazz
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Comment
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Contact
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Country
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.DateListProperty
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    +
    Default setValue() implementation.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Description
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Duration
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.ExRule
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.ExtendedAddress
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.FreeBusy
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Geo
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Locality
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Location
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.LocationType
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Method
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Name
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Organizer
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.PercentComplete
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Postalcode
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Priority
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.ProdId
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.RDate
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Region
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.RelatedTo
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Repeat
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Resources
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.RRule
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Sequence
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.Property
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Status
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.StreetAddress
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Summary
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Tel
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Transp
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Trigger
    +
    +
    Default setValue() implementation.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.TzId
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.TzName
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.TzOffsetTo
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.TzUrl
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Uid
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Url
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.Version
    +
    +
    Sets the current value of the property.
    +
    +
    setValue(String) - Method in class net.fortuna.ical4j.model.property.XProperty
    +
    +
    Sets the current value of the property.
    +
    +
    setWeekStartDay(String) - Method in class net.fortuna.ical4j.model.Recur
    +
     
    +
    SEVEN_BIT - Static variable in class net.fortuna.ical4j.model.parameter.Encoding
    +
    +
    7 bit encoding.
    +
    +
    SIBLING - Static variable in class net.fortuna.ical4j.model.parameter.RelType
    +
    +
    Sibling.
    +
    +
    SimpleHostInfo - Class in net.fortuna.ical4j.util
    +
     
    +
    SimpleHostInfo(String) - Constructor for class net.fortuna.ical4j.util.SimpleHostInfo
    +
     
    +
    size() - Method in class net.fortuna.ical4j.model.AddressList
    +
     
    +
    size() - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    size() - Method in class net.fortuna.ical4j.model.LocationTypeList
    +
     
    +
    size() - Method in class net.fortuna.ical4j.model.ParameterList
    +
     
    +
    size() - Method in class net.fortuna.ical4j.model.PeriodList
    +
    size() - Method in class net.fortuna.ical4j.model.TextList
    +
     
    +
    split(Calendar) - Static method in class net.fortuna.ical4j.util.Calendars
    +
    +
    Splits a calendar object into distinct calendar objects for unique + identifers (UID).
    +
    +
    STANDARD - Static variable in class net.fortuna.ical4j.model.component.Observance
    +
    +
    one of 'standardc' or 'daylightc' MUST occur and each MAY occur more than once.
    +
    +
    Standard - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [05-Apr-2004] + + Defines an iCalendar standard timezone observance component.
    +
    +
    Standard() - Constructor for class net.fortuna.ical4j.model.component.Standard
    +
    +
    Default constructor.
    +
    +
    Standard(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.Standard
    +
    +
    Constructor.
    +
    +
    START - Static variable in class net.fortuna.ical4j.model.parameter.Related
    +
    +
    Trigger start.
    +
    +
    startCalendar() - Method in interface net.fortuna.ical4j.data.ContentHandler
    +
    +
    Triggers the start of handling a calendar.
    +
    +
    startComponent(String) - Method in interface net.fortuna.ical4j.data.ContentHandler
    +
    +
    Triggers the start of handling a component.
    +
    +
    startProperty(String) - Method in interface net.fortuna.ical4j.data.ContentHandler
    +
    +
    Triggers the start of handling a property.
    +
    +
    Status - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a STATUS iCalendar component property.
    +
    +
    STATUS - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Status property name.
    +
    +
    Status() - Constructor for class net.fortuna.ical4j.model.property.Status
    +
    +
    Default constructor.
    +
    +
    Status(String) - Constructor for class net.fortuna.ical4j.model.property.Status
    +
     
    +
    Status(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Status
    +
     
    +
    STREET_ADDRESS - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE street address property name.
    +
    +
    StreetAddress - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a STREET_ADDRESS iCalendar component property.
    +
    +
    StreetAddress() - Constructor for class net.fortuna.ical4j.model.property.StreetAddress
    +
    +
    Default constructor.
    +
    +
    StreetAddress(String) - Constructor for class net.fortuna.ical4j.model.property.StreetAddress
    +
     
    +
    StreetAddress(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.StreetAddress
    +
     
    +
    Strings - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ [23-Apr-2004] + + Utility methods for working with parameters.
    +
    +
    SU - Static variable in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Sunday.
    +
    +
    subComponent - Variable in class net.fortuna.ical4j.data.CalendarBuilder
    +
    +
    The current sub-component instance created by the builder.
    +
    +
    subList(int, int) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    subtract(Period) - Method in class net.fortuna.ical4j.model.Period
    +
    +
    Creates a set of periods resulting from the subtraction of the specified + period from this one.
    +
    +
    subtract(PeriodList) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    +
    Subtracts the intersection of this list with the specified list of + periods from this list and returns the results as a new period list.
    +
    +
    SUCCESS - Static variable in class net.fortuna.ical4j.model.property.RequestStatus
    +
    +
    Success status.
    +
    +
    Summary - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a SUMMARY iCalendar component property.
    +
    +
    SUMMARY - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Summary property name.
    +
    +
    Summary() - Constructor for class net.fortuna.ical4j.model.property.Summary
    +
    +
    Default constructor.
    +
    +
    Summary(String) - Constructor for class net.fortuna.ical4j.model.property.Summary
    +
     
    +
    Summary(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Summary
    +
     
    +
    + + + +

    T

    +
    +
    Tel - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a TEL iCalendar component property.
    +
    +
    TEL - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    VVENUE telephone property name.
    +
    +
    Tel() - Constructor for class net.fortuna.ical4j.model.property.Tel
    +
    +
    Default constructor.
    +
    +
    Tel(String) - Constructor for class net.fortuna.ical4j.model.property.Tel
    +
     
    +
    Tel(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Tel
    +
     
    +
    TENTATIVE - Static variable in class net.fortuna.ical4j.model.parameter.PartStat
    +
    +
    Tentative.
    +
    +
    TEXT - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Text value type.
    +
    +
    TextList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [23-Apr-2004] + + Defines a list of iCalendar text elements.
    +
    +
    TextList() - Constructor for class net.fortuna.ical4j.model.TextList
    +
    +
    Default constructor.
    +
    +
    TextList(String) - Constructor for class net.fortuna.ical4j.model.TextList
    +
    +
    Parses the specified string representation to create a list of categories.
    +
    +
    TextList(String[]) - Constructor for class net.fortuna.ical4j.model.TextList
    +
     
    +
    TH - Static variable in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Thursday.
    +
    +
    THISANDFUTURE - Static variable in class net.fortuna.ical4j.model.parameter.Range
    +
    +
    This and future.
    +
    +
    THISANDPRIOR - Static variable in class net.fortuna.ical4j.model.parameter.Range
    +
    +
    This and prior.
    +
    +
    TIME - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    Time value type.
    +
    +
    Time - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 30/06/2005 + + A type used to represent iCalendar time values.
    +
    +
    Time(TimeZone) - Constructor for class net.fortuna.ical4j.model.Time
    +
     
    +
    Time(TimeZone, boolean) - Constructor for class net.fortuna.ical4j.model.Time
    +
     
    +
    Time(long, TimeZone) - Constructor for class net.fortuna.ical4j.model.Time
    +
     
    +
    Time(long, TimeZone, boolean) - Constructor for class net.fortuna.ical4j.model.Time
    +
     
    +
    Time(Date, TimeZone) - Constructor for class net.fortuna.ical4j.model.Time
    +
     
    +
    Time(Date, TimeZone, boolean) - Constructor for class net.fortuna.ical4j.model.Time
    +
     
    +
    Time(String, TimeZone) - Constructor for class net.fortuna.ical4j.model.Time
    +
     
    +
    Time(String, TimeZone, boolean) - Constructor for class net.fortuna.ical4j.model.Time
    +
     
    +
    TimeZone - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 13/09/2005 + + A Java timezone implementation based on an underlying VTimeZone + definition.
    +
    +
    TimeZone(VTimeZone) - Constructor for class net.fortuna.ical4j.model.TimeZone
    +
    +
    Constructs a new instance based on the specified VTimeZone.
    +
    +
    TimeZoneRegistry - Interface in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 18/09/2005 + + Implementors provide a list of timezone definitions applicable for use + with iCalendar objects.
    +
    +
    TimeZoneRegistryFactory - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 18/09/2005 + + Provides access to the configured TimeZoneRegistry instance.
    +
    +
    TimeZoneRegistryFactory() - Constructor for class net.fortuna.ical4j.model.TimeZoneRegistryFactory
    +
     
    +
    TimeZoneRegistryImpl - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 18/09/2005 + + The default implementation of a TimeZoneRegistry.
    +
    +
    TimeZoneRegistryImpl() - Constructor for class net.fortuna.ical4j.model.TimeZoneRegistryImpl
    +
    +
    Default constructor.
    +
    +
    TimeZoneRegistryImpl(String) - Constructor for class net.fortuna.ical4j.model.TimeZoneRegistryImpl
    +
    +
    Creates a new instance using the specified resource prefix.
    +
    +
    TimeZones - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ [5/07/2004] + + Utility methods relevant to Java timezones.
    +
    +
    toArray() - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    toArray(Object[]) - Method in class net.fortuna.ical4j.model.DateList
    +
     
    +
    toArray() - Method in class net.fortuna.ical4j.model.PeriodList
    +
    toArray(Object[]) - Method in class net.fortuna.ical4j.model.PeriodList
    +
    toString() - Method in class net.fortuna.ical4j.model.AddressList
    +
    toString() - Method in class net.fortuna.ical4j.model.Calendar
    +
    toString() - Method in class net.fortuna.ical4j.model.Component
    +
    toString() - Method in class net.fortuna.ical4j.model.component.VAvailability
    +
    toString() - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    toString() - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
    toString() - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    toString() - Method in class net.fortuna.ical4j.model.component.VVenue
    +
    toString() - Method in class net.fortuna.ical4j.model.ComponentList
    +
    toString() - Method in class net.fortuna.ical4j.model.DateList
    +
    toString() - Method in class net.fortuna.ical4j.model.DateTime
    +
    toString() - Method in class net.fortuna.ical4j.model.Dur
    +
    toString() - Method in class net.fortuna.ical4j.model.Iso8601
    +
    toString() - Method in class net.fortuna.ical4j.model.LocationTypeList
    +
    toString() - Method in class net.fortuna.ical4j.model.NumberList
    +
    toString() - Method in class net.fortuna.ical4j.model.Parameter
    +
    toString() - Method in class net.fortuna.ical4j.model.ParameterList
    +
    toString() - Method in class net.fortuna.ical4j.model.Period
    +
    toString() - Method in class net.fortuna.ical4j.model.PeriodList
    +
    toString() - Method in class net.fortuna.ical4j.model.Property
    +
    toString() - Method in class net.fortuna.ical4j.model.PropertyList
    +
    toString() - Method in class net.fortuna.ical4j.model.Recur
    +
    toString() - Method in class net.fortuna.ical4j.model.TextList
    +
    toString() - Method in class net.fortuna.ical4j.model.UtcOffset
    +
    toString() - Method in class net.fortuna.ical4j.model.WeekDay
    +
    toString() - Method in class net.fortuna.ical4j.model.WeekDayList
    +
    transform(Calendar) - Method in class net.fortuna.ical4j.transform.PublishTransformer
    +
    +
    Transforms the specified calendar according to the implementation of this method.
    +
    +
    transform(Calendar) - Method in class net.fortuna.ical4j.transform.Transformer
    +
    +
    Transforms the specified calendar according to the implementation of this method.
    +
    +
    transform(Component) - Method in class net.fortuna.ical4j.transform.Transformer
    +
    +
    Transforms the specified component according to the transformer implementation.
    +
    +
    Transformer - Class in net.fortuna.ical4j.transform
    +
    +
    $Id$ + + Created: 23/09/2004 + + Base class of calendar transformations.
    +
    +
    Transformer() - Constructor for class net.fortuna.ical4j.transform.Transformer
    +
     
    +
    Transp - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a TRANSP iCalendar component property.
    +
    +
    TRANSP - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Transparency property name.
    +
    +
    Transp() - Constructor for class net.fortuna.ical4j.model.property.Transp
    +
    +
    Default constructor.
    +
    +
    Transp(String) - Constructor for class net.fortuna.ical4j.model.property.Transp
    +
     
    +
    Transp(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Transp
    +
     
    +
    TRANSPARENT - Static variable in class net.fortuna.ical4j.model.property.Transp
    +
    +
    Transparent.
    +
    +
    Trigger - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a TRIGGER iCalendar component property.
    +
    +
    TRIGGER - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Alarm trigger property name.
    +
    +
    Trigger() - Constructor for class net.fortuna.ical4j.model.property.Trigger
    +
    +
    Default constructor.
    +
    +
    Trigger(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Trigger
    +
     
    +
    Trigger(Dur) - Constructor for class net.fortuna.ical4j.model.property.Trigger
    +
     
    +
    Trigger(ParameterList, Dur) - Constructor for class net.fortuna.ical4j.model.property.Trigger
    +
     
    +
    Trigger(DateTime) - Constructor for class net.fortuna.ical4j.model.property.Trigger
    +
     
    +
    Trigger(ParameterList, DateTime) - Constructor for class net.fortuna.ical4j.model.property.Trigger
    +
     
    +
    TRUE - Static variable in class net.fortuna.ical4j.model.parameter.Rsvp
    +
    +
    RSVP is required.
    +
    +
    TU - Static variable in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Tuesday.
    +
    +
    Type - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Type parameter.
    +
    +
    TYPE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Type.
    +
    +
    Type(String) - Constructor for class net.fortuna.ical4j.model.parameter.Type
    +
     
    +
    TzId - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Time Zone Identifier parameter.
    +
    +
    TZID - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Reference to time zone object.
    +
    +
    TzId(String) - Constructor for class net.fortuna.ical4j.model.parameter.TzId
    +
     
    +
    TzId - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a TZID iCalendar component property.
    +
    +
    TZID - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Timezone identifier property name.
    +
    +
    TzId() - Constructor for class net.fortuna.ical4j.model.property.TzId
    +
    +
    Default constructor.
    +
    +
    TzId(String) - Constructor for class net.fortuna.ical4j.model.property.TzId
    +
     
    +
    TzId(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.TzId
    +
     
    +
    TzName - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a TZNAME iCalendar component property.
    +
    +
    TZNAME - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Timezone name property name.
    +
    +
    TzName() - Constructor for class net.fortuna.ical4j.model.property.TzName
    +
    +
    Default constructor.
    +
    +
    TzName(String) - Constructor for class net.fortuna.ical4j.model.property.TzName
    +
     
    +
    TzName(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.TzName
    +
     
    +
    TzOffsetFrom - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETFROM iCalendar component property.
    +
    +
    TZOFFSETFROM - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Prior timezone offset property name.
    +
    +
    TzOffsetFrom() - Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
    +
    Default constructor.
    +
    +
    TzOffsetFrom(String) - Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
     
    +
    TzOffsetFrom(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
     
    +
    TzOffsetFrom(UtcOffset) - Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
     
    +
    TzOffsetFrom(ParameterList, UtcOffset) - Constructor for class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
     
    +
    TzOffsetTo - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETTO iCalendar component property.
    +
    +
    TZOFFSETTO - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    New timezone offset property name.
    +
    +
    TzOffsetTo() - Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo
    +
    +
    Default constructor.
    +
    +
    TzOffsetTo(String) - Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo
    +
     
    +
    TzOffsetTo(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo
    +
     
    +
    TzOffsetTo(UtcOffset) - Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo
    +
     
    +
    TzOffsetTo(ParameterList, UtcOffset) - Constructor for class net.fortuna.ical4j.model.property.TzOffsetTo
    +
     
    +
    TzUrl - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a TZURL iCalendar component property.
    +
    +
    TZURL - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    URL for timezone definition property name.
    +
    +
    TzUrl() - Constructor for class net.fortuna.ical4j.model.property.TzUrl
    +
    +
    Default constructor.
    +
    +
    TzUrl(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.TzUrl
    +
     
    +
    TzUrl(URI) - Constructor for class net.fortuna.ical4j.model.property.TzUrl
    +
     
    +
    TzUrl(ParameterList, URI) - Constructor for class net.fortuna.ical4j.model.property.TzUrl
    +
     
    +
    + + + +

    U

    +
    +
    Uid - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a UID iCalendar component property.
    +
    +
    UID - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Unique identifier property name.
    +
    +
    Uid() - Constructor for class net.fortuna.ical4j.model.property.Uid
    +
    +
    Default constructor.
    +
    +
    Uid(String) - Constructor for class net.fortuna.ical4j.model.property.Uid
    +
     
    +
    Uid(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Uid
    +
     
    +
    UidGenerator - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ + + Created on 11/03/2007 + + Generates Uid properties in a similar fashion to that recommended in section 4.8.4.7 of the specification.
    +
    +
    UidGenerator(String) - Constructor for class net.fortuna.ical4j.util.UidGenerator
    +
     
    +
    UidGenerator(HostInfo, String) - Constructor for class net.fortuna.ical4j.util.UidGenerator
    +
     
    +
    UNDEFINED - Static variable in class net.fortuna.ical4j.model.property.Priority
    +
    +
    Undefined priority.
    +
    +
    unescape(String) - Static method in class net.fortuna.ical4j.util.Strings
    +
    +
    Convenience method for replacing escaped special characters + with their original form.
    +
    +
    UnfoldingReader - Class in net.fortuna.ical4j.data
    +
    +
    + $Id$ [06-Apr-2004]
    +
    +
    UnfoldingReader(Reader) - Constructor for class net.fortuna.ical4j.data.UnfoldingReader
    +
    +
    Creates a new unfolding reader instance.
    +
    +
    UnfoldingReader(Reader, int) - Constructor for class net.fortuna.ical4j.data.UnfoldingReader
    +
     
    +
    UnfoldingReader(Reader, boolean) - Constructor for class net.fortuna.ical4j.data.UnfoldingReader
    +
     
    +
    UnfoldingReader(Reader, int, boolean) - Constructor for class net.fortuna.ical4j.data.UnfoldingReader
    +
    +
    Creates a new unfolding reader instance.
    +
    +
    UNKNOWN - Static variable in class net.fortuna.ical4j.model.parameter.CuType
    +
    +
    Unknown.
    +
    +
    unquote(String) - Static method in class net.fortuna.ical4j.util.Strings
    +
    +
    Convenience method for removing surrounding quotes + from a string value.
    +
    +
    URI - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    URI value type.
    +
    +
    Uris - Class in net.fortuna.ical4j.util
    +
    +
    $Id$ + + Created on 11/09/2005 + + Utility methods for working with URIs.
    +
    +
    Url - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a URL iCalendar component property.
    +
    +
    URL - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    Uniform resource locator property name.
    +
    +
    Url() - Constructor for class net.fortuna.ical4j.model.property.Url
    +
    +
    Default constructor.
    +
    +
    Url(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Url
    +
     
    +
    Url(URI) - Constructor for class net.fortuna.ical4j.model.property.Url
    +
     
    +
    Url(ParameterList, URI) - Constructor for class net.fortuna.ical4j.model.property.Url
    +
     
    +
    useDaylightTime() - Method in class net.fortuna.ical4j.model.TimeZone
    +
    UTC_ID - Static variable in class net.fortuna.ical4j.util.TimeZones
    +
    +
    The timezone identifier for UTC time.
    +
    +
    UTC_OFFSET - Static variable in class net.fortuna.ical4j.model.parameter.Value
    +
    +
    UTC offset value type.
    +
    +
    UtcOffset - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created on 26/06/2005 + + Represents a timezone offset from UTC time.
    +
    +
    UtcOffset(String) - Constructor for class net.fortuna.ical4j.model.UtcOffset
    +
     
    +
    UtcOffset(long) - Constructor for class net.fortuna.ical4j.model.UtcOffset
    +
     
    +
    UtcProperty - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created on 8/08/2005 + + Superclass for all properties with date-time values that must be specified in UTC time.
    +
    +
    UtcProperty(String, ParameterList, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.UtcProperty
    +
     
    +
    UtcProperty(String, PropertyFactory) - Constructor for class net.fortuna.ical4j.model.property.UtcProperty
    +
     
    +
    + + + +

    V

    +
    +
    VAlarm - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar VALARM component.
    +
    +
    VALARM - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    VAlarm() - Constructor for class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Default constructor.
    +
    +
    VAlarm(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Constructor.
    +
    +
    VAlarm(DateTime) - Constructor for class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Constructs a new VALARM instance that will trigger at the specified time.
    +
    +
    VAlarm(Dur) - Constructor for class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Perform validation on the calendar, its properties and its components in its current state.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.Calendar
    +
    +
    Perform validation on the calendar in its current state.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.Available
    +
    +
    Perform validation on a component.
    +
    +
    validate(Method) - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Performs method-specific ITIP validation.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.Observance
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.VAlarm
    +
    +
    Perform validation on a component.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.Component
    +
    +
    Perform validation on a component and its properties.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.Component
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.VAvailability
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.VFreeBusy
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.VJournal
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.VTimeZone
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.VVenue
    +
    +
    Perform validation on a component.
    +
    +
    validate(boolean) - Method in class net.fortuna.ical4j.model.component.XComponent
    +
    +
    Perform validation on a component.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Action
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Attach
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Attendee
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.BusyType
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.CalScale
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Categories
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Clazz
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Comment
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Contact
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Country
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.DateProperty
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Description
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.DtEnd
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.DtStart
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Due
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Duration
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.ExDate
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.ExRule
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.ExtendedAddress
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.FreeBusy
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Geo
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Locality
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Location
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.LocationType
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Method
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Name
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Organizer
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.PercentComplete
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Postalcode
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Priority
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.ProdId
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.RDate
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.RecurrenceId
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Region
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.RelatedTo
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Repeat
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.RequestStatus
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Resources
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.RRule
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Sequence
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Status
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.StreetAddress
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Summary
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Tel
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Transp
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Trigger
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.TzId
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.TzName
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.TzOffsetFrom
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.TzOffsetTo
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.TzUrl
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Uid
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Url
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.UtcProperty
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.Property
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.Version
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in class net.fortuna.ical4j.model.property.XProperty
    +
    +
    Perform validation on a property.
    +
    +
    validate() - Method in interface net.fortuna.ical4j.model.Validator
    +
    +
    Validates the associated model against an applicable standard.
    +
    +
    validateAdd() - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Deprecated. 
    +
    +
    validateCancel() - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Deprecated. 
    +
    +
    validateCounter() - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Deprecated. 
    +
    +
    validateDeclineCounter() - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Deprecated. 
    +
    +
    validateProperties() - Method in class net.fortuna.ical4j.model.Component
    +
    +
    Invoke validation on the component properties in its current state.
    +
    +
    validatePublish() - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Deprecated. 
    +
    +
    validateRefresh() - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Deprecated. 
    +
    +
    validateReply() - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Deprecated. 
    +
    +
    validateRequest() - Method in class net.fortuna.ical4j.model.component.CalendarComponent
    +
    +
    Deprecated. 
    +
    +
    ValidationException - Exception in net.fortuna.ical4j.model
    +
    +
    $Id$ [23-Apr-2004] + + An exception thrown during validation.
    +
    +
    ValidationException() - Constructor for exception net.fortuna.ical4j.model.ValidationException
    +
    +
    Default constructor.
    +
    +
    ValidationException(String) - Constructor for exception net.fortuna.ical4j.model.ValidationException
    +
    +
    Constructor with message.
    +
    +
    ValidationException(String, Object[]) - Constructor for exception net.fortuna.ical4j.model.ValidationException
    +
    +
    Constructor with message pattern and arguments.
    +
    +
    Validator - Interface in net.fortuna.ical4j.model
    +
     
    +
    Value - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Value Data Type parameter.
    +
    +
    VALUE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Property value data type.
    +
    +
    Value(String) - Constructor for class net.fortuna.ical4j.model.parameter.Value
    +
     
    +
    valueOf(Object) - Static method in class net.fortuna.ical4j.util.Strings
    +
    +
    Wraps java.lang.String.valueOf() to return an empty string + where the specified object is null.
    +
    +
    VAvailability - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar VAVAILABILITY component.
    +
    +
    VAVAILABILITY - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    VAvailability() - Constructor for class net.fortuna.ical4j.model.component.VAvailability
    +
    +
    Default constructor.
    +
    +
    VAvailability(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.VAvailability
    +
    +
    Constructs a new instance containing the specified properties.
    +
    +
    VAvailability(PropertyList, ComponentList) - Constructor for class net.fortuna.ical4j.model.component.VAvailability
    +
    +
    Constructor.
    +
    +
    VCALENDAR - Static variable in class net.fortuna.ical4j.model.Calendar
    +
    +
    Calendar token.
    +
    +
    Version - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [Apr 6, 2004] + + Defines a VERSION iCalendar property.
    +
    +
    VERSION - Static variable in class net.fortuna.ical4j.model.Property
    +
    +
    iCalendar version property name.
    +
    +
    Version() - Constructor for class net.fortuna.ical4j.model.property.Version
    +
    +
    Default constructor.
    +
    +
    Version(ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.Version
    +
     
    +
    Version(String, String) - Constructor for class net.fortuna.ical4j.model.property.Version
    +
     
    +
    Version(ParameterList, String, String) - Constructor for class net.fortuna.ical4j.model.property.Version
    +
     
    +
    VERSION_2_0 - Static variable in class net.fortuna.ical4j.model.property.Version
    +
    +
    iCalendar version 2.0.
    +
    +
    VEvent - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar VEVENT component.
    +
    +
    VEVENT - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    VEvent() - Constructor for class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Default constructor.
    +
    +
    VEvent(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Constructor.
    +
    +
    VEvent(PropertyList, ComponentList) - Constructor for class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Constructor.
    +
    +
    VEvent(Date, String) - Constructor for class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Constructs a new VEVENT instance starting at the specified time with the specified summary.
    +
    +
    VEvent(Date, Date, String) - Constructor for class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Constructs a new VEVENT instance starting and ending at the specified times with the specified summary.
    +
    +
    VEvent(Date, Dur, String) - Constructor for class net.fortuna.ical4j.model.component.VEvent
    +
    +
    Constructs a new VEVENT instance starting at the specified times, for the specified duration, with the specified + summary.
    +
    +
    VEVENT_CANCELLED - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Cancelled VEVENT status.
    +
    +
    VEVENT_CONFIRMED - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Confirmed VEVENT status.
    +
    +
    VEVENT_TENTATIVE - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Tentative VEVENT status.
    +
    +
    VFreeBusy - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar VFREEBUSY component.
    +
    +
    VFREEBUSY - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    VFreeBusy() - Constructor for class net.fortuna.ical4j.model.component.VFreeBusy
    +
    +
    Default constructor.
    +
    +
    VFreeBusy(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.VFreeBusy
    +
    +
    Constructor.
    +
    +
    VFreeBusy(DateTime, DateTime) - Constructor for class net.fortuna.ical4j.model.component.VFreeBusy
    +
    +
    Constructs a new VFreeBusy instance with the specified start and end boundaries.
    +
    +
    VFreeBusy(DateTime, DateTime, Dur) - Constructor for class net.fortuna.ical4j.model.component.VFreeBusy
    +
    +
    Constructs a new VFreeBusy instance with the specified start and end boundaries.
    +
    +
    VFreeBusy(VFreeBusy, ComponentList) - Constructor for class net.fortuna.ical4j.model.component.VFreeBusy
    +
    +
    Constructs a new VFreeBusy instance representing a reply to the specified VFREEBUSY request according to the + specified list of components.
    +
    +
    VJournal - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar VJOURNAL component.
    +
    +
    VJOURNAL - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    VJournal() - Constructor for class net.fortuna.ical4j.model.component.VJournal
    +
    +
    Default constructor.
    +
    +
    VJournal(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.VJournal
    +
    +
    Constructor.
    +
    +
    VJournal(Date, String) - Constructor for class net.fortuna.ical4j.model.component.VJournal
    +
    +
    Constructs a new VJOURNAL instance associated with the specified time with the specified summary.
    +
    +
    VJOURNAL_CANCELLED - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Cancelled VJOURNAL status.
    +
    +
    VJOURNAL_DRAFT - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Draft VJOURNAL status.
    +
    +
    VJOURNAL_FINAL - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Final VJOURNAL status.
    +
    +
    VTimeZone - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar VTIMEZONE component.
    +
    +
    VTIMEZONE - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    VTimeZone() - Constructor for class net.fortuna.ical4j.model.component.VTimeZone
    +
    +
    Default constructor.
    +
    +
    VTimeZone(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.VTimeZone
    +
    +
    Constructs a new instance containing the specified properties.
    +
    +
    VTimeZone(ComponentList) - Constructor for class net.fortuna.ical4j.model.component.VTimeZone
    +
    +
    Constructs a new vtimezone component with no properties and the specified list of type components.
    +
    +
    VTimeZone(PropertyList, ComponentList) - Constructor for class net.fortuna.ical4j.model.component.VTimeZone
    +
    +
    Constructor.
    +
    +
    VToDo - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ [Apr 5, 2004] + + Defines an iCalendar VTODO component.
    +
    +
    VTODO - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    VToDo() - Constructor for class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Default constructor.
    +
    +
    VToDo(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Constructor.
    +
    +
    VToDo(Date, String) - Constructor for class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Constructs a new VTODO instance starting at the specified time with the specified summary.
    +
    +
    VToDo(Date, Date, String) - Constructor for class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Constructs a new VTODO instance starting and ending at the specified times with the specified summary.
    +
    +
    VToDo(Date, Dur, String) - Constructor for class net.fortuna.ical4j.model.component.VToDo
    +
    +
    Constructs a new VTODO instance starting at the specified times, for the specified duration, with the specified + summary.
    +
    +
    VTODO_CANCELLED - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Cancelled VTODO status.
    +
    +
    VTODO_COMPLETED - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Completed VTODO status.
    +
    +
    VTODO_IN_PROCESS - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    In-process VTODO status.
    +
    +
    VTODO_NEEDS_ACTION - Static variable in class net.fortuna.ical4j.model.property.Status
    +
    +
    Tentative VTODO status.
    +
    +
    VVenue - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id $ [Apr 5, 2004] + + Defines an iCalendar VVENUE component.
    +
    +
    VVENUE - Static variable in class net.fortuna.ical4j.model.Component
    +
    +
    Component token.
    +
    +
    VVenue() - Constructor for class net.fortuna.ical4j.model.component.VVenue
    +
    +
    Default constructor.
    +
    +
    VVenue(PropertyList) - Constructor for class net.fortuna.ical4j.model.component.VVenue
    +
    +
    Constructs a new instance containing the specified properties.
    +
    +
    Vvenue - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [18-Apr-2004] + + Defines a Vvenue parameter.
    +
    +
    VVENUE - Static variable in class net.fortuna.ical4j.model.Parameter
    +
    +
    Reference to vvenue component.
    +
    +
    Vvenue(String) - Constructor for class net.fortuna.ical4j.model.parameter.Vvenue
    +
     
    +
    + + + +

    W

    +
    +
    WE - Static variable in class net.fortuna.ical4j.model.WeekDay
    +
    +
    Wednesday.
    +
    +
    WeekDay - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ + + Created: 19/12/2004 + + Defines a day of the week with a possible offset related to + a MONTHLY or YEARLY occurrence.
    +
    +
    WeekDay(String) - Constructor for class net.fortuna.ical4j.model.WeekDay
    +
     
    +
    WeekDay(WeekDay, int) - Constructor for class net.fortuna.ical4j.model.WeekDay
    +
    +
    Constructs a new weekday instance based on the specified + instance and offset.
    +
    +
    WeekDayList - Class in net.fortuna.ical4j.model
    +
    +
    $Id$ [29-May-2004] + + Defines a list of days.
    +
    +
    WeekDayList() - Constructor for class net.fortuna.ical4j.model.WeekDayList
    +
    +
    Default constructor.
    +
    +
    WeekDayList(int) - Constructor for class net.fortuna.ical4j.model.WeekDayList
    +
    +
    Creates a new instance with the specified initial capacity.
    +
    +
    WeekDayList(String) - Constructor for class net.fortuna.ical4j.model.WeekDayList
    +
    +
    Constructor.
    +
    +
    WEEKLY - Static variable in class net.fortuna.ical4j.model.Recur
    +
    +
    Week frequency resolution.
    +
    +
    wrap(Component) - Static method in class net.fortuna.ical4j.util.Calendars
    +
    +
    Wraps a component in a calendar.
    +
    +
    write(int) - Method in class net.fortuna.ical4j.data.FoldingWriter
    +
    write(char[], int, int) - Method in class net.fortuna.ical4j.data.FoldingWriter
    +
    write(String, int, int) - Method in class net.fortuna.ical4j.data.FoldingWriter
    +
    + + + +

    X

    +
    +
    XComponent - Class in net.fortuna.ical4j.model.component
    +
    +
    $Id$ + + Created on 3/11/2005 + + Implementation of an experimental component as defined in RFC2445.
    +
    +
    XComponent(String) - Constructor for class net.fortuna.ical4j.model.component.XComponent
    +
    +
    Creates a new experimental component with the specified name.
    +
    +
    XComponent(String, PropertyList) - Constructor for class net.fortuna.ical4j.model.component.XComponent
    +
    +
    Creates a new experimental component with the specified name and properties.
    +
    +
    XParameter - Class in net.fortuna.ical4j.model.parameter
    +
    +
    $Id$ [15/06/2004] + + Defines an extension parameter.
    +
    +
    XParameter(String, String) - Constructor for class net.fortuna.ical4j.model.parameter.XParameter
    +
     
    +
    XProperty - Class in net.fortuna.ical4j.model.property
    +
    +
    $Id$ + + Created: [15/06/2004] + + Defines an extension property.
    +
    +
    XProperty(String) - Constructor for class net.fortuna.ical4j.model.property.XProperty
    +
    +
    Constructs an uninitialised non-standard property.
    +
    +
    XProperty(String, String) - Constructor for class net.fortuna.ical4j.model.property.XProperty
    +
     
    +
    XProperty(String, ParameterList, String) - Constructor for class net.fortuna.ical4j.model.property.XProperty
    +
     
    +
    + + + +

    Y

    +
    +
    YEARLY - Static variable in class net.fortuna.ical4j.model.Recur
    +
    +
    Year frequency resolution.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y 
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/biweekly-0.3.1-javadoc/index.html b/libs/ical4j-1.0.5/docs/apidocs/index.html similarity index 65% rename from libs/biweekly-0.3.1-javadoc/index.html rename to libs/ical4j-1.0.5/docs/apidocs/index.html index 288e244c..7ce66ac8 100644 --- a/libs/biweekly-0.3.1-javadoc/index.html +++ b/libs/ical4j-1.0.5/docs/apidocs/index.html @@ -1,13 +1,11 @@ - - - - - - -biweekly 0.3.1 API - - - - - - - - - - - -<H2> -Frame Alert</H2> - -<P> -This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. -<BR> -Link to<A HREF="overview-summary.html">Non-frame version.</A> - - - + + + + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.</p> +<br>Link to<a href="overview-summary.html">Non-frame version.</a> + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/AbstractOutputter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/AbstractOutputter.html new file mode 100644 index 00000000..10505c4b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/AbstractOutputter.html @@ -0,0 +1,372 @@ + + + + + + +AbstractOutputter (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class AbstractOutputter

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      CalendarOutputter
      +
      +
      +
      +
      public abstract class AbstractOutputter
      +extends Object
      +
      Base class for model outputters. + +
      + $Id$
      +
      + Created on 29/12/2008
      + 
      +
      Author:
      +
      Ben
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          DEFAULT_CHARSET

          +
          protected static final Charset DEFAULT_CHARSET
          +
          The default character set used to generate output.
          +
        • +
        + + + +
          +
        • +

          foldLength

          +
          protected int foldLength
          +
          The maximum line length allowed.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AbstractOutputter

          +
          public AbstractOutputter()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          AbstractOutputter

          +
          public AbstractOutputter(boolean validating)
          +
          Parameters:
          validating - indicates whether to validate calendar when outputting to stream
          +
        • +
        + + + +
          +
        • +

          AbstractOutputter

          +
          public AbstractOutputter(boolean validating,
          +                 int foldLength)
          +
          Parameters:
          validating - indicates whether to validate calendar when outputting to stream
          foldLength - maximum number of characters before a line is folded
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isValidating

          +
          public final boolean isValidating()
          +
          Returns:
          Returns the validating.
          +
        • +
        + + + +
          +
        • +

          setValidating

          +
          public final void setValidating(boolean validating)
          +
          Parameters:
          validating - The validating to set.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarBuilder.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarBuilder.html new file mode 100644 index 00000000..cccc61a4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarBuilder.html @@ -0,0 +1,504 @@ + + + + + + +CalendarBuilder (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class CalendarBuilder

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class CalendarBuilder
      +extends Object
      +
      Parses and builds an iCalendar model from an input stream. Note that this class is not thread-safe.
      +
      Version:
      +
      2.0
      +
      Author:
      +
      Ben Fortuna + +
      + $Id$
      +
      + Created: Apr 5, 2004
      + 
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          calendar

          +
          protected Calendar calendar
          +
          The calendar instance created by the builder.
          +
        • +
        + + + +
          +
        • +

          component

          +
          protected Component component
          +
          The current component instance created by the builder.
          +
        • +
        + + + +
          +
        • +

          subComponent

          +
          protected Component subComponent
          +
          The current sub-component instance created by the builder.
          +
        • +
        + + + +
          +
        • +

          property

          +
          protected Property property
          +
          The current property instance created by the builder.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CalendarBuilder

          +
          public CalendarBuilder()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          CalendarBuilder

          +
          public CalendarBuilder(CalendarParser parser)
          +
          Constructs a new calendar builder using the specified calendar parser.
          +
          Parameters:
          parser - a calendar parser used to parse calendar files
          +
        • +
        + + + +
          +
        • +

          CalendarBuilder

          +
          public CalendarBuilder(TimeZoneRegistry tzRegistry)
          +
          Constructs a new calendar builder using the specified timezone registry.
          +
          Parameters:
          tzRegistry - a timezone registry to populate with discovered timezones
          +
        • +
        + + + +
          +
        • +

          CalendarBuilder

          +
          public CalendarBuilder(CalendarParser parser,
          +               TimeZoneRegistry tzRegistry)
          +
          Constructs a new instance using the specified parser and registry.
          +
          Parameters:
          parser - a calendar parser used to construct the calendar
          tzRegistry - a timezone registry used to retrieve TimeZones and + register additional timezone information found + in the calendar
          +
        • +
        + + + +
          +
        • +

          CalendarBuilder

          +
          public CalendarBuilder(CalendarParser parser,
          +               PropertyFactoryRegistry propertyFactoryRegistry,
          +               ParameterFactoryRegistry parameterFactoryRegistry,
          +               TimeZoneRegistry tzRegistry)
          +
          Parameters:
          parser - a custom calendar parser
          propertyFactoryRegistry - registry for non-standard property factories
          parameterFactoryRegistry - registry for non-standard parameter factories
          tzRegistry - a custom timezone registry
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          build

          +
          public Calendar build(InputStream in)
          +               throws IOException,
          +                      ParserException
          +
          Builds an iCalendar model from the specified input stream.
          +
          Parameters:
          in - an input stream to read calendar data from
          +
          Returns:
          a calendar parsed from the specified input stream
          +
          Throws:
          +
          IOException - where an error occurs reading data from the specified stream
          +
          ParserException - where an error occurs parsing data from the stream
          +
        • +
        + + + +
          +
        • +

          build

          +
          public Calendar build(Reader in)
          +               throws IOException,
          +                      ParserException
          +
          Builds an iCalendar model from the specified reader. An UnfoldingReader is applied to the + specified reader to ensure the data stream is correctly unfolded where appropriate.
          +
          Parameters:
          in - a reader to read calendar data from
          +
          Returns:
          a calendar parsed from the specified reader
          +
          Throws:
          +
          IOException - where an error occurs reading data from the specified reader
          +
          ParserException - where an error occurs parsing data from the reader
          +
        • +
        + + + +
          +
        • +

          build

          +
          public Calendar build(UnfoldingReader uin)
          +               throws IOException,
          +                      ParserException
          +
          Build an iCalendar model by parsing data from the specified reader.
          +
          Parameters:
          uin - an unfolding reader to read data from
          +
          Returns:
          a calendar parsed from the specified reader
          +
          Throws:
          +
          IOException - where an error occurs reading data from the specified reader
          +
          ParserException - where an error occurs parsing data from the reader
          +
        • +
        + + + +
          +
        • +

          getRegistry

          +
          public final TimeZoneRegistry getRegistry()
          +
          Returns the timezone registry used in the construction of calendars.
          +
          Returns:
          a timezone registry
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarOutputter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarOutputter.html new file mode 100644 index 00000000..53328efb --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarOutputter.html @@ -0,0 +1,358 @@ + + + + + + +CalendarOutputter (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class CalendarOutputter

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class CalendarOutputter
      +extends AbstractOutputter
      +
      + $Id$ [Apr 5, 2004]
      + 
      + + Writes an iCalendar model to an output stream.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CalendarOutputter

          +
          public CalendarOutputter()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          CalendarOutputter

          +
          public CalendarOutputter(boolean validating)
          +
          Parameters:
          validating - indicates whether to validate calendar when outputting to stream
          +
        • +
        + + + +
          +
        • +

          CalendarOutputter

          +
          public CalendarOutputter(boolean validating,
          +                 int foldLength)
          +
          Parameters:
          validating - indicates whether to validate calendar when outputting to stream
          foldLength - maximum number of characters before a line is folded
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParser.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParser.html new file mode 100644 index 00000000..66c8ed55 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParser.html @@ -0,0 +1,256 @@ + + + + + + +CalendarParser (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Interface CalendarParser

    +
    +
    +
    +
      +
    • +
      +
      All Known Implementing Classes:
      +
      CalendarParserImpl, HCalendarParser
      +
      +
      +
      +
      public interface CalendarParser
      +
      + $Id$
      + 
      + Created [Nov 5, 2004]
      + 
      + + Implementors provide iCalendar parsing functionality.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + +
        Methods 
        Modifier and TypeMethod and Description
        voidparse(InputStream in, + ContentHandler handler) +
        Parse the iCalendar data from the specified input stream.
        +
        voidparse(Reader in, + ContentHandler handler) +
        Parse the iCalendar data from the specified reader.
        +
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          parse

          +
          void parse(InputStream in,
          +         ContentHandler handler)
          +           throws IOException,
          +                  ParserException
          +
          Parse the iCalendar data from the specified input stream.
          +
          Parameters:
          in - an input stream from which to read iCalendar data
          handler - the content handler to notify during parsing
          +
          Throws:
          +
          IOException - thrown when unable to read from the specified stream
          +
          ParserException - thrown if an error occurs during parsing
          +
        • +
        + + + +
          +
        • +

          parse

          +
          void parse(Reader in,
          +         ContentHandler handler)
          +           throws IOException,
          +                  ParserException
          +
          Parse the iCalendar data from the specified reader.
          +
          Parameters:
          in - a reader from which to read iCalendar data
          handler - the content handler to notify during parsing
          +
          Throws:
          +
          IOException - thrown when unable to read from the specified reader
          +
          ParserException - thrown if an error occurs during parsing
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParserFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParserFactory.html new file mode 100644 index 00000000..9b9b621c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParserFactory.html @@ -0,0 +1,334 @@ + + + + + + +CalendarParserFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class CalendarParserFactory

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      DefaultCalendarParserFactory, HCalendarParserFactory
      +
      +
      +
      +
      public abstract class CalendarParserFactory
      +extends Object
      +
      + $Id$
      +
      + Created on 08/02/2007
      + 
      + + Provides access to the configured CalendarParser instance. Alternative factory implementations may be + specified via the following system property: + +
      + net.fortuna.ical4j.parser=<factory_class_name>
      + 
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CalendarParserFactory

          +
          public CalendarParserFactory()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getInstance

          +
          public static CalendarParserFactory getInstance()
          +
          Returns:
          a shared factory instance
          +
        • +
        + + + +
          +
        • +

          createParser

          +
          public abstract CalendarParser createParser()
          +
          Returns a new instance of the configured CalendarParser.
          +
          Returns:
          a calendar parser instance
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParserImpl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParserImpl.html new file mode 100644 index 00000000..39d549ef --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/CalendarParserImpl.html @@ -0,0 +1,313 @@ + + + + + + +CalendarParserImpl (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class CalendarParserImpl

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      CalendarParser
      +
      +
      +
      +
      public class CalendarParserImpl
      +extends Object
      +implements CalendarParser
      +
      + $Id$
      + 
      +  Created [Nov 5, 2004]
      + 
      + + The default implementation of a calendar parser.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CalendarParserImpl

          +
          public CalendarParserImpl()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          parse

          +
          public final void parse(InputStream in,
          +         ContentHandler handler)
          +                 throws IOException,
          +                        ParserException
          +
          Parse the iCalendar data from the specified input stream.
          +
          +
          Specified by:
          +
          parse in interface CalendarParser
          +
          Parameters:
          in - an input stream from which to read iCalendar data
          handler - the content handler to notify during parsing
          +
          Throws:
          +
          IOException - thrown when unable to read from the specified stream
          +
          ParserException - thrown if an error occurs during parsing
          +
        • +
        + + + +
          +
        • +

          parse

          +
          public final void parse(Reader in,
          +         ContentHandler handler)
          +                 throws IOException,
          +                        ParserException
          +
          Parse the iCalendar data from the specified reader.
          +
          +
          Specified by:
          +
          parse in interface CalendarParser
          +
          Parameters:
          in - a reader from which to read iCalendar data
          handler - the content handler to notify during parsing
          +
          Throws:
          +
          IOException - thrown when unable to read from the specified reader
          +
          ParserException - thrown if an error occurs during parsing
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/ContentHandler.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/ContentHandler.html new file mode 100644 index 00000000..59eb480d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/ContentHandler.html @@ -0,0 +1,350 @@ + + + + + + +ContentHandler (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Interface ContentHandler

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface ContentHandler
      +
      + $Id$ [Nov 5,
      + 2004]
      + 
      + + Implementors provide functionality applicable during the parsing of an iCalendar data stream (e.g. building an object + model).
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Methods 
        Modifier and TypeMethod and Description
        voidendCalendar() +
        Triggers the end of handling a calendar.
        +
        voidendComponent(String name) +
        Triggers the end of handling a component.
        +
        voidendProperty(String name) +
        Triggers the end of handling a property.
        +
        voidparameter(String name, + String value) +
        Triggers the handling of a parameter.
        +
        voidpropertyValue(String value) +
        Triggers the handling of a property value.
        +
        voidstartCalendar() +
        Triggers the start of handling a calendar.
        +
        voidstartComponent(String name) +
        Triggers the start of handling a component.
        +
        voidstartProperty(String name) +
        Triggers the start of handling a property.
        +
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          startCalendar

          +
          void startCalendar()
          +
          Triggers the start of handling a calendar.
          +
        • +
        + + + +
          +
        • +

          endCalendar

          +
          void endCalendar()
          +
          Triggers the end of handling a calendar.
          +
        • +
        + + + +
          +
        • +

          startComponent

          +
          void startComponent(String name)
          +
          Triggers the start of handling a component.
          +
          Parameters:
          name - a component name
          +
        • +
        + + + +
          +
        • +

          endComponent

          +
          void endComponent(String name)
          +
          Triggers the end of handling a component.
          +
          Parameters:
          name - a component name
          +
        • +
        + + + +
          +
        • +

          startProperty

          +
          void startProperty(String name)
          +
          Triggers the start of handling a property.
          +
          Parameters:
          name - a property name
          +
        • +
        + + + + + + + +
          +
        • +

          endProperty

          +
          void endProperty(String name)
          +
          Triggers the end of handling a property.
          +
          Parameters:
          name - a property name
          +
        • +
        + + + +
          +
        • +

          parameter

          +
          void parameter(String name,
          +             String value)
          +               throws URISyntaxException
          +
          Triggers the handling of a parameter.
          +
          Parameters:
          name - a parameter name
          value - a parameter value
          +
          Throws:
          +
          URISyntaxException - where the parameter value is not a valid URI for applicable parameters
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/DefaultCalendarParserFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/DefaultCalendarParserFactory.html new file mode 100644 index 00000000..e31c21c4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/DefaultCalendarParserFactory.html @@ -0,0 +1,301 @@ + + + + + + +DefaultCalendarParserFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class DefaultCalendarParserFactory

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class DefaultCalendarParserFactory
      +extends CalendarParserFactory
      +
      + $Id$
      +
      + Created on 08/02/2007
      + 
      + + Default factory implementation for calendar parsers.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/FoldingWriter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/FoldingWriter.html new file mode 100644 index 00000000..059fc8c0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/FoldingWriter.html @@ -0,0 +1,432 @@ + + + + + + +FoldingWriter (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class FoldingWriter

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Closeable, Flushable, Appendable
      +
      +
      +
      +
      public class FoldingWriter
      +extends FilterWriter
      +
      + $Id$ [Apr 6, 2004]
      + 
      + + A writer that performs iCalendar folding as it writes.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          REDUCED_FOLD_LENGTH

          +
          public static final int REDUCED_FOLD_LENGTH
          +
          reduced to 73 to be consistent with Apple iCal..
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MAX_FOLD_LENGTH

          +
          public static final int MAX_FOLD_LENGTH
          +
          Lines of text SHOULD NOT be longer than 75 octets, excluding the line break.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          FoldingWriter

          +
          public FoldingWriter(Writer writer,
          +             int foldLength)
          +
          Parameters:
          writer - a writer to write output to
          foldLength - the maximum line length
          +
        • +
        + + + +
          +
        • +

          FoldingWriter

          +
          public FoldingWriter(Writer writer)
          +
          Parameters:
          writer - a writer to write output to
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/HCalendarParser.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/HCalendarParser.html new file mode 100644 index 00000000..83203595 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/HCalendarParser.html @@ -0,0 +1,364 @@ + + + + + + +HCalendarParser (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class HCalendarParser

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      CalendarParser
      +
      +
      +
      +
      public class HCalendarParser
      +extends Object
      +implements CalendarParser
      +
      A CalendarParser that parses XHTML documents that include calendar data marked up with the hCalendar + microformat. +

      + The parser treats the entire document as a single "vcalendar" context, ignoring any vcalendar elements + and adding all components in the document to a single generated calendar. +

      +

      + Since hCalendar does not include product information, the PRODID property is omitted from the generated + calendar. The hCalendar profile is supposed to define the iCalendar version that it represents, but it does not, so + version 2.0 is assumed. +

      +

      Supported Components

      +

      + This parser recognizes only "vevent" components. +

      +

      Supported Properties

      +

      + This parser recognizes the following properties: +

      +
        +
      • "dtstart"
      • +
      • "dtend"
      • +
      • "duration"
      • +
      • "summary"
      • +
      • "uid"
      • +
      • "dtstamp"
      • +
      • "category"
      • +
      • "location"
      • +
      • "url"
      • +
      • "description"
      • +
      • "last-modified"
      • +
      • "status"
      • +
      • "class"
      • +
      • "attendee"
      • +
      • "contact"
      • +
      • "organizer"
      • +
      +

      + hCalendar allows for some properties to be represented by nested microformat records, including hCard, adr and geo. + This parser does not recognize these records. It simply accumulates the text content of any child elements of the + property element and uses the resulting string as the property value. +

      +

      Date and Date-Time Properties

      +

      + hCalendar date-time values are formatted according to RFC 3339. There is no representation in this specification for + time zone ids. All date-times are specified either in UTC or with an offset that can be used to convert the local + time into UTC. Neither does hCal provide a reprsentation for floating date-times. Therefore, all date-time values + produced by this parser are in UTC. +

      +

      + Some examples in the wild provide date and date-time values in iCalendar format rather than RFC 3339 format. Although + not technically legal according to spec, these values are accepted. In this case, floating date-times are produced by + the parser. +

      +

      Supported Parameters

      +

      + hCalendar does not define attributes, nested elements or other information elements representing parameter data. + Therefore, this parser does not set any property parameters except as implied by property value data (e.g. + VALUE=DATE-TIME or VALUE=DATE for date-time properties). +

      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          HCalendarParser

          +
          public HCalendarParser()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          parse

          +
          public void parse(InputStream in,
          +         ContentHandler handler)
          +           throws IOException,
          +                  ParserException
          +
          Parse the iCalendar data from the specified input stream.
          +
          +
          Specified by:
          +
          parse in interface CalendarParser
          +
          Parameters:
          in - an input stream from which to read iCalendar data
          handler - the content handler to notify during parsing
          +
          Throws:
          +
          IOException - thrown when unable to read from the specified stream
          +
          ParserException - thrown if an error occurs during parsing
          +
        • +
        + + + +
          +
        • +

          parse

          +
          public void parse(Reader in,
          +         ContentHandler handler)
          +           throws IOException,
          +                  ParserException
          +
          Parse the iCalendar data from the specified reader.
          +
          +
          Specified by:
          +
          parse in interface CalendarParser
          +
          Parameters:
          in - a reader from which to read iCalendar data
          handler - the content handler to notify during parsing
          +
          Throws:
          +
          IOException - thrown when unable to read from the specified reader
          +
          ParserException - thrown if an error occurs during parsing
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/HCalendarParserFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/HCalendarParserFactory.html new file mode 100644 index 00000000..7a4415e2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/HCalendarParserFactory.html @@ -0,0 +1,301 @@ + + + + + + +HCalendarParserFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class HCalendarParserFactory

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class HCalendarParserFactory
      +extends CalendarParserFactory
      +
      A parser factory for the hCal microformat. + +
      + $Id$
      +
      + Created on 18/11/2007
      + 
      +
      Author:
      +
      fortuna
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/ParserException.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/ParserException.html new file mode 100644 index 00000000..ef27f41b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/ParserException.html @@ -0,0 +1,327 @@ + + + + + + +ParserException (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class ParserException

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class ParserException
      +extends Exception
      +
      + $Id$ [Apr 5, 2004]
      + 
      + + An exception thrown when an error occurs in parsing iCalendar data.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ParserException

          +
          public ParserException(int lineNo)
          +
          Parameters:
          lineNo - line number where parsing error ocurred
          +
        • +
        + + + +
          +
        • +

          ParserException

          +
          public ParserException(String message,
          +               int lineNo)
          +
          Constructor with message.
          +
          Parameters:
          message - a descriptive message for the exception
          lineNo - line number where parsing error ocurred
          +
        • +
        + + + +
          +
        • +

          ParserException

          +
          public ParserException(String message,
          +               int lineNo,
          +               Throwable cause)
          +
          Constructor with message and cause.
          +
          Parameters:
          message - a descriptive message for the exception
          lineNo - line number where parsing error ocurred
          cause - a throwable that is the cause of this exception
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getLineNo

          +
          public final int getLineNo()
          +
          Returns:
          the lineNo
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/UnfoldingReader.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/UnfoldingReader.html new file mode 100644 index 00000000..e8ee329f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/UnfoldingReader.html @@ -0,0 +1,422 @@ + + + + + + +UnfoldingReader (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.data

    +

    Class UnfoldingReader

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Closeable, Readable
      +
      +
      +
      +
      public class UnfoldingReader
      +extends PushbackReader
      +
      + $Id$ [06-Apr-2004]
      + 
      + + A reader which performs iCalendar unfolding as it reads. Note that unfolding rules may be "relaxed" to allow + unfolding of non-conformant *.ics files. By specifying the system property "ical4j.unfolding.relaxed=true" iCalendar + files created with Mozilla Calendar/Sunbird may be correctly unfolded. + + To wrap this reader with a BufferedReader you must ensure you specify an identical buffer size + to that used in the BufferedReader.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UnfoldingReader

          +
          public UnfoldingReader(Reader in)
          +
          Creates a new unfolding reader instance. Relaxed unfolding flag is read from system property.
          +
          Parameters:
          in - the reader to unfold from
          +
        • +
        + + + +
          +
        • +

          UnfoldingReader

          +
          public UnfoldingReader(Reader in,
          +               int size)
          +
          Parameters:
          in - reader source for data
          size - the buffer size
          +
        • +
        + + + +
          +
        • +

          UnfoldingReader

          +
          public UnfoldingReader(Reader in,
          +               boolean relaxed)
          +
          Parameters:
          in - reader source for data
          relaxed - indicates whether relaxed unfolding is enabled
          +
        • +
        + + + +
          +
        • +

          UnfoldingReader

          +
          public UnfoldingReader(Reader in,
          +               int size,
          +               boolean relaxed)
          +
          Creates a new unfolding reader instance.
          +
          Parameters:
          in - a reader to read from
          size - the buffer size
          relaxed - specifies whether unfolding is relaxed
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/AbstractOutputter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/AbstractOutputter.html new file mode 100644 index 00000000..0d962e6e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/AbstractOutputter.html @@ -0,0 +1,162 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.AbstractOutputter (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.AbstractOutputter

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarBuilder.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarBuilder.html new file mode 100644 index 00000000..c70266e8 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarBuilder.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.CalendarBuilder (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.CalendarBuilder

    +
    +
    No usage of net.fortuna.ical4j.data.CalendarBuilder
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarOutputter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarOutputter.html new file mode 100644 index 00000000..6fc99639 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarOutputter.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.CalendarOutputter (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.CalendarOutputter

    +
    +
    No usage of net.fortuna.ical4j.data.CalendarOutputter
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParser.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParser.html new file mode 100644 index 00000000..7216ec53 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParser.html @@ -0,0 +1,223 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.data.CalendarParser (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.data.CalendarParser

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserFactory.html new file mode 100644 index 00000000..cb7a1bf1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserFactory.html @@ -0,0 +1,183 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.CalendarParserFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.CalendarParserFactory

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserImpl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserImpl.html new file mode 100644 index 00000000..8f5edfd0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/CalendarParserImpl.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.CalendarParserImpl (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.CalendarParserImpl

    +
    +
    No usage of net.fortuna.ical4j.data.CalendarParserImpl
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/ContentHandler.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/ContentHandler.html new file mode 100644 index 00000000..439fa46d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/ContentHandler.html @@ -0,0 +1,197 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.data.ContentHandler (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.data.ContentHandler

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/DefaultCalendarParserFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/DefaultCalendarParserFactory.html new file mode 100644 index 00000000..97ab980d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/DefaultCalendarParserFactory.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.DefaultCalendarParserFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.DefaultCalendarParserFactory

    +
    +
    No usage of net.fortuna.ical4j.data.DefaultCalendarParserFactory
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/FoldingWriter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/FoldingWriter.html new file mode 100644 index 00000000..139a3f38 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/FoldingWriter.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.FoldingWriter (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.FoldingWriter

    +
    +
    No usage of net.fortuna.ical4j.data.FoldingWriter
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParser.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParser.html new file mode 100644 index 00000000..4f7c95aa --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParser.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.HCalendarParser (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.HCalendarParser

    +
    +
    No usage of net.fortuna.ical4j.data.HCalendarParser
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParserFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParserFactory.html new file mode 100644 index 00000000..f13f9ecb --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/HCalendarParserFactory.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.HCalendarParserFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.HCalendarParserFactory

    +
    +
    No usage of net.fortuna.ical4j.data.HCalendarParserFactory
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/ParserException.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/ParserException.html new file mode 100644 index 00000000..10371538 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/ParserException.html @@ -0,0 +1,247 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.ParserException (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.ParserException

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/UnfoldingReader.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/UnfoldingReader.html new file mode 100644 index 00000000..eafd9ff9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/class-use/UnfoldingReader.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.data.UnfoldingReader (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.data.UnfoldingReader

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-frame.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-frame.html new file mode 100644 index 00000000..49508edf --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-frame.html @@ -0,0 +1,38 @@ + + + + + + +net.fortuna.ical4j.data (iCal4j 1.0.5 API) + + + + +

    net.fortuna.ical4j.data

    + + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-summary.html new file mode 100644 index 00000000..5b6489d0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-summary.html @@ -0,0 +1,259 @@ + + + + + + +net.fortuna.ical4j.data (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Package net.fortuna.ical4j.data

    +

    +

    Contains types providing RFC2445 input, output and parsing functionality.
    +

    +

    See: Description

    +
    +
    + + + + +

    Package net.fortuna.ical4j.data Description

    +
    Contains types providing RFC2445 input, output and parsing functionality.
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-tree.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-tree.html new file mode 100644 index 00000000..83bf5d1a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-tree.html @@ -0,0 +1,179 @@ + + + + + + +net.fortuna.ical4j.data Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Hierarchy For Package net.fortuna.ical4j.data

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +

    Interface Hierarchy

    + +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-use.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-use.html new file mode 100644 index 00000000..8527ce19 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/data/package-use.html @@ -0,0 +1,213 @@ + + + + + + +Uses of Package net.fortuna.ical4j.data (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Package
    net.fortuna.ical4j.data

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/AbstractDateRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/AbstractDateRule.html new file mode 100644 index 00000000..4ef6e8c6 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/AbstractDateRule.html @@ -0,0 +1,292 @@ + + + + + + +AbstractDateRule (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.filter

    +

    Class AbstractDateRule

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Rule
      +
      +
      +
      Direct Known Subclasses:
      +
      DateInRangeRule
      +
      +
      +
      +
      public abstract class AbstractDateRule
      +extends Object
      +implements Rule
      +
      Author:
      +
      fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AbstractDateRule

          +
          public AbstractDateRule()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          match

          +
          public boolean match(Object o)
          +
          Indicates whether the specified object passes the conditions required to match this rule.
          +
          +
          Specified by:
          +
          match in interface Rule
          +
          Parameters:
          o - an object to match
          +
          Returns:
          boolean indicated if the specified object matches this rule
          +
        • +
        + + + +
          +
        • +

          match

          +
          protected abstract boolean match(Date date)
          +
          Parameters:
          date - the date to check
          +
          Returns:
          true if the date matches rule requirements, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/ComponentRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/ComponentRule.html new file mode 100644 index 00000000..8c1669d3 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/ComponentRule.html @@ -0,0 +1,297 @@ + + + + + + +ComponentRule (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.filter

    +

    Class ComponentRule

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Rule
      +
      +
      +
      Direct Known Subclasses:
      +
      HasPropertyRule, PeriodRule
      +
      +
      +
      +
      public abstract class ComponentRule
      +extends Object
      +implements Rule
      +
      $Id$ + + Created on 2/02/2006 + + An abstract rule implementation serving as the base class for component matching rule implementations.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ComponentRule

          +
          public ComponentRule()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          match

          +
          public final boolean match(Object o)
          +
          Indicates whether the specified object passes the conditions required to match this rule.
          +
          +
          Specified by:
          +
          match in interface Rule
          +
          Parameters:
          o - an object to match
          +
          Returns:
          boolean indicated if the specified object matches this rule
          +
        • +
        + + + +
          +
        • +

          match

          +
          public abstract boolean match(Component component)
          +
          Parameters:
          component - a component to match on
          +
          Returns:
          true if the component matches the rule, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/DateInRangeRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/DateInRangeRule.html new file mode 100644 index 00000000..8487e6b7 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/DateInRangeRule.html @@ -0,0 +1,284 @@ + + + + + + +DateInRangeRule (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.filter

    +

    Class DateInRangeRule

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Rule
      +
      +
      +
      +
      public class DateInRangeRule
      +extends AbstractDateRule
      +
      Author:
      +
      fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DateInRangeRule

          +
          public DateInRangeRule(DateRange range,
          +               int inclusiveMask)
          +
          Parameters:
          range - the range to check
          inclusiveMask - indicates inclusiveness of start and end of the range
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          match

          +
          protected boolean match(Date date)
          +
          +
          Specified by:
          +
          match in class AbstractDateRule
          +
          Parameters:
          date - the date to check
          +
          Returns:
          true if the date matches rule requirements, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/Filter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/Filter.html new file mode 100644 index 00000000..a145610a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/Filter.html @@ -0,0 +1,405 @@ + + + + + + +Filter (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.filter

    +

    Class Filter

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class Filter
      +extends Object
      +
      $Id$ + + Created: Feb 1, 2006 + + Performs collection filtering based on a set of rules. A filter may dictate whether at least one rule or all rules + are matched. + + NOTE: Implementation of filter rules has changed in recent releases to fix behaviour. Please ensure you update + your code to use explicit constructors.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeField and Description
        static intMATCH_ALL +
        Indicates that all rules must be matched to include an object in the filtered collection.
        +
        static intMATCH_ANY +
        Indicates that any rule may be matched to include an object in the filtered collection.
        +
        +
      • +
      + +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + +
        Constructors 
        Constructor and Description
        Filter(Rule rule) +
        Deprecated.  +
        Prior implementations of this class did not work as advertised, so + to avoid confusion please use constructors that explicitly specify the desired behaviour
        +
        +
        Filter(Rule[] rules, + int type) +
        Constructor.
        +
        +
      • +
      + + +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          MATCH_ANY

          +
          public static final int MATCH_ANY
          +
          Indicates that any rule may be matched to include an object in the filtered collection.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MATCH_ALL

          +
          public static final int MATCH_ALL
          +
          Indicates that all rules must be matched to include an object in the filtered collection.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Filter

          +
          public Filter(Rule rule)
          +
          Deprecated. Prior implementations of this class did not work as advertised, so + to avoid confusion please use constructors that explicitly specify the desired behaviour
          +
          Constructor.
          +
          Parameters:
          rule - a rule that defines this filter
          +
        • +
        + + + +
          +
        • +

          Filter

          +
          public Filter(Rule[] rules,
          +      int type)
          +
          Constructor.
          +
          Parameters:
          rules - an array of rules that define this filter
          type - the type of matching to apply
          See Also:
          MATCH_ALL, +MATCH_ANY
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          filter

          +
          public final Collection filter(Collection c)
          +
          Filter the given collection into a new collection.
          +
          Parameters:
          c - a collection to filter
          +
          Returns:
          a filtered collection
          +
        • +
        + + + +
          +
        • +

          filter

          +
          public final Object[] filter(Object[] objects)
          +
          Returns a filtered subset of the specified array.
          +
          Parameters:
          objects - an array to filter
          +
          Returns:
          a filtered array
          +
        • +
        + + + +
          +
        • +

          getRules

          +
          public final Rule[] getRules()
          +
          Returns:
          Returns the rules.
          +
        • +
        + + + +
          +
        • +

          setRules

          +
          public final void setRules(Rule[] rules)
          +
          Parameters:
          rules - The rules to set.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/HasPropertyRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/HasPropertyRule.html new file mode 100644 index 00000000..a8914a43 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/HasPropertyRule.html @@ -0,0 +1,311 @@ + + + + + + +HasPropertyRule (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.filter

    +

    Class HasPropertyRule

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Rule
      +
      +
      +
      +
      public class HasPropertyRule
      +extends ComponentRule
      +
      $Id$ + + Created on 5/02/2006 + + A rule that matches any component containing the specified property. Note that this rule ignores any parameters + matching only on the value of the property.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          HasPropertyRule

          +
          public HasPropertyRule(Property property)
          +
          Constructs a new instance with the specified property. Ignores any parameters matching only on the value of the + property.
          +
          Parameters:
          property - a property instance to check for
          +
        • +
        + + + +
          +
        • +

          HasPropertyRule

          +
          public HasPropertyRule(Property property,
          +               boolean matchEquals)
          +
          Constructs a new instance with the specified property.
          +
          Parameters:
          property - the property to match
          matchEquals - if true, matches must contain an identical property (as indicated by + Property.equals()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          match

          +
          public final boolean match(Component component)
          +
          +
          Specified by:
          +
          match in class ComponentRule
          +
          Parameters:
          component - a component to match on
          +
          Returns:
          true if the component matches the rule, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/PeriodRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/PeriodRule.html new file mode 100644 index 00000000..603fcb85 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/PeriodRule.html @@ -0,0 +1,290 @@ + + + + + + +PeriodRule (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.filter

    +

    Class PeriodRule

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Rule
      +
      +
      +
      +
      public class PeriodRule
      +extends ComponentRule
      +
      $Id$ + + Created on 2/02/2006 + + A rule that matches any component that occurs in the specified time period.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PeriodRule

          +
          public PeriodRule(Period period)
          +
          Constructs a new instance using the specified period.
          +
          Parameters:
          period - a period instance to match on
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          match

          +
          public final boolean match(Component component)
          +
          +
          Specified by:
          +
          match in class ComponentRule
          +
          Parameters:
          component - a component to match on
          +
          Returns:
          true if the component matches the rule, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/Rule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/Rule.html new file mode 100644 index 00000000..d87b2f59 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/Rule.html @@ -0,0 +1,224 @@ + + + + + + +Rule (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.filter

    +

    Interface Rule

    +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + +
        Methods 
        Modifier and TypeMethod and Description
        booleanmatch(Object o) +
        Indicates whether the specified object passes the conditions required to match this rule.
        +
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          match

          +
          boolean match(Object o)
          +
          Indicates whether the specified object passes the conditions required to match this rule.
          +
          Parameters:
          o - an object to match
          +
          Returns:
          boolean indicated if the specified object matches this rule
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/AbstractDateRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/AbstractDateRule.html new file mode 100644 index 00000000..a292a715 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/AbstractDateRule.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.filter.AbstractDateRule (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.filter.AbstractDateRule

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/ComponentRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/ComponentRule.html new file mode 100644 index 00000000..0fcef4ad --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/ComponentRule.html @@ -0,0 +1,175 @@ + + + + + + +Uses of Class net.fortuna.ical4j.filter.ComponentRule (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.filter.ComponentRule

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/DateInRangeRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/DateInRangeRule.html new file mode 100644 index 00000000..c9a1c160 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/DateInRangeRule.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.filter.DateInRangeRule (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.filter.DateInRangeRule

    +
    +
    No usage of net.fortuna.ical4j.filter.DateInRangeRule
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/Filter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/Filter.html new file mode 100644 index 00000000..28469ca2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/Filter.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.filter.Filter (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.filter.Filter

    +
    +
    No usage of net.fortuna.ical4j.filter.Filter
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/HasPropertyRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/HasPropertyRule.html new file mode 100644 index 00000000..dfd1e4bc --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/HasPropertyRule.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.filter.HasPropertyRule (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.filter.HasPropertyRule

    +
    +
    No usage of net.fortuna.ical4j.filter.HasPropertyRule
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/PeriodRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/PeriodRule.html new file mode 100644 index 00000000..6b574b9b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/PeriodRule.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.filter.PeriodRule (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.filter.PeriodRule

    +
    +
    No usage of net.fortuna.ical4j.filter.PeriodRule
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/Rule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/Rule.html new file mode 100644 index 00000000..8606a46b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/class-use/Rule.html @@ -0,0 +1,241 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.filter.Rule (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.filter.Rule

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Packages that use Rule 
      PackageDescription
      net.fortuna.ical4j.filter +
      Filtering rules that may be used on lists of components, properties or parameters.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of Rule in net.fortuna.ical4j.filter

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Classes in net.fortuna.ical4j.filter that implement Rule 
        Modifier and TypeClass and Description
        class AbstractDateRule 
        class ComponentRule +
        $Id$ + + Created on 2/02/2006 + + An abstract rule implementation serving as the base class for component matching rule implementations.
        +
        class DateInRangeRule 
        class HasPropertyRule +
        $Id$ + + Created on 5/02/2006 + + A rule that matches any component containing the specified property.
        +
        class PeriodRule +
        $Id$ + + Created on 2/02/2006 + + A rule that matches any component that occurs in the specified time period.
        +
        + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.filter that return Rule 
        Modifier and TypeMethod and Description
        Rule[]Filter.getRules() 
        + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.filter with parameters of type Rule 
        Modifier and TypeMethod and Description
        voidFilter.setRules(Rule[] rules) 
        + + + + + + + + + + + + + +
        Constructors in net.fortuna.ical4j.filter with parameters of type Rule 
        Constructor and Description
        Filter(Rule rule) +
        Deprecated.  +
        Prior implementations of this class did not work as advertised, so + to avoid confusion please use constructors that explicitly specify the desired behaviour
        +
        +
        Filter(Rule[] rules, + int type) +
        Constructor.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-frame.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-frame.html new file mode 100644 index 00000000..789032e7 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-frame.html @@ -0,0 +1,29 @@ + + + + + + +net.fortuna.ical4j.filter (iCal4j 1.0.5 API) + + + + +

    net.fortuna.ical4j.filter

    + + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-summary.html new file mode 100644 index 00000000..9be91a21 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-summary.html @@ -0,0 +1,209 @@ + + + + + + +net.fortuna.ical4j.filter (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Package net.fortuna.ical4j.filter

    +

    +

    Filtering rules that may be used on lists of components, properties or parameters.
    +

    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Interface Summary 
      InterfaceDescription
      Rule +
      $Id$ + + Created: Feb 1, 2006 + + Implementors dictate whether a given object is classified as a "match" for the enclosing filter.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      AbstractDateRule 
      ComponentRule +
      $Id$ + + Created on 2/02/2006 + + An abstract rule implementation serving as the base class for component matching rule implementations.
      +
      DateInRangeRule 
      Filter +
      $Id$ + + Created: Feb 1, 2006 + + Performs collection filtering based on a set of rules.
      +
      HasPropertyRule +
      $Id$ + + Created on 5/02/2006 + + A rule that matches any component containing the specified property.
      +
      PeriodRule +
      $Id$ + + Created on 2/02/2006 + + A rule that matches any component that occurs in the specified time period.
      +
      +
    • +
    + + + +

    Package net.fortuna.ical4j.filter Description

    +
    Filtering rules that may be used on lists of components, properties or parameters.
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-tree.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-tree.html new file mode 100644 index 00000000..218b4f89 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-tree.html @@ -0,0 +1,145 @@ + + + + + + +net.fortuna.ical4j.filter Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Hierarchy For Package net.fortuna.ical4j.filter

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +

    Interface Hierarchy

    +
      +
    • net.fortuna.ical4j.filter.Rule
    • +
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-use.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-use.html new file mode 100644 index 00000000..f81070c7 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/filter/package-use.html @@ -0,0 +1,170 @@ + + + + + + +Uses of Package net.fortuna.ical4j.filter (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Package
    net.fortuna.ical4j.filter

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/AbstractContentFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/AbstractContentFactory.html new file mode 100644 index 00000000..f741a0af --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/AbstractContentFactory.html @@ -0,0 +1,325 @@ + + + + + + +AbstractContentFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class AbstractContentFactory

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      ParameterFactoryImpl, PropertyFactoryImpl
      +
      +
      +
      +
      public abstract class AbstractContentFactory
      +extends Object
      +
      $Id$ + + Created on 28/01/2007 + + Abstract implementation of a content factory.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AbstractContentFactory

          +
          public AbstractContentFactory()
          +
          Default constructor.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          registerDefaultFactory

          +
          protected final void registerDefaultFactory(String key,
          +                          Object factory)
          +
          Register a standard content factory.
          +
        • +
        + + + +
          +
        • +

          registerExtendedFactory

          +
          protected final void registerExtendedFactory(String key,
          +                           Object factory)
          +
          Register a non-standard content factory.
          +
        • +
        + + + +
          +
        • +

          getFactory

          +
          protected final Object getFactory(String key)
          +
          Parameters:
          key - a factory key
          +
          Returns:
          a factory associated with the specified key, giving preference to + standard factories
          +
        • +
        + + + +
          +
        • +

          allowIllegalNames

          +
          protected boolean allowIllegalNames()
          +
          Returns:
          true if non-standard names are allowed, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/AddressList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/AddressList.html new file mode 100644 index 00000000..f04f2b10 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/AddressList.html @@ -0,0 +1,373 @@ + + + + + + +AddressList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class AddressList

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class AddressList
      +extends Object
      +implements Serializable
      +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar addresses.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AddressList

          +
          public AddressList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          AddressList

          +
          public AddressList(String aValue)
          +            throws URISyntaxException
          +
          Parses the specified string representation to create a list of addresses.
          +
          Parameters:
          aValue - a string representation of a list of addresses
          +
          Throws:
          +
          URISyntaxException - where the specified string is not a valid representation
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          add

          +
          public final boolean add(URI address)
          +
          Add an address to the list.
          +
          Parameters:
          address - the address to add
          +
          Returns:
          true
          See Also:
          List.add(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          isEmpty

          +
          public final boolean isEmpty()
          +
          Returns:
          boolean indicates if the list is empty
          See Also:
          List.isEmpty()
          +
        • +
        + + + + + + + +
          +
        • +

          remove

          +
          public final boolean remove(URI address)
          +
          Remove an address from the list.
          +
          Parameters:
          address - the address to remove
          +
          Returns:
          true if the list contained the specified address
          See Also:
          List.remove(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          size

          +
          public final int size()
          +
          Returns:
          the number of addresses in the list
          See Also:
          List.size()
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Calendar.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Calendar.html new file mode 100644 index 00000000..9c7e8e12 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Calendar.html @@ -0,0 +1,708 @@ + + + + + + +Calendar (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Calendar

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Calendar
      +extends Object
      +implements Serializable
      +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar calendar. + +
      +    4.6 Calendar Components
      +    
      +       The body of the iCalendar object consists of a sequence of calendar
      +       properties and one or more calendar components. The calendar
      +       properties are attributes that apply to the calendar as a whole. The
      +       calendar components are collections of properties that express a
      +       particular calendar semantic. For example, the calendar component can
      +       specify an event, a to-do, a journal entry, time zone information, or
      +       free/busy time information, or an alarm.
      +    
      +       The body of the iCalendar object is defined by the following
      +       notation:
      +    
      +         icalbody   = calprops component
      +    
      +         calprops   = 2*(
      +    
      +                    ; 'prodid' and 'version' are both REQUIRED,
      +                    ; but MUST NOT occur more than once
      +    
      +                    prodid /version /
      +    
      +                    ; 'calscale' and 'method' are optional,
      +                    ; but MUST NOT occur more than once
      +    
      +                    calscale        /
      +                    method          /
      +    
      +                    x-prop
      +    
      +                    )
      +    
      +         component  = 1*(eventc / todoc / journalc / freebusyc /
      +                    / timezonec / iana-comp / x-comp)
      +    
      +         iana-comp  = "BEGIN" ":" iana-token CRLF
      +    
      +                      1*contentline
      +    
      +                      "END" ":" iana-token CRLF
      +    
      +         x-comp     = "BEGIN" ":" x-name CRLF
      +    
      +                      1*contentline
      +    
      +                      "END" ":" x-name CRLF
      + 
      + + Example 1 - Creating a new calendar: + +
      
      + Calendar calendar = new Calendar();
      + calendar.getProperties().add(new ProdId("-//Ben Fortuna//iCal4j 1.0//EN"));
      + calendar.getProperties().add(Version.VERSION_2_0);
      + calendar.getProperties().add(CalScale.GREGORIAN);
      + 
      + // Add events, etc..
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Calendar

          +
          public Calendar()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Calendar

          +
          public Calendar(ComponentList components)
          +
          Constructs a new calendar with no properties and the specified components.
          +
          Parameters:
          components - a list of components to add to the calendar
          +
        • +
        + + + +
          +
        • +

          Calendar

          +
          public Calendar(PropertyList p,
          +        ComponentList c)
          +
          Constructor.
          +
          Parameters:
          p - a list of properties
          c - a list of components
          +
        • +
        + + + + +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getComponents

          +
          public final ComponentList getComponents()
          +
          Returns:
          Returns the components.
          +
        • +
        + + + +
          +
        • +

          getComponents

          +
          public final ComponentList getComponents(String name)
          +
          Convenience method for retrieving a list of named components.
          +
          Parameters:
          name - name of components to retrieve
          +
          Returns:
          a component list containing only components with the specified name
          +
        • +
        + + + +
          +
        • +

          getComponent

          +
          public final Component getComponent(String name)
          +
          Convenience method for retrieving a named component.
          +
          Parameters:
          name - name of the component to retrieve
          +
          Returns:
          the first matching component in the component list with the specified name
          +
        • +
        + + + +
          +
        • +

          getProperties

          +
          public final PropertyList getProperties()
          +
          Returns:
          Returns the properties.
          +
        • +
        + + + +
          +
        • +

          getProperties

          +
          public final PropertyList getProperties(String name)
          +
          Convenience method for retrieving a list of named properties.
          +
          Parameters:
          name - name of properties to retrieve
          +
          Returns:
          a property list containing only properties with the specified name
          +
        • +
        + + + +
          +
        • +

          getProperty

          +
          public final Property getProperty(String name)
          +
          Convenience method for retrieving a named property.
          +
          Parameters:
          name - name of the property to retrieve
          +
          Returns:
          the first matching property in the property list with the specified name
          +
        • +
        + + + +
          +
        • +

          validate

          +
          public final void validate()
          +                    throws ValidationException
          +
          Perform validation on the calendar, its properties and its components in its current state.
          +
          Throws:
          +
          ValidationException - where the calendar is not in a valid state
          +
        • +
        + + + +
          +
        • +

          validate

          +
          public void validate(boolean recurse)
          +              throws ValidationException
          +
          Perform validation on the calendar in its current state.
          +
          Parameters:
          recurse - indicates whether to validate the calendar's properties and components
          +
          Throws:
          +
          ValidationException - where the calendar is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getProductId

          +
          public final ProdId getProductId()
          +
          Returns the mandatory prodid property.
          +
          Returns:
          the PRODID property, or null if property doesn't exist
          +
        • +
        + + + +
          +
        • +

          getVersion

          +
          public final Version getVersion()
          +
          Returns the mandatory version property.
          +
          Returns:
          the VERSION property, or null if property doesn't exist
          +
        • +
        + + + +
          +
        • +

          getCalendarScale

          +
          public final CalScale getCalendarScale()
          +
          Returns the optional calscale property.
          +
          Returns:
          the CALSCALE property, or null if property doesn't exist
          +
        • +
        + + + +
          +
        • +

          getMethod

          +
          public final Method getMethod()
          +
          Returns the optional method property.
          +
          Returns:
          the METHOD property, or null if property doesn't exist
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public final boolean equals(Object arg0)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public final int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/CalendarDateFormatFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/CalendarDateFormatFactory.html new file mode 100644 index 00000000..8cdcf41a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/CalendarDateFormatFactory.html @@ -0,0 +1,237 @@ + + + + + + +CalendarDateFormatFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class CalendarDateFormatFactory

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • net.fortuna.ical4j.model.CalendarDateFormatFactory
      • +
      +
    • +
    +
    +
      +
    • +
      +
      +
      public final class CalendarDateFormatFactory
      +extends Object
      +
      $Id$ [06-Apr-2004] + + Creates DateFormat objects optimized for common iCalendar date patterns.
      +
      Author:
      +
      Dave Nault dnault@laszlosystems.com
      +
      See Also:
      getInstance(String)
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getInstance

          +
          public static DateFormat getInstance(String pattern)
          +
          Returns DateFormat objects optimized for common iCalendar date patterns. The DateFormats are *not* thread safe. + Attempts to get or set the Calendar or NumberFormat of an optimized DateFormat will result in an + UnsupportedOperation exception being thrown.
          +
          Parameters:
          pattern - a SimpleDateFormat-compatible pattern
          +
          Returns:
          an optimized DateFormat instance if possible, otherwise a normal SimpleDateFormat instance
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/CalendarException.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/CalendarException.html new file mode 100644 index 00000000..9d2931f4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/CalendarException.html @@ -0,0 +1,273 @@ + + + + + + +CalendarException (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class CalendarException

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CalendarException

          +
          public CalendarException(String message)
          +
          Parameters:
          message - an exception detail message
          +
        • +
        + + + +
          +
        • +

          CalendarException

          +
          public CalendarException(Throwable cause)
          +
          Parameters:
          cause - the cause exception
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Component.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Component.html new file mode 100644 index 00000000..2f18f9a0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Component.html @@ -0,0 +1,736 @@ + + + + + + +Component (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Component

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      Direct Known Subclasses:
      +
      Available, CalendarComponent, Observance
      +
      +
      +
      +
      public abstract class Component
      +extends Object
      +implements Serializable
      +
      $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
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Component

          +
          protected Component(String s)
          +
          Constructs a new component containing no properties.
          +
          Parameters:
          s - a component name
          +
        • +
        + + + +
          +
        • +

          Component

          +
          protected Component(String s,
          +         PropertyList p)
          +
          Constructor made protected to enforce the use of ComponentFactory for component instantiation.
          +
          Parameters:
          s - component name
          p - a list of properties
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getName

          +
          public final String getName()
          +
          Returns:
          Returns the name.
          +
        • +
        + + + +
          +
        • +

          getProperties

          +
          public final PropertyList getProperties()
          +
          Returns:
          Returns the properties.
          +
        • +
        + + + +
          +
        • +

          getProperties

          +
          public final PropertyList getProperties(String name)
          +
          Convenience method for retrieving a list of named properties.
          +
          Parameters:
          name - name of properties to retrieve
          +
          Returns:
          a property list containing only properties with the specified name
          +
        • +
        + + + +
          +
        • +

          getProperty

          +
          public final Property getProperty(String name)
          +
          Convenience method for retrieving a named property.
          +
          Parameters:
          name - name of the property to retrieve
          +
          Returns:
          the first matching property in the property list with the specified name
          +
        • +
        + + + +
          +
        • +

          validate

          +
          public final void validate()
          +                    throws ValidationException
          +
          Perform validation on a component and its properties.
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          validate

          +
          public abstract void validate(boolean recurse)
          +                       throws ValidationException
          +
          Perform validation on a component.
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          validateProperties

          +
          protected final void validateProperties()
          +                                 throws ValidationException
          +
          Invoke validation on the component properties in its current state.
          +
          Throws:
          +
          ValidationException - where any of the component properties is not in a valid state
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals(Object arg0)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        + + + + + + + +
          +
        • +

          calculateRecurrenceSet

          +
          public final PeriodList calculateRecurrenceSet(Period 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

          +
          Parameters:
          period - a range to calculate recurrences for
          +
          Returns:
          a list of periods
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ComponentFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ComponentFactory.html new file mode 100644 index 00000000..4a4b1d21 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ComponentFactory.html @@ -0,0 +1,302 @@ + + + + + + +ComponentFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class ComponentFactory

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class ComponentFactory
      +extends Object
      +
      $Id$ [05-Apr-2004] + + A factory for creating iCalendar components. Note that if relaxed parsing is enabled (via specifying the system + property: icalj.parsing.relaxed=true) illegal component names are allowed.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getInstance

          +
          public static ComponentFactory getInstance()
          +
          Returns:
          Returns the instance.
          +
        • +
        + + + +
          +
        • +

          createComponent

          +
          public Component createComponent(String name)
          +
          Parameters:
          name - a component name
          +
          Returns:
          a new component instance of the specified type
          +
        • +
        + + + +
          +
        • +

          createComponent

          +
          public Component createComponent(String name,
          +                        PropertyList properties)
          +
          Creates a component.
          +
          Parameters:
          name - name of the component
          properties - a list of component properties
          +
          Returns:
          a component
          +
        • +
        + + + +
          +
        • +

          createComponent

          +
          public Component createComponent(String name,
          +                        PropertyList properties,
          +                        ComponentList components)
          +
          Creates a component which contains sub-components. Currently the only such component is VTIMEZONE.
          +
          Parameters:
          name - name of the component
          properties - a list of component properties
          components - a list of sub-components (namely standard/daylight timezones)
          +
          Returns:
          a component
          +
        • +
        + + + +
          +
        • +

          allowIllegalNames

          +
          protected boolean allowIllegalNames()
          +
          Returns:
          true if non-standard names are allowed, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ComponentList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ComponentList.html new file mode 100644 index 00000000..8dd7d307 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ComponentList.html @@ -0,0 +1,472 @@ + + + + + + +ComponentList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class ComponentList

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ComponentList

          +
          public ComponentList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          ComponentList

          +
          public ComponentList(int initialCapacity)
          +
          Creates a new instance with the specified initial capacity.
          +
          Parameters:
          initialCapacity - the initial capacity of the list
          +
        • +
        + + + + +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getComponent

          +
          public final Component getComponent(String aName)
          +
          Returns the first component of specified name.
          +
          Parameters:
          aName - name of component to return
          +
          Returns:
          a component or null if no matching component found
          +
        • +
        + + + +
          +
        • +

          getComponents

          +
          public final ComponentList getComponents(String name)
          +
          Returns a list containing all components with specified name.
          +
          Parameters:
          name - name of components to return
          +
          Returns:
          a list of components with the matching name
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Component component)
          +
          Add a component to the list.
          +
          Parameters:
          component - the component to add
          +
          Returns:
          true
          See Also:
          List.add(Object)
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Object component)
          +
          Overrides superclass to throw an IllegalArgumentException where argument is not a + net.fortuna.ical4j.model.Component.
          +
          +
          Specified by:
          +
          add in interface Collection
          +
          Specified by:
          +
          add in interface List
          +
          Overrides:
          +
          add in class ArrayList
          +
          Parameters:
          component - a component to add
          +
          Returns:
          true if the object was added, otherwise false
          See Also:
          List.add(Object)
          +
        • +
        + + + +
          +
        • +

          remove

          +
          public final boolean remove(Component component)
          +
          Remove a component from the list.
          +
          Parameters:
          component - the component to remove
          +
          Returns:
          true if the list contained the specified component
          See Also:
          List.remove(java.lang.Object)
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ConstraintViolationException.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ConstraintViolationException.html new file mode 100644 index 00000000..355f96e1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ConstraintViolationException.html @@ -0,0 +1,275 @@ + + + + + + +ConstraintViolationException (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class ConstraintViolationException

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class ConstraintViolationException
      +extends Exception
      +
      $Id$ + + Created on 02/03/2008 + + Indicates the violation of a constraint imposed by a relevant specification.
      +
      Author:
      +
      Ben
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ConstraintViolationException

          +
          public ConstraintViolationException()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          ConstraintViolationException

          +
          public ConstraintViolationException(String message)
          +
          Parameters:
          message - an error message
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Content.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Content.html new file mode 100644 index 00000000..17c2d471 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Content.html @@ -0,0 +1,291 @@ + + + + + + +Content (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Content

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      Direct Known Subclasses:
      +
      Parameter, Property
      +
      +
      +
      +
      public abstract class Content
      +extends Object
      +implements Serializable
      +
      $Id$ + + Created: 12/10/2004 + + Base class for calendar content in the form of + properties and parameters.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Content

          +
          public Content()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getName

          +
          public abstract String getName()
          +
          Returns:
          the cotent name
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public abstract String getValue()
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Date.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Date.html new file mode 100644 index 00000000..6dfb8351 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Date.html @@ -0,0 +1,419 @@ + + + + + + +Date (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Date

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Cloneable, Comparable<Date>
      +
      +
      +
      Direct Known Subclasses:
      +
      DateTime
      +
      +
      +
      +
      public class Date
      +extends Iso8601
      +
      $Id$ + + Created on 26/06/2005 + + Base class for all representations of time values in RFC2445. + +
      + 4.3.4 Date
      + 
      +    Value Name: DATE
      + 
      +    Purpose: This value type is used to identify values that contain a
      +    calendar date.
      + 
      +    Formal Definition: The value type is defined by the following
      +    notation:
      + 
      +      date               = date-value
      + 
      +      date-value         = date-fullyear date-month date-mday
      +      date-fullyear      = 4DIGIT
      +      date-month         = 2DIGIT        ;01-12
      +      date-mday          = 2DIGIT        ;01-28, 01-29, 01-30, 01-31
      +                                         ;based on month/year
      + 
      +    Description: If the property permits, multiple "date" values are
      +    specified as a COMMA character (US-ASCII decimal 44) separated list
      +    of values. The format for the value type is expressed as the [ISO
      +    8601] complete representation, basic format for a calendar date. The
      +    textual format specifies a four-digit year, two-digit month, and
      +    two-digit day of the month. There are no separator characters between
      +    the year, month and day component text.
      + 
      +    No additional content value encoding (i.e., BACKSLASH character
      +    encoding) is defined for this value type.
      + 
      +    Example: The following represents July 14, 1997:
      + 
      +      19970714
      + 
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Date

          +
          public Date()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Date

          +
          protected Date(int precision,
          +    TimeZone tz)
          +
          Creates a new date instance with the specified precision. This + constructor is only intended for use by sub-classes.
          +
          Parameters:
          precision - the date precision
          tz - the timezone
          See Also:
          Dates.PRECISION_DAY, +Dates.PRECISION_SECOND
          +
        • +
        + + + +
          +
        • +

          Date

          +
          public Date(long time)
          +
          Parameters:
          time - a date value in milliseconds
          +
        • +
        + + + +
          +
        • +

          Date

          +
          protected Date(long time,
          +    int precision,
          +    TimeZone tz)
          +
          Creates a new date instance with the specified precision. This + constructor is only intended for use by sub-classes.
          +
          Parameters:
          time - a date value in milliseconds
          precision - the date precision
          tz - the timezone
          See Also:
          Dates.PRECISION_DAY, +Dates.PRECISION_SECOND
          +
        • +
        + + + +
          +
        • +

          Date

          +
          public Date(Date date)
          +
          Parameters:
          date - a date value
          +
        • +
        + + + +
          +
        • +

          Date

          +
          public Date(String value)
          +     throws ParseException
          +
          Parameters:
          value - a string representation of a date
          +
          Throws:
          +
          ParseException - where the specified string is not a valid date
          +
        • +
        + + + +
          +
        • +

          Date

          +
          public Date(String value,
          +    String pattern)
          +     throws ParseException
          +
          Parameters:
          value - a string representation of a date
          pattern - a date pattern to apply when parsing
          +
          Throws:
          +
          ParseException - where the specified string is not a valid date
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateList.html new file mode 100644 index 00000000..af65fc93 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateList.html @@ -0,0 +1,980 @@ + + + + + + +DateList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class DateList

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DateList

          +
          public DateList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          DateList

          +
          public DateList(boolean unmodifiable)
          +
        • +
        + + + +
          +
        • +

          DateList

          +
          public DateList(Value aType)
          +
          Parameters:
          aType - the type of dates contained by the instance
          +
        • +
        + + + +
          +
        • +

          DateList

          +
          public DateList(Value aType,
          +        TimeZone timezone)
          +
          Default constructor.
          +
          Parameters:
          aType - specifies the type of dates (either date or date-time)
          timezone - the timezone to apply to dates contained by the instance
          +
        • +
        + + + +
          +
        • +

          DateList

          +
          public DateList(String aValue,
          +        Value aType)
          +         throws ParseException
          +
          Parameters:
          aValue - a string representation of a date list
          aType - the date types contained in the instance
          +
          Throws:
          +
          ParseException - where the specified string is not a valid date list
          +
        • +
        + + + +
          +
        • +

          DateList

          +
          public DateList(String aValue,
          +        Value aType,
          +        TimeZone timezone)
          +         throws ParseException
          +
          Parses the specified string representation to create a list of dates.
          +
          Parameters:
          aValue - a string representation of a list of dates
          aType - specifies the type of dates (either date or date-time)
          timezone - the timezone to apply to contained dates
          +
          Throws:
          +
          ParseException - if an invalid date representation exists in the date list + string
          +
        • +
        + + + +
          +
        • +

          DateList

          +
          public DateList(DateList list,
          +        Value type)
          +
          Constructs a new date list of the specified type containing + the dates in the specified list.
          +
          Parameters:
          list - a list of dates to include in the new list
          type - the type of the new list
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          add

          +
          public final boolean add(Date date)
          +
          Add a date to the list. The date will be updated to reflect the + timezone of this list.
          +
          Parameters:
          date - the date to add
          +
          Returns:
          true
          See Also:
          List.add(Object)
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Object date)
          +
          Overrides superclass to throw an IllegalArgumentException + Where argument is not a net.fortuna.ical4j.model.Date.
          +
          +
          Specified by:
          +
          add in interface Collection
          +
          Specified by:
          +
          add in interface List
          +
          Parameters:
          date - the date to add
          +
          Returns:
          true if the object was added, otherwise false
          See Also:
          List.add(Object)
          +
        • +
        + + + +
          +
        • +

          remove

          +
          public final boolean remove(Date date)
          +
          Remove a date from the list.
          +
          Parameters:
          date - the date to remove
          +
          Returns:
          true if the list contained the specified date
          See Also:
          List.remove(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          getType

          +
          public final Value getType()
          +
          Returns the VALUE parameter specifying the type of dates (ie. date or + date-time) stored in this date list.
          +
          Returns:
          Returns a Value parameter.
          +
        • +
        + + + +
          +
        • +

          isUtc

          +
          public final boolean isUtc()
          +
          Indicates whether this list is in local or UTC format. This property will + have no affect if the type of the list is not DATE-TIME.
          +
          Returns:
          Returns true if in UTC format, otherwise false.
          +
        • +
        + + + +
          +
        • +

          setUtc

          +
          public final void setUtc(boolean utc)
          +
          Sets whether this list is in UTC or local time format.
          +
          Parameters:
          utc - The utc to set.
          +
        • +
        + + + +
          +
        • +

          setTimeZone

          +
          public final void setTimeZone(TimeZone timeZone)
          +
          Applies the specified timezone to all dates in the list. + All dates added to this list will also have this timezone + applied.
          +
          Parameters:
          timeZone - a timezone to apply to contained dates
          +
        • +
        + + + +
          +
        • +

          getTimeZone

          +
          public final TimeZone getTimeZone()
          +
          Returns:
          Returns the timeZone.
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final void add(int arg0,
          +       Object arg1)
          +
          +
          Specified by:
          +
          add in interface List
          +
          +
        • +
        + + + + + + + +
          +
        • +

          addAll

          +
          public final boolean addAll(int arg0,
          +             Collection arg1)
          +
          +
          Specified by:
          +
          addAll in interface List
          +
          +
        • +
        + + + +
          +
        • +

          clear

          +
          public final void clear()
          +
          +
          Specified by:
          +
          clear in interface Collection
          +
          Specified by:
          +
          clear in interface List
          +
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          get

          +
          public final Object get(int index)
          +
          +
          Specified by:
          +
          get in interface List
          +
          +
        • +
        + + + +
          +
        • +

          indexOf

          +
          public final int indexOf(Object o)
          +
          +
          Specified by:
          +
          indexOf in interface List
          +
          +
        • +
        + + + +
          +
        • +

          isEmpty

          +
          public final boolean isEmpty()
          +
          +
          Specified by:
          +
          isEmpty in interface Collection
          +
          Specified by:
          +
          isEmpty in interface List
          +
          +
        • +
        + + + + + + + +
          +
        • +

          lastIndexOf

          +
          public final int lastIndexOf(Object o)
          +
          +
          Specified by:
          +
          lastIndexOf in interface List
          +
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          remove

          +
          public final Object remove(int index)
          +
          +
          Specified by:
          +
          remove in interface List
          +
          +
        • +
        + + + + + + + + + + + + + + + +
          +
        • +

          set

          +
          public final Object set(int arg0,
          +         Object arg1)
          +
          +
          Specified by:
          +
          set in interface List
          +
          +
        • +
        + + + +
          +
        • +

          size

          +
          public final int size()
          +
          +
          Specified by:
          +
          size in interface Collection
          +
          Specified by:
          +
          size in interface List
          +
          +
        • +
        + + + +
          +
        • +

          subList

          +
          public final List subList(int fromIndex,
          +           int toIndex)
          +
          +
          Specified by:
          +
          subList in interface List
          +
          +
        • +
        + + + + + + + + + + + + + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateRange.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateRange.html new file mode 100644 index 00000000..d40857c3 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateRange.html @@ -0,0 +1,481 @@ + + + + + + +DateRange (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class DateRange

    +
    +
    + +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeField and Description
        static intINCLUSIVE_END +
        A flag indicating whether to include the end of the period in test functions.
        +
        static intINCLUSIVE_START +
        A flag indicating whether to include the start of the period in test functions.
        +
        +
      • +
      + +
        +
      • + + +

        Constructor Summary

        + + + + + + + + +
        Constructors 
        Constructor and Description
        DateRange(Date start, + Date end) 
        +
      • +
      + + +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          INCLUSIVE_START

          +
          public static final int INCLUSIVE_START
          +
          A flag indicating whether to include the start of the period in test functions.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          INCLUSIVE_END

          +
          public static final int INCLUSIVE_END
          +
          A flag indicating whether to include the end of the period in test functions.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DateRange

          +
          public DateRange(Date start,
          +         Date end)
          +
          Parameters:
          start - the start of the range
          end - the end of the range
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getRangeStart

          +
          public Date getRangeStart()
          +
          Returns:
          the rangeStart
          +
        • +
        + + + +
          +
        • +

          getRangeEnd

          +
          public Date getRangeEnd()
          +
          Returns:
          the rangeEnd
          +
        • +
        + + + +
          +
        • +

          includes

          +
          public final boolean includes(Date date)
          +
          Determines if the specified date occurs within this period (inclusive of + period start and end).
          +
          Parameters:
          date - a date to test for inclusion
          +
          Returns:
          true if the specified date occurs within the current period
          +
        • +
        + + + +
          +
        • +

          includes

          +
          public final boolean includes(Date date,
          +               int inclusiveMask)
          +
          Decides whether a date falls within this period.
          +
          Parameters:
          date - the date to be tested
          inclusiveMask - specifies whether period start and end are included + in the calculation
          +
          Returns:
          true if the date is in the period, false otherwise
          See Also:
          INCLUSIVE_START, +INCLUSIVE_END
          +
        • +
        + + + +
          +
        • +

          before

          +
          public final boolean before(DateRange range)
          +
          Decides whether this period is completed before the given period starts.
          +
          Parameters:
          range - a period that may or may not start after this period ends
          +
          Returns:
          true if the specified period starts after this periods ends, + otherwise false
          +
        • +
        + + + +
          +
        • +

          after

          +
          public final boolean after(DateRange range)
          +
          Decides whether this period starts after the given period ends.
          +
          Parameters:
          range - a period that may or may not end before this period starts
          +
          Returns:
          true if the specified period end before this periods starts, + otherwise false
          +
        • +
        + + + +
          +
        • +

          intersects

          +
          public final boolean intersects(DateRange range)
          +
          Decides whether this period intersects with another one.
          +
          Parameters:
          range - a possible intersecting period
          +
          Returns:
          true if the specified period intersects this one, false + otherwise.
          +
        • +
        + + + +
          +
        • +

          adjacent

          +
          public final boolean adjacent(DateRange range)
          +
          Decides whether these periods are serial without a gap.
          +
          Parameters:
          range - a period to test for adjacency
          +
          Returns:
          true if one period immediately follows the other, false otherwise
          +
        • +
        + + + +
          +
        • +

          contains

          +
          public final boolean contains(DateRange range)
          +
          Decides whether the given period is completely contained within this one.
          +
          Parameters:
          range - the period that may be contained by this one
          +
          Returns:
          true if this period covers all the dates of the specified period, + otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateTime.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateTime.html new file mode 100644 index 00000000..8ab00e64 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DateTime.html @@ -0,0 +1,651 @@ + + + + + + +DateTime (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class DateTime

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Cloneable, Comparable<Date>
      +
      +
      +
      +
      public class DateTime
      +extends Date
      +
      $Id$ + + Created on 26/06/2005 + + Represents a time of day on a specific date. + +
      + 4.3.5   Date-Time
      + 
      +    Value Name: DATE-TIME
      + 
      +    Purpose: This value type is used to identify values that specify a
      +    precise calendar date and time of day.
      + 
      +    Formal Definition: The value type is defined by the following
      +    notation:
      + 
      +      date-time  = date "T" time ;As specified in the date and time
      +                                 ;value definitions
      + 
      +    Description: If the property permits, multiple "date-time" values are
      +    specified as a COMMA character (US-ASCII decimal 44) separated list
      +    of values. No additional content value encoding (i.e., BACKSLASH
      +    character encoding) is defined for this value type.
      + 
      +    The "DATE-TIME" data type is used to identify values that contain a
      +    precise calendar date and time of day. The format is based on the
      +    [ISO 8601] complete representation, basic format for a calendar date
      +    and time of day. The text format is a concatenation of the "date",
      +    followed by the LATIN CAPITAL LETTER T character (US-ASCII decimal
      +    84) time designator, followed by the "time" format.
      + 
      +    The "DATE-TIME" data type expresses time values in three forms:
      + 
      +    The form of date and time with UTC offset MUST NOT be used. For
      +    example, the following is not valid for a date-time value:
      + 
      +      DTSTART:19980119T230000-0800       ;Invalid time format
      + 
      +    FORM #1: DATE WITH LOCAL TIME
      + 
      +    The date with local time form is simply a date-time value that does
      +    not contain the UTC designator nor does it reference a time zone. For
      +    example, the following represents Janurary 18, 1998, at 11 PM:
      + 
      +      DTSTART:19980118T230000
      + 
      +    Date-time values of this type are said to be "floating" and are not
      +    bound to any time zone in particular. They are used to represent the
      +    same hour, minute, and second value regardless of which time zone is
      +    currently being observed. For example, an event can be defined that
      +    indicates that an individual will be busy from 11:00 AM to 1:00 PM
      +    every day, no matter which time zone the person is in. In these
      +    cases, a local time can be specified. The recipient of an iCalendar
      +    object with a property value consisting of a local time, without any
      +    relative time zone information, SHOULD interpret the value as being
      +    fixed to whatever time zone the ATTENDEE is in at any given moment.
      +    This means that two ATTENDEEs, in different time zones, receiving the
      +    same event definition as a floating time, may be participating in the
      +    event at different actual times. Floating time SHOULD only be used
      +    where that is the reasonable behavior.
      + 
      +    In most cases, a fixed time is desired. To properly communicate a
      +    fixed time in a property value, either UTC time or local time with
      +    time zone reference MUST be specified.
      + 
      +    The use of local time in a DATE-TIME value without the TZID property
      +    parameter is to be interpreted as floating time, regardless of the
      +    existence of "VTIMEZONE" calendar components in the iCalendar object.
      + 
      +    FORM #2: DATE WITH UTC TIME
      + 
      +    The date with UTC time, or absolute time, is identified by a LATIN
      +    CAPITAL LETTER Z suffix character (US-ASCII decimal 90), the UTC
      +    designator, appended to the time value. For example, the following
      +    represents January 19, 1998, at 0700 UTC:
      + 
      +      DTSTART:19980119T070000Z
      + 
      +    The TZID property parameter MUST NOT be applied to DATE-TIME
      +    properties whose time values are specified in UTC.
      + 
      +    FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE
      + 
      +    The date and local time with reference to time zone information is
      +    identified by the use the TZID property parameter to reference the
      +    appropriate time zone definition. TZID is discussed in detail in the
      +    section on Time Zone. For example, the following represents 2 AM in
      +    New York on Janurary 19, 1998:
      + 
      +           DTSTART;TZID=US-Eastern:19980119T020000
      + 
      +    Example: The following represents July 14, 1997, at 1:30 PM in New
      +    York City in each of the three time formats, using the "DTSTART"
      +    property.
      + 
      +      DTSTART:19970714T133000            ;Local time
      +      DTSTART:19970714T173000Z           ;UTC time
      +      DTSTART;TZID=US-Eastern:19970714T133000    ;Local time and time
      +                         ; zone reference
      + 
      +    A time value MUST ONLY specify 60 seconds when specifying the
      +    periodic "leap second" in the time value. For example:
      + 
      +      COMPLETED:19970630T235960Z
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DateTime

          +
          public DateTime()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          DateTime

          +
          public DateTime(boolean utc)
          +
          Parameters:
          utc - indicates if the date is in UTC time
          +
        • +
        + + + +
          +
        • +

          DateTime

          +
          public DateTime(long time)
          +
          Parameters:
          time - a date-time value in milliseconds
          +
        • +
        + + + +
          +
        • +

          DateTime

          +
          public DateTime(Date date)
          +
          Parameters:
          date - a date-time value
          +
        • +
        + + + +
          +
        • +

          DateTime

          +
          public DateTime(String value)
          +         throws ParseException
          +
          Constructs a new DateTime instance from parsing the specified string + representation in the default (local) timezone.
          +
          Parameters:
          value - a string representation of a date-time
          +
          Throws:
          +
          ParseException - where the specified string is not a valid date-time
          +
        • +
        + + + +
          +
        • +

          DateTime

          +
          public DateTime(String value,
          +        TimeZone timezone)
          +         throws ParseException
          +
          Creates a new date-time instance from the specified value in the given + timezone. If a timezone is not specified, the default timezone (as + returned by TimeZone.getDefault()) is used.
          +
          Parameters:
          value - a string representation of a date-time
          timezone - the timezone for the date-time instance
          +
          Throws:
          +
          ParseException - where the specified string is not a valid date-time
          +
        • +
        + + + +
          +
        • +

          DateTime

          +
          public DateTime(String value,
          +        String pattern,
          +        TimeZone timezone)
          +         throws ParseException
          +
          Parameters:
          value - a string representation of a date-time
          pattern - a pattern to apply when parsing the date-time value
          timezone - the timezone for the date-time instance
          +
          Throws:
          +
          ParseException - where the specified string is not a valid date-time
          +
        • +
        + + + +
          +
        • +

          DateTime

          +
          public DateTime(String value,
          +        String pattern,
          +        boolean utc)
          +         throws ParseException
          +
          Parameters:
          value - a string representation of a date-time
          pattern - a pattern to apply when parsing the date-time value
          utc - indicates whether the date-time is in UTC time
          +
          Throws:
          +
          ParseException - where the specified string is not a valid date-time
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setTime

          +
          public final void setTime(long time)
          +
          +
          Overrides:
          +
          setTime in class Iso8601
          +
          +
        • +
        + + + +
          +
        • +

          isUtc

          +
          public final boolean isUtc()
          +
          Returns:
          Returns the utc.
          +
        • +
        + + + +
          +
        • +

          setUtc

          +
          public final void setUtc(boolean utc)
          +
          Updates this date-time to display in UTC time if the argument is true. + Otherwise, resets to the default timezone.
          +
          Parameters:
          utc - The utc to set.
          +
        • +
        + + + +
          +
        • +

          setTimeZone

          +
          public final void setTimeZone(TimeZone timezone)
          +
          Sets the timezone associated with this date-time instance. If the + specified timezone is null, it will reset to the default timezone. If the + date-time instance is utc, it will turn into either a floating (no + timezone) date-time, or a date-time with a timezone.
          +
          Parameters:
          timezone - a timezone to apply to the instance
          +
        • +
        + + + +
          +
        • +

          getTimeZone

          +
          public final TimeZone getTimeZone()
          +
          Returns the current timezone associated with this date-time value.
          +
          Returns:
          a Java timezone
          +
        • +
        + + + + + + + +
          +
        • +

          equals

          +
          public boolean equals(Object arg0)
          +
          +
          Overrides:
          +
          equals in class Date
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Date
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DefaultTimeZoneRegistryFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DefaultTimeZoneRegistryFactory.html new file mode 100644 index 00000000..641e9549 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/DefaultTimeZoneRegistryFactory.html @@ -0,0 +1,299 @@ + + + + + + +DefaultTimeZoneRegistryFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class DefaultTimeZoneRegistryFactory

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class DefaultTimeZoneRegistryFactory
      +extends TimeZoneRegistryFactory
      +
      $Id$ + + Created on 18/09/2005 + + Default factory implementation for timezone registries.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DefaultTimeZoneRegistryFactory

          +
          public DefaultTimeZoneRegistryFactory()
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Dur.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Dur.html new file mode 100644 index 00000000..4083cd53 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Dur.html @@ -0,0 +1,567 @@ + + + + + + +Dur (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Dur

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Comparable
      +
      +
      +
      +
      public class Dur
      +extends Object
      +implements Comparable, Serializable
      +
      $Id$ + + Created on 20/06/2005 + + Represents a duration of time in iCalendar. Note that according to RFC2445 durations represented in weeks are + mutually exclusive of other duration fields. + +
      +  4.3.6   Duration
      +  
      +     Value Name: DURATION
      +  
      +     Purpose: This value type is used to identify properties that contain
      +     a duration of time.
      +  
      +     Formal Definition: The value type is defined by the following
      +     notation:
      +  
      +       dur-value  = (["+"] / "-") "P" (dur-date / dur-time / dur-week)
      +  
      +       dur-date   = dur-day [dur-time]
      +       dur-time   = "T" (dur-hour / dur-minute / dur-second)
      +       dur-week   = 1*DIGIT "W"
      +       dur-hour   = 1*DIGIT "H" [dur-minute]
      +       dur-minute = 1*DIGIT "M" [dur-second]
      +       dur-second = 1*DIGIT "S"
      +       dur-day    = 1*DIGIT "D"
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + + + + +
        Constructors 
        Constructor and Description
        Dur(Date date1, + Date date2) +
        Constructs a new duration representing the time between the two specified dates.
        +
        Dur(int weeks) +
        Constructs a new duration from the specified weeks.
        +
        Dur(int days, + int hours, + int minutes, + int seconds) +
        Constructs a new duration from the specified arguments.
        +
        Dur(String value) +
        Constructs a new duration instance from a string representation.
        +
        +
      • +
      + + +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Dur

          +
          public Dur(String value)
          +
          Constructs a new duration instance from a string representation.
          +
          Parameters:
          value - a string representation of a duration
          +
        • +
        + + + +
          +
        • +

          Dur

          +
          public Dur(int weeks)
          +
          Constructs a new duration from the specified weeks.
          +
          Parameters:
          weeks - a duration in weeks.
          +
        • +
        + + + +
          +
        • +

          Dur

          +
          public Dur(int days,
          +   int hours,
          +   int minutes,
          +   int seconds)
          +
          Constructs a new duration from the specified arguments.
          +
          Parameters:
          days - duration in days
          hours - duration in hours
          minutes - duration in minutes
          seconds - duration in seconds
          +
        • +
        + + + +
          +
        • +

          Dur

          +
          public Dur(Date date1,
          +   Date date2)
          +
          Constructs a new duration representing the time between the two specified dates. The end date may precede the + start date in order to represent a negative duration.
          +
          Parameters:
          date1 - the first date of the duration
          date2 - the second date of the duration
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getTime

          +
          public final Date getTime(Date start)
          +
          Returns a date representing the end of this duration from the specified start date.
          +
          Parameters:
          start - the date to start the duration
          +
          Returns:
          the end of the duration as a date
          +
        • +
        + + + +
          +
        • +

          negate

          +
          public final Dur negate()
          +
          Provides a negation of this instance.
          +
          Returns:
          a Dur instance that represents a negation of this instance
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final Dur add(Dur duration)
          +
          Add two durations. Durations may only be added if they are both positive + or both negative durations.
          +
          Parameters:
          duration - the duration to add to this duration
          +
          Returns:
          a new instance representing the sum of the two durations.
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          compareTo

          +
          public final int compareTo(Dur arg0)
          +
          Compares this duration with another, acording to their length.
          +
          Parameters:
          arg0 - another duration instance
          +
          Returns:
          a postive value if this duration is longer, zero if the duration + lengths are equal, otherwise a negative value
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals(Object obj)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        + + + +
          +
        • +

          getDays

          +
          public final int getDays()
          +
          Returns:
          Returns the days.
          +
        • +
        + + + +
          +
        • +

          getHours

          +
          public final int getHours()
          +
          Returns:
          Returns the hours.
          +
        • +
        + + + +
          +
        • +

          getMinutes

          +
          public final int getMinutes()
          +
          Returns:
          Returns the minutes.
          +
        • +
        + + + +
          +
        • +

          isNegative

          +
          public final boolean isNegative()
          +
          Returns:
          Returns the negative.
          +
        • +
        + + + +
          +
        • +

          getSeconds

          +
          public final int getSeconds()
          +
          Returns:
          Returns the seconds.
          +
        • +
        + + + +
          +
        • +

          getWeeks

          +
          public final int getWeeks()
          +
          Returns:
          Returns the weeks.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Escapable.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Escapable.html new file mode 100644 index 00000000..87944acd --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Escapable.html @@ -0,0 +1,172 @@ + + + + + + +Escapable (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Interface Escapable

    +
    +
    +
    + +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/IndexedComponentList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/IndexedComponentList.html new file mode 100644 index 00000000..66d9a8dc --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/IndexedComponentList.html @@ -0,0 +1,301 @@ + + + + + + +IndexedComponentList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class IndexedComponentList

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class IndexedComponentList
      +extends Object
      +
      $Id$ + + Created on 4/02/2006 + + Provides indexing of components on a specific property.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          IndexedComponentList

          +
          public IndexedComponentList(ComponentList list,
          +                    String propertyName)
          +
          Creates a new instance indexed on properties with the specified name.
          +
          Parameters:
          list - a list of components
          propertyName - the name of the properties to index on
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getComponents

          +
          public ComponentList getComponents(String propertyValue)
          +
          Returns a list of components containing a property with the + specified value.
          +
          Parameters:
          propertyValue - the value of the property contained in the + returned components
          +
          Returns:
          a component list
          +
        • +
        + + + +
          +
        • +

          getComponent

          +
          public Component getComponent(String propertyValue)
          +
          Returns the first component containing a property with the specified + value.
          +
          Parameters:
          propertyValue - the value of the property identified in the returned + component
          +
          Returns:
          a component or null if no component is found containing a property + with the specified value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/IndexedPropertyList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/IndexedPropertyList.html new file mode 100644 index 00000000..d0f2a713 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/IndexedPropertyList.html @@ -0,0 +1,301 @@ + + + + + + +IndexedPropertyList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class IndexedPropertyList

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class IndexedPropertyList
      +extends Object
      +
      $Id$ + + Created on 4/02/2006 + + Provides indexing of properties on a specific parameter.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          IndexedPropertyList

          +
          public IndexedPropertyList(PropertyList list,
          +                   String parameterName)
          +
          Creates a new instance indexed on the parameters with the specified name.
          +
          Parameters:
          list - a list of properties
          parameterName - the name of parameters on which to index
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getProperties

          +
          public PropertyList getProperties(String paramValue)
          +
          Returns a list of properties containing a parameter with the + specified value.
          +
          Parameters:
          paramValue - the value of the parameter contained in the + returned properties
          +
          Returns:
          a property list
          +
        • +
        + + + +
          +
        • +

          getProperty

          +
          public Property getProperty(String paramValue)
          +
          Returns the first property containing a parameter with the specified + value.
          +
          Parameters:
          paramValue - the value of the parameter identified in the returned + property
          +
          Returns:
          a property or null if no property is found containing a parameter + with the specified value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Iso8601.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Iso8601.html new file mode 100644 index 00000000..8c5b1c63 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Iso8601.html @@ -0,0 +1,370 @@ + + + + + + +Iso8601 (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Iso8601

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Cloneable, Comparable<Date>
      +
      +
      +
      Direct Known Subclasses:
      +
      Date, Time
      +
      +
      +
      +
      public abstract class Iso8601
      +extends Date
      +
      $Id$ + + Created on 30/06/2005 + + Base class for date and time representations as defined + by the ISO 8601 standard. Sub-classes must ensure that either the correct + precision is used in constructor arguments, or that Object.equals() + is overridden to ensure equality checking is consistent with the type.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getFormat

          +
          protected final DateFormat getFormat()
          +
          Returns:
          Returns the format.
          +
        • +
        + + + +
          +
        • +

          setTime

          +
          public void setTime(long time)
          +
          +
          Overrides:
          +
          setTime in class Date
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/LocationTypeList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/LocationTypeList.html new file mode 100644 index 00000000..414f6d31 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/LocationTypeList.html @@ -0,0 +1,370 @@ + + + + + + +LocationTypeList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class LocationTypeList

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class LocationTypeList
      +extends Object
      +implements Serializable
      +
      $Id LocationTypeList.java $ [23-Apr-2004] + + Defines a list of iCalendar location types.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          LocationTypeList

          +
          public LocationTypeList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          LocationTypeList

          +
          public LocationTypeList(String aValue)
          +
          Parses the specified string representation to create a list of categories.
          +
          Parameters:
          aValue - a string representation of a list of categories
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          add

          +
          public final boolean add(String locationType)
          +
          Add a location type to the list.
          +
          Parameters:
          locationType - the location type to add
          +
          Returns:
          true if the object is added successfully
          See Also:
          List.add(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          isEmpty

          +
          public final boolean isEmpty()
          +
          Returns:
          boolean indicates if the list is empty
          See Also:
          List.isEmpty()
          +
        • +
        + + + + + + + +
          +
        • +

          remove

          +
          public final boolean remove(String locationType)
          +
          Remove a locationType from the list.
          +
          Parameters:
          locationType - the location type to remove
          +
          Returns:
          true if the list contained the specified category
          See Also:
          List.remove(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          size

          +
          public final int size()
          +
          Returns:
          the number of categories in the list
          See Also:
          List.size()
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/NumberList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/NumberList.html new file mode 100644 index 00000000..e6412ea4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/NumberList.html @@ -0,0 +1,446 @@ + + + + + + +NumberList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class NumberList

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          NumberList

          +
          public NumberList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          NumberList

          +
          public NumberList(int minValue,
          +          int maxValue,
          +          boolean allowsNegativeValues)
          +
          Constructor with limits.
          +
          Parameters:
          minValue - the minimum allowable value
          maxValue - the maximum allowable value
          allowsNegativeValues - indicates whether negative values are allowed
          +
        • +
        + + + +
          +
        • +

          NumberList

          +
          public NumberList(String aString)
          +
          Constructor.
          +
          Parameters:
          aString - a string representation of a number list
          +
        • +
        + + + +
          +
        • +

          NumberList

          +
          public NumberList(String aString,
          +          int minValue,
          +          int maxValue,
          +          boolean allowsNegativeValues)
          +
          Parameters:
          aString - a string representation of a number list
          minValue - the minimum allowable value
          maxValue - the maximum allowable value
          allowsNegativeValues - indicates whether negative values are allowed
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          add

          +
          public final boolean add(Integer aNumber)
          +
          Parameters:
          aNumber - a number to add to the list
          +
          Returns:
          true if the number was added, otherwise false
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Object arg0)
          +
          Overrides superclass to throw an IllegalArgumentException + where argument is not a java.lang.Integer.
          +
          +
          Specified by:
          +
          add in interface Collection
          +
          Specified by:
          +
          add in interface List
          +
          Overrides:
          +
          add in class ArrayList
          +
          Parameters:
          arg0 - an object to add
          +
          Returns:
          true if the object was added, otherwise false
          See Also:
          List.add(Object)
          +
        • +
        + + + +
          +
        • +

          remove

          +
          public final boolean remove(Integer aNumber)
          +
          Parameters:
          aNumber - a number to remove from the list
          +
          Returns:
          true if the number was removed, otherwise false
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Parameter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Parameter.html new file mode 100644 index 00000000..3139b081 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Parameter.html @@ -0,0 +1,849 @@ + + + + + + +Parameter (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Parameter

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactory.html new file mode 100644 index 00000000..a2687483 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactory.html @@ -0,0 +1,238 @@ + + + + + + +ParameterFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Interface ParameterFactory

    +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + +
        Methods 
        Modifier and TypeMethod and Description
        ParametercreateParameter(String name, + String value) +
        Returns a parameter instance of the appropriate type with the specified value.
        +
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          createParameter

          +
          Parameter createParameter(String name,
          +                        String value)
          +                          throws URISyntaxException
          +
          Returns a parameter instance of the appropriate type with the specified value.
          +
          Parameters:
          name - a parameter names that identifies the parameter type
          value - a value to assign to the returned parameter
          +
          Returns:
          a parameter instance, or null if this factory is unable to create an + appropriate parameter
          +
          Throws:
          +
          URISyntaxException - where an invalid URI is encountered
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryImpl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryImpl.html new file mode 100644 index 00000000..35ad866b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryImpl.html @@ -0,0 +1,317 @@ + + + + + + +ParameterFactoryImpl (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class ParameterFactoryImpl

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ParameterFactoryImpl

          +
          protected ParameterFactoryImpl()
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryRegistry.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryRegistry.html new file mode 100644 index 00000000..4f8d0260 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterFactoryRegistry.html @@ -0,0 +1,292 @@ + + + + + + +ParameterFactoryRegistry (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class ParameterFactoryRegistry

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ParameterFactoryRegistry

          +
          public ParameterFactoryRegistry()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          register

          +
          public void register(String name,
          +            ParameterFactory factory)
          +
          Parameters:
          name - a non-standard parameter name
          factory - a factory for the non-standard parameter
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterList.html new file mode 100644 index 00000000..2b66438b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ParameterList.html @@ -0,0 +1,499 @@ + + + + + + +ParameterList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class ParameterList

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class ParameterList
      +extends Object
      +implements Serializable
      +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar parameters. A parameter list may be specified as unmodifiable at instantiation - useful + for constant properties that you don't want modified.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ParameterList

          +
          public ParameterList()
          +
          Default constructor. Creates a modifiable parameter list.
          +
        • +
        + + + +
          +
        • +

          ParameterList

          +
          public ParameterList(boolean unmodifiable)
          +
          Constructor.
          +
          Parameters:
          unmodifiable - indicates whether the list should be mutable
          +
        • +
        + + + +
          +
        • +

          ParameterList

          +
          public ParameterList(ParameterList list,
          +             boolean unmodifiable)
          +              throws URISyntaxException
          +
          Creates a deep copy of the specified parameter list. That is, copies of all parameters in the specified list are + added to this list.
          +
          Parameters:
          list - a parameter list to copy parameters from
          unmodifiable - indicates whether the list should be mutable
          +
          Throws:
          +
          URISyntaxException - where a parameter in the list specifies an invalid URI value
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getParameter

          +
          public final Parameter getParameter(String aName)
          +
          Returns the first parameter with the specified name.
          +
          Parameters:
          aName - name of the parameter
          +
          Returns:
          the first matching parameter or null if no matching parameters
          +
        • +
        + + + +
          +
        • +

          getParameters

          +
          public final ParameterList getParameters(String name)
          +
          Returns a list of parameters with the specified name.
          +
          Parameters:
          name - name of parameters to return
          +
          Returns:
          a parameter list
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Parameter parameter)
          +
          Add a parameter to the list. Note that this method will not remove existing parameters of the same type. To + achieve this use {
          +
          Parameters:
          parameter - the parameter to add
          +
          Returns:
          true
          See Also:
          List.add(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          replace

          +
          public final boolean replace(Parameter parameter)
          +
          Replace any parameters of the same type with the one specified.
          +
          Parameters:
          parameter - parameter to add to this list in place of all others with the same name
          +
          Returns:
          true if successfully added to this list
          +
        • +
        + + + +
          +
        • +

          isEmpty

          +
          public final boolean isEmpty()
          +
          Returns:
          boolean indicates if the list is empty
          See Also:
          List.isEmpty()
          +
        • +
        + + + + + + + +
          +
        • +

          remove

          +
          public final boolean remove(Parameter parameter)
          +
          Remove a parameter from the list.
          +
          Parameters:
          parameter - the parameter to remove
          +
          Returns:
          true if the list contained the specified parameter
          See Also:
          List.remove(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          removeAll

          +
          public final void removeAll(String paramName)
          +
          Remove all parameters with the specified name.
          +
          Parameters:
          paramName - the name of parameters to remove
          +
        • +
        + + + +
          +
        • +

          size

          +
          public final int size()
          +
          Returns:
          the number of parameters in the list
          See Also:
          List.size()
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public final boolean equals(Object arg0)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public final int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Period.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Period.html new file mode 100644 index 00000000..2a54908c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Period.html @@ -0,0 +1,589 @@ + + + + + + +Period (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Period

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Comparable
      +
      +
      +
      +
      public class Period
      +extends DateRange
      +implements Comparable
      +
      $Id$ [Apr 14, 2004] + + Defines a period of time. A period may be specified as either a start date + and end date, or a start date and duration. NOTE: End dates and durations are + implicitly derived when not explicitly specified. This means that you cannot + rely on the returned values from the getters to deduce whether a period has + an explicit end date or duration.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Period

          +
          public Period(String aValue)
          +       throws ParseException
          +
          Constructor.
          +
          Parameters:
          aValue - a string representation of a period
          +
          Throws:
          +
          ParseException - where the specified string is not a valid representation
          +
        • +
        + + + +
          +
        • +

          Period

          +
          public Period(DateTime start,
          +      DateTime end)
          +
          Constructs a new period with the specied start and end date.
          +
          Parameters:
          start - the start date of the period
          end - the end date of the period
          +
        • +
        + + + +
          +
        • +

          Period

          +
          public Period(DateTime start,
          +      Dur duration)
          +
          Constructs a new period with the specified start date and duration.
          +
          Parameters:
          start - the start date of the period
          duration - the duration of the period
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDuration

          +
          public final Dur getDuration()
          +
          Returns the duration of this period. If an explicit duration is not + specified, the duration is derived from the end date.
          +
          Returns:
          the duration of this period in milliseconds.
          +
        • +
        + + + +
          +
        • +

          getEnd

          +
          public final DateTime getEnd()
          +
          Returns the end date of this period. If an explicit end date is not + specified, the end date is derived from the duration.
          +
          Returns:
          the end date of this period.
          +
        • +
        + + + +
          +
        • +

          getStart

          +
          public final DateTime getStart()
          +
          Returns:
          Returns the start.
          +
        • +
        + + + +
          +
        • +

          includes

          +
          public final boolean includes(Date date,
          +               boolean inclusive)
          +
          Deprecated. use DateRange.includes(Date, int) instead.
          +
          Parameters:
          date - a date to test for inclusion
          inclusive - indicates if the start and end of the period are included in the test
          +
          Returns:
          true if the specified date occurs within the current period
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final Period add(Period period)
          +
          Creates a period that encompasses both this period and another one. If + the other period is null, return a copy of this period. NOTE: Resulting + periods are specified by explicitly setting a start date and end date + (i.e. durations are implied).
          +
          Parameters:
          period - the period to add to this one
          +
          Returns:
          a period
          +
        • +
        + + + +
          +
        • +

          subtract

          +
          public final PeriodList subtract(Period period)
          +
          Creates a set of periods resulting from the subtraction of the specified + period from this one. If the specified period is completely contained + in this period, the resulting list will contain two periods. Otherwise + it will contain one. If the specified period does not interest this period + a list containing this period is returned. If this period is completely + contained within the specified period an empty period list is returned.
          +
          Parameters:
          period - a period to subtract from this one
          +
          Returns:
          a list containing zero, one or two periods.
          +
        • +
        + + + +
          +
        • +

          isEmpty

          +
          public final boolean isEmpty()
          +
          An empty period is one that consumes no time.
          +
          Returns:
          true if this period consumes no time, otherwise false
          +
        • +
        + + + +
          +
        • +

          setUtc

          +
          public void setUtc(boolean utc)
          +
          Updates the start and (possible) end times of this period to reflect + the specified UTC timezone status.
          +
          Parameters:
          utc - indicates whether the period is in UTC time
          +
        • +
        + + + +
          +
        • +

          setTimeZone

          +
          public final void setTimeZone(TimeZone timezone)
          +
          Updates the start and (possible) end times of this period to reflect + the specified timezone status.
          +
          Parameters:
          timezone - a timezone for the period
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          compareTo

          +
          public final int compareTo(Period arg0)
          +
          Compares the specified period with this period.
          +
          Parameters:
          arg0 - a period to compare with this one
          +
          Returns:
          a postive value if this period is greater, negative if the other is + greater, or zero if they are equal
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public final boolean equals(Object o)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public final int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PeriodList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PeriodList.html new file mode 100644 index 00000000..8572e403 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PeriodList.html @@ -0,0 +1,804 @@ + + + + + + +PeriodList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class PeriodList

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Iterable, Collection, Set
      +
      +
      +
      +
      public class PeriodList
      +extends Object
      +implements Set, Serializable
      +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar periods. NOTE: By implementing the + java.util.SortedSet interface period lists will always be + sorted according to natural ordering.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PeriodList

          +
          public PeriodList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          PeriodList

          +
          public PeriodList(boolean utc)
          +
          Parameters:
          utc - indicates whether the period list is in UTC time
          +
        • +
        + + + +
          +
        • +

          PeriodList

          +
          public PeriodList(boolean utc,
          +          boolean unmodifiable)
          +
          Parameters:
          utc - indicates whether the period list is in UTC time
          +
        • +
        + + + +
          +
        • +

          PeriodList

          +
          public PeriodList(String aValue)
          +           throws ParseException
          +
          Parses the specified string representation to create a list of periods.
          +
          Parameters:
          aValue - a string representation of a list of periods
          +
          Throws:
          +
          ParseException - thrown when an invalid string representation of a period list + is specified
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          add

          +
          public final boolean add(Period period)
          +
          Add a period to the list.
          +
          Parameters:
          period - the period to add
          +
          Returns:
          true
          See Also:
          List.add(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Object period)
          +
          Overrides superclass to throw an IllegalArgumentException + where argument is not a net.fortuna.ical4j.model.Period.
          +
          +
          Specified by:
          +
          add in interface Collection
          +
          Specified by:
          +
          add in interface Set
          +
          Parameters:
          period - a period to add to the list
          +
          Returns:
          true if the period was added, otherwise false
          See Also:
          List.add(Object)
          +
        • +
        + + + +
          +
        • +

          remove

          +
          public final boolean remove(Period period)
          +
          Remove a period from the list.
          +
          Parameters:
          period - the period to remove
          +
          Returns:
          true if the list contained the specified period
          See Also:
          List.remove(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          normalise

          +
          public final PeriodList normalise()
          +
          Returns a normalised version of this period list. Normalisation includes + combining overlapping periods, removing periods contained by other + periods, combining adjacent periods, and removing periods that consume + no time. NOTE: If the period list is + already normalised then this period list is returned.
          +
          Returns:
          a period list
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final PeriodList add(PeriodList periods)
          +
          A convenience method that combines all the periods in the specified list to + this list. The result returned is a new PeriodList instance, except where + no periods are specified in the arguments. In such cases this instance is returned. + + Normalisation is also performed automatically after all periods have been added.
          +
          Parameters:
          periods - a list of periods to add
          +
          Returns:
          a period list instance
          +
        • +
        + + + +
          +
        • +

          subtract

          +
          public final PeriodList subtract(PeriodList subtractions)
          +
          Subtracts the intersection of this list with the specified list of + periods from this list and returns the results as a new period list. If + no intersection is identified this list is returned.
          +
          Parameters:
          subtractions - a list of periods to subtract from this list
          +
          Returns:
          a period list
          +
        • +
        + + + +
          +
        • +

          isUnmodifiable

          +
          public final boolean isUnmodifiable()
          +
        • +
        + + + +
          +
        • +

          isUtc

          +
          public final boolean isUtc()
          +
          Indicates whether this list is in local or UTC format.
          +
          Returns:
          Returns true if in UTC format, otherwise false.
          +
        • +
        + + + +
          +
        • +

          setUtc

          +
          public final void setUtc(boolean utc)
          +
          Sets whether this list is in UTC or local time format.
          +
          Parameters:
          utc - The utc to set.
          +
        • +
        + + + +
          +
        • +

          setTimeZone

          +
          public final void setTimeZone(TimeZone timeZone)
          +
          Applies the specified timezone to all dates in the list. + All dates added to this list will also have this timezone + applied.
          +
          Parameters:
          timeZone - the timezone for the period list
          +
        • +
        + + + +
          +
        • +

          getTimeZone

          +
          public final TimeZone getTimeZone()
          +
          Returns:
          Returns the timeZone.
          +
        • +
        + + + + + + + +
          +
        • +

          clear

          +
          public final void clear()
          +
          +
          Specified by:
          +
          clear in interface Collection
          +
          Specified by:
          +
          clear in interface Set
          +
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          isEmpty

          +
          public final boolean isEmpty()
          +
          +
          Specified by:
          +
          isEmpty in interface Collection
          +
          Specified by:
          +
          isEmpty in interface Set
          +
          +
        • +
        + + + + + + + + + + + + + + + + + + + +
          +
        • +

          size

          +
          public final int size()
          +
          +
          Specified by:
          +
          size in interface Collection
          +
          Specified by:
          +
          size in interface Set
          +
          +
        • +
        + + + + + + + + + + + + + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Property.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Property.html new file mode 100644 index 00000000..e8cfed71 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Property.html @@ -0,0 +1,1542 @@ + + + + + + +Property (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Property

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactory.html new file mode 100644 index 00000000..6efe5a88 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactory.html @@ -0,0 +1,255 @@ + + + + + + +PropertyFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Interface PropertyFactory

    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryImpl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryImpl.html new file mode 100644 index 00000000..5b68ab69 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryImpl.html @@ -0,0 +1,339 @@ + + + + + + +PropertyFactoryImpl (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class PropertyFactoryImpl

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryRegistry.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryRegistry.html new file mode 100644 index 00000000..c0942d08 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyFactoryRegistry.html @@ -0,0 +1,292 @@ + + + + + + +PropertyFactoryRegistry (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class PropertyFactoryRegistry

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PropertyFactoryRegistry

          +
          public PropertyFactoryRegistry()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          register

          +
          public void register(String name,
          +            PropertyFactory factory)
          +
          Parameters:
          name - a non-standard property name
          factory - a factory for the non-standard property
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyList.html new file mode 100644 index 00000000..6c376daa --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/PropertyList.html @@ -0,0 +1,472 @@ + + + + + + +PropertyList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class PropertyList

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PropertyList

          +
          public PropertyList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          PropertyList

          +
          public PropertyList(int initialCapacity)
          +
          Creates a new instance with the specified initial capacity.
          +
          Parameters:
          initialCapacity - the initial capacity of the list
          +
        • +
        + + + + +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getProperty

          +
          public final Property getProperty(String aName)
          +
          Returns the first property of specified name.
          +
          Parameters:
          aName - name of property to return
          +
          Returns:
          a property or null if no matching property found
          +
        • +
        + + + +
          +
        • +

          getProperties

          +
          public final PropertyList getProperties(String name)
          +
          Returns a list of properties with the specified name.
          +
          Parameters:
          name - name of properties to return
          +
          Returns:
          a property list
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Property property)
          +
          Add a property to the list.
          +
          Parameters:
          property - the property to add
          +
          Returns:
          true
          See Also:
          List.add(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Object property)
          +
          Overrides superclass to throw an IllegalArgumentException where argument is not a + net.fortuna.ical4j.model.Property.
          +
          +
          Specified by:
          +
          add in interface Collection
          +
          Specified by:
          +
          add in interface List
          +
          Overrides:
          +
          add in class ArrayList
          +
          Parameters:
          property - a property to add
          +
          Returns:
          true if the property is added, otherwise false
          See Also:
          List.add(Object)
          +
        • +
        + + + +
          +
        • +

          remove

          +
          public final boolean remove(Property property)
          +
          Remove a property from the list.
          +
          Parameters:
          property - the property to remove
          +
          Returns:
          true if the list contained the specified property
          See Also:
          List.remove(java.lang.Object)
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Recur.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Recur.html new file mode 100644 index 00000000..ad77182f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Recur.html @@ -0,0 +1,901 @@ + + + + + + +Recur (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Recur

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Recur
      +extends Object
      +implements Serializable
      +
      $Id$ [18-Apr-2004] + + Defines a recurrence.
      +
      Version:
      +
      2.0
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Recur

          +
          public Recur()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Recur

          +
          public Recur(String aValue)
          +      throws ParseException
          +
          Constructs a new instance from the specified string value.
          +
          Parameters:
          aValue - a string representation of a recurrence.
          +
          Throws:
          +
          ParseException - thrown when the specified string contains an invalid representation of an UNTIL date value
          +
        • +
        + + + +
          +
        • +

          Recur

          +
          public Recur(String frequency,
          +     Date until)
          +
          Parameters:
          frequency - a recurrence frequency string
          until - maximum recurrence date
          +
        • +
        + + + +
          +
        • +

          Recur

          +
          public Recur(String frequency,
          +     int count)
          +
          Parameters:
          frequency - a recurrence frequency string
          count - maximum recurrence count
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDayList

          +
          public final WeekDayList getDayList()
          +
          Returns:
          Returns the dayList.
          +
        • +
        + + + +
          +
        • +

          getHourList

          +
          public final NumberList getHourList()
          +
          Returns:
          Returns the hourList.
          +
        • +
        + + + +
          +
        • +

          getMinuteList

          +
          public final NumberList getMinuteList()
          +
          Returns:
          Returns the minuteList.
          +
        • +
        + + + +
          +
        • +

          getMonthDayList

          +
          public final NumberList getMonthDayList()
          +
          Returns:
          Returns the monthDayList.
          +
        • +
        + + + +
          +
        • +

          getMonthList

          +
          public final NumberList getMonthList()
          +
          Returns:
          Returns the monthList.
          +
        • +
        + + + +
          +
        • +

          getSecondList

          +
          public final NumberList getSecondList()
          +
          Returns:
          Returns the secondList.
          +
        • +
        + + + +
          +
        • +

          getSetPosList

          +
          public final NumberList getSetPosList()
          +
          Returns:
          Returns the setPosList.
          +
        • +
        + + + +
          +
        • +

          getWeekNoList

          +
          public final NumberList getWeekNoList()
          +
          Returns:
          Returns the weekNoList.
          +
        • +
        + + + +
          +
        • +

          getYearDayList

          +
          public final NumberList getYearDayList()
          +
          Returns:
          Returns the yearDayList.
          +
        • +
        + + + +
          +
        • +

          getCount

          +
          public final int getCount()
          +
          Returns:
          Returns the count or -1 if the rule does not have a count.
          +
        • +
        + + + +
          +
        • +

          getExperimentalValues

          +
          public final Map getExperimentalValues()
          +
          Returns:
          Returns the experimentalValues.
          +
        • +
        + + + +
          +
        • +

          getFrequency

          +
          public final String getFrequency()
          +
          Returns:
          Returns the frequency.
          +
        • +
        + + + +
          +
        • +

          getInterval

          +
          public final int getInterval()
          +
          Returns:
          Returns the interval or -1 if the rule does not have an interval defined.
          +
        • +
        + + + +
          +
        • +

          getUntil

          +
          public final Date getUntil()
          +
          Returns:
          Returns the until or null if there is none.
          +
        • +
        + + + +
          +
        • +

          getWeekStartDay

          +
          public final String getWeekStartDay()
          +
          Returns:
          Returns the weekStartDay or null if there is none.
          +
        • +
        + + + +
          +
        • +

          setWeekStartDay

          +
          public final void setWeekStartDay(String weekStartDay)
          +
          Parameters:
          weekStartDay - The weekStartDay to set.
          +
        • +
        + + + + + + + +
          +
        • +

          getDates

          +
          public final DateList getDates(Date periodStart,
          +                Date periodEnd,
          +                Value value)
          +
          Returns a list of start dates in the specified period represented by this recur. Any date fields not specified by + this recur are retained from the period start, and as such you should ensure the period start is initialised + correctly.
          +
          Parameters:
          periodStart - the start of the period
          periodEnd - the end of the period
          value - the type of dates to generate (i.e. date/date-time)
          +
          Returns:
          a list of dates
          +
        • +
        + + + +
          +
        • +

          getDates

          +
          public final DateList getDates(Date seed,
          +                Period period,
          +                Value value)
          +
          Convenience method for retrieving recurrences in a specified period.
          +
          Parameters:
          seed - a seed date for generating recurrence instances
          period - the period of returned recurrence dates
          value - type of dates to generate
          +
          Returns:
          a list of dates
          +
        • +
        + + + +
          +
        • +

          getDates

          +
          public final DateList getDates(Date seed,
          +                Date periodStart,
          +                Date periodEnd,
          +                Value value)
          +
          Returns a list of start dates in the specified period represented by this recur. This method includes a base date + argument, which indicates the start of the fist occurrence of this recurrence. The base date is used to inject + default values to return a set of dates in the correct format. For example, if the search start date (start) is + Wed, Mar 23, 12:19PM, but the recurrence is Mon - Fri, 9:00AM - 5:00PM, the start dates returned should all be at + 9:00AM, and not 12:19PM.
          +
          Parameters:
          seed - the start date of this Recurrence's first instance
          periodStart - the start of the period
          periodEnd - the end of the period
          value - the type of dates to generate (i.e. date/date-time)
          +
          Returns:
          a list of dates represented by this recur instance
          +
        • +
        + + + +
          +
        • +

          getDates

          +
          public final DateList getDates(Date seed,
          +                Date periodStart,
          +                Date periodEnd,
          +                Value value,
          +                int maxCount)
          +
          Returns a list of start dates in the specified period represented by this recur. This method includes a base date + argument, which indicates the start of the fist occurrence of this recurrence. The base date is used to inject + default values to return a set of dates in the correct format. For example, if the search start date (start) is + Wed, Mar 23, 12:19PM, but the recurrence is Mon - Fri, 9:00AM - 5:00PM, the start dates returned should all be at + 9:00AM, and not 12:19PM.
          +
          Parameters:
          seed - the start date of this Recurrence's first instance
          periodStart - the start of the period
          periodEnd - the end of the period
          value - the type of dates to generate (i.e. date/date-time)
          maxCount - limits the number of instances returned. Up to one years + worth extra may be returned. Less than 0 means no limit
          +
          Returns:
          a list of dates represented by this recur instance
          +
        • +
        + + + +
          +
        • +

          getNextDate

          +
          public final Date getNextDate(Date seed,
          +               Date startDate)
          +
          Returns the the next date of this recurrence given a seed date + and start date. The seed date indicates the start of the fist + occurrence of this recurrence. The start date is the + starting date to search for the next recurrence. Return null + if there is no occurrence date after start date.
          +
          Parameters:
          seed - the start date of this Recurrence's first instance
          startDate - the date to start the search
          +
          Returns:
          the next date in the recurrence series after startDate
          +
        • +
        + + + +
          +
        • +

          setCount

          +
          public final void setCount(int count)
          +
          Parameters:
          count - The count to set.
          +
        • +
        + + + +
          +
        • +

          setFrequency

          +
          public final void setFrequency(String frequency)
          +
          Parameters:
          frequency - The frequency to set.
          +
        • +
        + + + +
          +
        • +

          setInterval

          +
          public final void setInterval(int interval)
          +
          Parameters:
          interval - The interval to set.
          +
        • +
        + + + +
          +
        • +

          setUntil

          +
          public final void setUntil(Date until)
          +
          Parameters:
          until - The until to set.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TextList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TextList.html new file mode 100644 index 00000000..0c90e534 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TextList.html @@ -0,0 +1,383 @@ + + + + + + +TextList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class TextList

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class TextList
      +extends Object
      +implements Serializable
      +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar text elements.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TextList

          +
          public TextList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          TextList

          +
          public TextList(String aValue)
          +
          Parses the specified string representation to create a list of categories.
          +
          Parameters:
          aValue - a string representation of a list of categories
          +
        • +
        + + + +
          +
        • +

          TextList

          +
          public TextList(String[] textValues)
          +
          Parameters:
          textValues - an array of text values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          add

          +
          public final boolean add(String text)
          +
          Add an address to the list.
          +
          Parameters:
          text - the category to add
          +
          Returns:
          true
          See Also:
          List.add(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          isEmpty

          +
          public final boolean isEmpty()
          +
          Returns:
          boolean indicates if the list is empty
          See Also:
          List.isEmpty()
          +
        • +
        + + + + + + + +
          +
        • +

          remove

          +
          public final boolean remove(String text)
          +
          Remove a text from the list.
          +
          Parameters:
          text - the text element to remove
          +
          Returns:
          true if the list contained the specified text element
          See Also:
          List.remove(java.lang.Object)
          +
        • +
        + + + +
          +
        • +

          size

          +
          public final int size()
          +
          Returns:
          the number of text elements in the list
          See Also:
          List.size()
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Time.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Time.html new file mode 100644 index 00000000..5047df35 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Time.html @@ -0,0 +1,413 @@ + + + + + + +Time (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class Time

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Time

          +
          public Time(TimeZone timezone)
          +
          Parameters:
          timezone - a timezone for the instance
          +
        • +
        + + + +
          +
        • +

          Time

          +
          public Time(TimeZone timezone,
          +    boolean utc)
          +
          Parameters:
          timezone - a timezone for the instance
          utc - indicates if the time is in UTC
          +
        • +
        + + + +
          +
        • +

          Time

          +
          public Time(long time,
          +    TimeZone timezone)
          +
          Parameters:
          time - a time value in milliseconds from the epoch
          timezone - a timezone for the instance
          +
        • +
        + + + +
          +
        • +

          Time

          +
          public Time(long time,
          +    TimeZone timezone,
          +    boolean utc)
          +
          Parameters:
          time - a time value in milliseconds from the epoch
          timezone - a timezone for the instance
          utc - indicates if the time is in UTC
          +
        • +
        + + + +
          +
        • +

          Time

          +
          public Time(Date time,
          +    TimeZone timezone)
          +
          Parameters:
          time - a time value in milliseconds from the epoch
          timezone - a timezone for the instance
          +
        • +
        + + + +
          +
        • +

          Time

          +
          public Time(Date time,
          +    TimeZone timezone,
          +    boolean utc)
          +
          Parameters:
          time - a time value as a Java date instance
          timezone - a timezone for the instance
          utc - indicates if the time is in UTC
          +
        • +
        + + + + + + + +
          +
        • +

          Time

          +
          public Time(String value,
          +    TimeZone timezone,
          +    boolean utc)
          +     throws ParseException
          +
          Parameters:
          value -
          timezone -
          utc -
          +
          Throws:
          +
          ParseException - where the specified value is not a valid time string
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isUtc

          +
          public final boolean isUtc()
          +
          Returns:
          true if time is utc
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZone.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZone.html new file mode 100644 index 00000000..2eab74df --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZone.html @@ -0,0 +1,457 @@ + + + + + + +TimeZone (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class TimeZone

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Cloneable
      +
      +
      +
      +
      public class TimeZone
      +extends TimeZone
      +
      $Id$ + + Created on 13/09/2005 + + A Java timezone implementation based on an underlying VTimeZone + definition.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TimeZone

          +
          public TimeZone(VTimeZone vTimeZone)
          +
          Constructs a new instance based on the specified VTimeZone.
          +
          Parameters:
          vTimeZone - a VTIMEZONE object instance
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getOffset

          +
          public final int getOffset(int era,
          +            int year,
          +            int month,
          +            int day,
          +            int dayOfWeek,
          +            int milliseconds)
          +
          +
          Specified by:
          +
          getOffset in class TimeZone
          +
          +
        • +
        + + + +
          +
        • +

          getOffset

          +
          public int getOffset(long date)
          +
          +
          Overrides:
          +
          getOffset in class TimeZone
          +
          +
        • +
        + + + +
          +
        • +

          getRawOffset

          +
          public final int getRawOffset()
          +
          +
          Specified by:
          +
          getRawOffset in class TimeZone
          +
          +
        • +
        + + + +
          +
        • +

          inDaylightTime

          +
          public final boolean inDaylightTime(Date date)
          +
          Determines if the specified date is in daylight time according to + this timezone. This is done by finding the latest supporting + observance for the specified date and identifying whether it is + daylight time.
          +
          +
          Specified by:
          +
          inDaylightTime in class TimeZone
          +
          Parameters:
          date - a date instance
          +
          Returns:
          true if the specified date is in daylight time, otherwise false
          +
        • +
        + + + +
          +
        • +

          setRawOffset

          +
          public final void setRawOffset(int offsetMillis)
          +
          +
          Specified by:
          +
          setRawOffset in class TimeZone
          +
          +
        • +
        + + + +
          +
        • +

          useDaylightTime

          +
          public final boolean useDaylightTime()
          +
          +
          Specified by:
          +
          useDaylightTime in class TimeZone
          +
          +
        • +
        + + + +
          +
        • +

          getVTimeZone

          +
          public final VTimeZone getVTimeZone()
          +
          Returns:
          Returns the VTimeZone backing this instance.
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals(Object o)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistry.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistry.html new file mode 100644 index 00000000..ad91bf0d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistry.html @@ -0,0 +1,285 @@ + + + + + + +TimeZoneRegistry (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Interface TimeZoneRegistry

    +
    +
    +
    +
      +
    • +
      +
      All Known Implementing Classes:
      +
      TimeZoneRegistryImpl
      +
      +
      +
      +
      public interface TimeZoneRegistry
      +
      $Id$ + + Created on 18/09/2005 + + Implementors provide a list of timezone definitions applicable for use + with iCalendar objects.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + +
        Methods 
        Modifier and TypeMethod and Description
        voidclear() +
        Clears all registered timezones.
        +
        TimeZonegetTimeZone(String id) +
        Returns a timezone with the specified identifier.
        +
        voidregister(TimeZone timezone) +
        Registers a new timezone for use with iCalendar objects.
        +
        voidregister(TimeZone timezone, + boolean update) +
        Registers a new timezone for use with iCalendar objects.
        +
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          register

          +
          void register(TimeZone timezone)
          +
          Registers a new timezone for use with iCalendar objects. If a timezone + with the same identifier is already registered this timezone will take + precedence.
          +
          Parameters:
          timezone - a timezone to be registered for use with iCalendar + objects
          +
        • +
        + + + +
          +
        • +

          register

          +
          void register(TimeZone timezone,
          +            boolean update)
          +
          Registers a new timezone for use with iCalendar objects. If a timezone + with the same identifier is already registered this timezone will take + precedence.
          +
          Parameters:
          timezone - a timezone to be registered for use with iCalendar + objects
          update - attempt to update the definition from any specified TZURL + property if true
          +
        • +
        + + + +
          +
        • +

          clear

          +
          void clear()
          +
          Clears all registered timezones.
          +
        • +
        + + + +
          +
        • +

          getTimeZone

          +
          TimeZone getTimeZone(String id)
          +
          Returns a timezone with the specified identifier.
          +
          Parameters:
          id - a timezone identifier
          +
          Returns:
          a timezone matching the specified identifier. If no timezone + is registered with the specified identifier null is returned.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryFactory.html new file mode 100644 index 00000000..5c25e04d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryFactory.html @@ -0,0 +1,332 @@ + + + + + + +TimeZoneRegistryFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class TimeZoneRegistryFactory

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      DefaultTimeZoneRegistryFactory
      +
      +
      +
      +
      public abstract class TimeZoneRegistryFactory
      +extends Object
      +
      $Id$ + + Created on 18/09/2005 + + Provides access to the configured TimeZoneRegistry instance. + Alternative factory implementations may be specified via the following + system property: +
      net.fortuna.ical4j.timezone.registry=<factory_class_name>
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          KEY_FACTORY_CLASS

          +
          public static final String KEY_FACTORY_CLASS
          +
          The system property used to specify an alternate + TimeZoneRegistryFactory implementation.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TimeZoneRegistryFactory

          +
          public TimeZoneRegistryFactory()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          createRegistry

          +
          public abstract TimeZoneRegistry createRegistry()
          +
          Returns a new instance of the configured TimeZoneRegistry.
          +
          Returns:
          a timezone registry instance
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryImpl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryImpl.html new file mode 100644 index 00000000..1debb91e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/TimeZoneRegistryImpl.html @@ -0,0 +1,368 @@ + + + + + + +TimeZoneRegistryImpl (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class TimeZoneRegistryImpl

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      TimeZoneRegistry
      +
      +
      +
      +
      public class TimeZoneRegistryImpl
      +extends Object
      +implements TimeZoneRegistry
      +
      $Id$ + + Created on 18/09/2005 + + The default implementation of a TimeZoneRegistry. This implementation will search the classpath for + applicable VTimeZone definitions used to back the provided TimeZone instances.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TimeZoneRegistryImpl

          +
          public TimeZoneRegistryImpl()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          TimeZoneRegistryImpl

          +
          public TimeZoneRegistryImpl(String resourcePrefix)
          +
          Creates a new instance using the specified resource prefix.
          +
          Parameters:
          resourcePrefix - a prefix prepended to classpath resource lookups for default timezones
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          register

          +
          public final void register(TimeZone timezone)
          +
          Registers a new timezone for use with iCalendar objects. If a timezone + with the same identifier is already registered this timezone will take + precedence.
          +
          +
          Specified by:
          +
          register in interface TimeZoneRegistry
          +
          Parameters:
          timezone - a timezone to be registered for use with iCalendar + objects
          +
        • +
        + + + +
          +
        • +

          register

          +
          public final void register(TimeZone timezone,
          +            boolean update)
          +
          Registers a new timezone for use with iCalendar objects. If a timezone + with the same identifier is already registered this timezone will take + precedence.
          +
          +
          Specified by:
          +
          register in interface TimeZoneRegistry
          +
          Parameters:
          timezone - a timezone to be registered for use with iCalendar + objects
          update - attempt to update the definition from any specified TZURL + property if true
          +
        • +
        + + + +
          +
        • +

          clear

          +
          public final void clear()
          +
          Clears all registered timezones.
          +
          +
          Specified by:
          +
          clear in interface TimeZoneRegistry
          +
          +
        • +
        + + + +
          +
        • +

          getTimeZone

          +
          public final TimeZone getTimeZone(String id)
          +
          Returns a timezone with the specified identifier.
          +
          +
          Specified by:
          +
          getTimeZone in interface TimeZoneRegistry
          +
          Parameters:
          id - a timezone identifier
          +
          Returns:
          a timezone matching the specified identifier. If no timezone + is registered with the specified identifier null is returned.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/UtcOffset.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/UtcOffset.html new file mode 100644 index 00000000..91752717 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/UtcOffset.html @@ -0,0 +1,337 @@ + + + + + + +UtcOffset (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class UtcOffset

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class UtcOffset
      +extends Object
      +implements Serializable
      +
      $Id$ + + Created on 26/06/2005 + + Represents a timezone offset from UTC time.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UtcOffset

          +
          public UtcOffset(String value)
          +
          Parameters:
          value - a string representation of an offset
          +
        • +
        + + + +
          +
        • +

          UtcOffset

          +
          public UtcOffset(long offset)
          +
          Parameters:
          offset - an offset value in milliseconds
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getOffset

          +
          public final long getOffset()
          +
          Returns:
          Returns the offset.
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public final boolean equals(Object arg0)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public final int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ValidationException.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ValidationException.html new file mode 100644 index 00000000..20398e3a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/ValidationException.html @@ -0,0 +1,294 @@ + + + + + + +ValidationException (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class ValidationException

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class ValidationException
      +extends Exception
      +
      $Id$ [23-Apr-2004] + + An exception thrown during validation.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ValidationException

          +
          public ValidationException()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          ValidationException

          +
          public ValidationException(String message)
          +
          Constructor with message.
          +
          Parameters:
          message - a message
          +
        • +
        + + + +
          +
        • +

          ValidationException

          +
          public ValidationException(String message,
          +                   Object[] args)
          +
          Constructor with message pattern and arguments.
          +
          Parameters:
          message - a message pattern
          args - message arguments
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Validator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Validator.html new file mode 100644 index 00000000..53a7ead9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/Validator.html @@ -0,0 +1,221 @@ + + + + + + +Validator (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Interface Validator

    +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + +
        Methods 
        Modifier and TypeMethod and Description
        voidvalidate() +
        Validates the associated model against an applicable standard.
        +
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          validate

          +
          void validate()
          +              throws ValidationException
          +
          Validates the associated model against an applicable standard.
          +
          Throws:
          +
          ValidationException - where the model does not confirm to the applicable standard
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/WeekDay.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/WeekDay.html new file mode 100644 index 00000000..d1be76cb --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/WeekDay.html @@ -0,0 +1,589 @@ + + + + + + +WeekDay (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class WeekDay

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class WeekDay
      +extends Object
      +implements Serializable
      +
      $Id$ + + Created: 19/12/2004 + + Defines a day of the week with a possible offset related to + a MONTHLY or YEARLY occurrence.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          SU

          +
          public static final WeekDay SU
          +
          Sunday.
          +
        • +
        + + + +
          +
        • +

          MO

          +
          public static final WeekDay MO
          +
          Monday.
          +
        • +
        + + + +
          +
        • +

          TU

          +
          public static final WeekDay TU
          +
          Tuesday.
          +
        • +
        + + + +
          +
        • +

          WE

          +
          public static final WeekDay WE
          +
          Wednesday.
          +
        • +
        + + + +
          +
        • +

          TH

          +
          public static final WeekDay TH
          +
          Thursday.
          +
        • +
        + + + +
          +
        • +

          FR

          +
          public static final WeekDay FR
          +
          Friday.
          +
        • +
        + + + +
          +
        • +

          SA

          +
          public static final WeekDay SA
          +
          Saturday.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          WeekDay

          +
          public WeekDay(String value)
          +
          Parameters:
          value - a string representation of a week day
          +
        • +
        + + + +
          +
        • +

          WeekDay

          +
          public WeekDay(WeekDay weekDay,
          +       int offset)
          +
          Constructs a new weekday instance based on the specified + instance and offset.
          +
          Parameters:
          weekDay - a week day template for the instance
          offset - a month offset value
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDay

          +
          public final String getDay()
          +
          Returns:
          Returns the day.
          +
        • +
        + + + +
          +
        • +

          getOffset

          +
          public final int getOffset()
          +
          Returns:
          Returns the offset.
          +
        • +
        + + + + + + + +
          +
        • +

          getWeekDay

          +
          public static final WeekDay getWeekDay(Calendar cal)
          +
          Returns a weekday representation of the specified calendar.
          +
          Parameters:
          cal - a calendar (java.util)
          +
          Returns:
          a weekday instance representing the specified calendar
          +
        • +
        + + + +
          +
        • +

          getMonthlyOffset

          +
          public static final WeekDay getMonthlyOffset(Calendar cal)
          +
          Returns a weekday/offset representation of the specified calendar.
          +
          Parameters:
          cal - a calendar (java.util)
          +
          Returns:
          a weekday instance representing the specified calendar
          +
        • +
        + + + +
          +
        • +

          getNegativeMonthlyOffset

          +
          public static final WeekDay getNegativeMonthlyOffset(Calendar cal)
          +
          Returns a weekday/negative offset representation of the specified calendar.
          +
          Parameters:
          cal - a calendar (java.util)
          +
          Returns:
          a weekday instance representing the specified calendar
          +
        • +
        + + + +
          +
        • +

          getDay

          +
          public static WeekDay getDay(int calDay)
          +
          Returns the corresponding day constant to the specified + java.util.Calendar.DAY_OF_WEEK property.
          +
          Parameters:
          calDay - a property value of java.util.Calendar.DAY_OF_WEEK
          +
          Returns:
          a string, or null if an invalid DAY_OF_WEEK property is + specified
          +
        • +
        + + + +
          +
        • +

          getCalendarDay

          +
          public static int getCalendarDay(WeekDay weekday)
          +
          Returns the corresponding java.util.Calendar.DAY_OF_WEEK + constant for the specified WeekDay.
          +
          Parameters:
          weekday - a week day instance
          +
          Returns:
          the corresponding java.util.Calendar day
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public final boolean equals(Object arg0)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public final int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/WeekDayList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/WeekDayList.html new file mode 100644 index 00000000..51652f8d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/WeekDayList.html @@ -0,0 +1,423 @@ + + + + + + +WeekDayList (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model

    +

    Class WeekDayList

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          WeekDayList

          +
          public WeekDayList()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          WeekDayList

          +
          public WeekDayList(int initialCapacity)
          +
          Creates a new instance with the specified initial capacity.
          +
          Parameters:
          initialCapacity - the initial capacity of the list
          +
        • +
        + + + +
          +
        • +

          WeekDayList

          +
          public WeekDayList(String aString)
          +
          Constructor.
          +
          Parameters:
          aString - a string representation of a day list
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          add

          +
          public final boolean add(WeekDay weekDay)
          +
          Parameters:
          weekDay - a day to add to the list
          +
          Returns:
          true if the week day is added, otherwise false
          +
        • +
        + + + +
          +
        • +

          add

          +
          public final boolean add(Object weekday)
          +
          Overrides superclass to throw an IllegalArgumentException + where argument is not a net.fortuna.ical4j.model.WeekDay.
          +
          +
          Specified by:
          +
          add in interface Collection
          +
          Specified by:
          +
          add in interface List
          +
          Overrides:
          +
          add in class ArrayList
          +
          Parameters:
          weekday - a week day to add
          +
          Returns:
          true if the week day is added, otherwise false
          See Also:
          List.add(Object)
          +
        • +
        + + + +
          +
        • +

          remove

          +
          public final boolean remove(WeekDay weekDay)
          +
          Parameters:
          weekDay - a day to remove from the list
          +
          Returns:
          true if the week day is removed, otherwise false
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/AbstractContentFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/AbstractContentFactory.html new file mode 100644 index 00000000..80b24563 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/AbstractContentFactory.html @@ -0,0 +1,175 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.AbstractContentFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.AbstractContentFactory

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/AddressList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/AddressList.html new file mode 100644 index 00000000..92e12bb6 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/AddressList.html @@ -0,0 +1,184 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.AddressList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.AddressList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Calendar.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Calendar.html new file mode 100644 index 00000000..ee329bf8 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Calendar.html @@ -0,0 +1,382 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Calendar (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Calendar

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarDateFormatFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarDateFormatFactory.html new file mode 100644 index 00000000..ee2e73df --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarDateFormatFactory.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.CalendarDateFormatFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.CalendarDateFormatFactory

    +
    +
    No usage of net.fortuna.ical4j.model.CalendarDateFormatFactory
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarException.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarException.html new file mode 100644 index 00000000..1e6ce3ed --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/CalendarException.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.CalendarException (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.CalendarException

    +
    +
    No usage of net.fortuna.ical4j.model.CalendarException
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Component.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Component.html new file mode 100644 index 00000000..7f3c2bb6 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Component.html @@ -0,0 +1,499 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Component (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Component

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentFactory.html new file mode 100644 index 00000000..e3bd192b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentFactory.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.ComponentFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.ComponentFactory

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentList.html new file mode 100644 index 00000000..deb4e43c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ComponentList.html @@ -0,0 +1,335 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.ComponentList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.ComponentList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ConstraintViolationException.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ConstraintViolationException.html new file mode 100644 index 00000000..9cf918ad --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ConstraintViolationException.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.ConstraintViolationException (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.ConstraintViolationException

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Content.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Content.html new file mode 100644 index 00000000..32d2d425 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Content.html @@ -0,0 +1,1011 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Content (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Content

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + +
      Packages that use Content 
      PackageDescription
      net.fortuna.ical4j.model +
      Contains core types used to define the iCalendar model.
      +
      net.fortuna.ical4j.model.parameter +
      Contains types used to represent the iCalendar parameter model.
      +
      net.fortuna.ical4j.model.property +
      Contains types used to represent the iCalendar property model.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of Content in net.fortuna.ical4j.model

        + + + + + + + + + + + + + + + + +
        Subclasses of Content in net.fortuna.ical4j.model 
        Modifier and TypeClass and Description
        class Parameter +
        Defines an iCalendar parameter.
        +
        class Property +
        Defines an iCalendar property.
        +
        +
      • +
      • + + +

        Uses of Content in net.fortuna.ical4j.model.parameter

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Subclasses of Content in net.fortuna.ical4j.model.parameter 
        Modifier and TypeClass and Description
        class Abbrev +
        $Id$ [18-Apr-2004] + + Defines an Abbreviation parameter.
        +
        class AltRep +
        $Id$ [18-Apr-2004] + + Defines an Alternate Text Representation parameter.
        +
        class Cn +
        $Id$ [18-Apr-2004] + + Defines a Common Name parameter.
        +
        class CuType +
        $Id$ [18-Apr-2004] + + Defines a Calendar User Type.
        +
        class DelegatedFrom +
        $Id$ [18-Apr-2004] + + Defines a Delegators parameter.
        +
        class DelegatedTo +
        $Id$ [18-Apr-2004] + + Defines a Delegatees parameter.
        +
        class Dir +
        $Id$ [18-Apr-2004] + + Defines a Directory Entry Reference parameter.
        +
        class Encoding +
        $Id$ [18-Apr-2004] + + Defines an Inline Encoding parameter.
        +
        class FbType +
        $Id$ [18-Apr-2004] + + Defines a Free/Busy Time Type parameter.
        +
        class FmtType +
        $Id$ [18-Apr-2004] + + Defines a Format Type parameter.
        +
        class Language +
        $Id$ [18-Apr-2004] + + Defines a Language parameter.
        +
        class Member +
        $Id$ [18-Apr-2004] + + Defines a Group or List Membership parameter.
        +
        class PartStat +
        $Id$ [18-Apr-2004] + + Defines a Participation Status parameter.
        +
        class Range +
        $Id$ [18-Apr-2004] + + Defines a Recurrence Identifier Range parameter.
        +
        class Related +
        $Id$ [18-Apr-2004] + + Defines an Alarm Trigger Relationship parameter.
        +
        class RelType +
        $Id$ [18-Apr-2004] + + Defines a Relationship Type parameter.
        +
        class Role +
        $Id$ [18-Apr-2004] + + Defines a Participation Role parameter.
        +
        class Rsvp +
        $Id$ [18-Apr-2004] + + Defines an RSVP parameter.
        +
        class ScheduleAgent +
        Defines the scheduling agent for CalDAV scheduling.
        +
        class ScheduleStatus +
        Defines the scheduling status for CalDAV scheduling.
        +
        class SentBy +
        $Id$ [18-Apr-2004] + + Defines a Sent By parameter.
        +
        class Type +
        $Id$ [18-Apr-2004] + + Defines a Type parameter.
        +
        class TzId +
        $Id$ [18-Apr-2004] + + Defines a Time Zone Identifier parameter.
        +
        class Value +
        $Id$ [18-Apr-2004] + + Defines a Value Data Type parameter.
        +
        class Vvenue +
        $Id$ [18-Apr-2004] + + Defines a Vvenue parameter.
        +
        class XParameter +
        $Id$ [15/06/2004] + + Defines an extension parameter.
        +
        +
      • +
      • + + +

        Uses of Content in net.fortuna.ical4j.model.property

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Subclasses of Content in net.fortuna.ical4j.model.property 
        Modifier and TypeClass and Description
        class Action +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an ACTION iCalendar component property.
        +
        class Attach +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTACH iCalendar component property.
        +
        class Attendee +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTENDEE iCalendar component property.
        +
        class BusyType +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a BUSYTYPE iCalendar component property.
        +
        class CalScale +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CALSCALE iCalendar property.
        +
        class Categories +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CATEGORIES iCalendar component property.
        +
        class Clazz +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CLASS iCalendar property.
        +
        class Comment +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a COMMENT iCalendar component property.
        +
        class Completed +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a COMPLETED iCalendar component property.
        +
        class Contact +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CONTACT iCalendar component property.
        +
        class Country +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
        +
        class Created +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CREATED iCalendar component property.
        +
        class DateListProperty +
        $Id$ + + Created on 11/08/2005 + + Base class for properties with a list of dates as a value.
        +
        class DateProperty +
        $Id$ + + Created on 9/07/2005 + + Base class for properties with a DATE or DATE-TIME value.
        +
        class Description +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DESCRIPTION iCalendar component property.
        +
        class DtEnd +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTEND iCalendar component property.
        +
        class DtStamp +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTAMP iCalendar component property.
        +
        class DtStart +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTART iCalendar component property.
        +
        class Due +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DUE iCalendar component property.
        +
        class Duration +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DURATION iCalendar component property.
        +
        class ExDate +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a EXDATE iCalendar component property.
        +
        class ExRule +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a EXRULE iCalendar component property.
        +
        class ExtendedAddress +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a EXTENDED_ADDRESS iCalendar component property.
        +
        class FreeBusy +
        $Id$ + + Created: [Apr 14, 2004] + + Defines a FREEBUSY iCalendar component property.
        +
        class Geo +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a GEO iCalendar component property.
        +
        class LastModified +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LAST-MODIFIED iCalendar component property.
        +
        class Locality +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCALITY iCalendar component property.
        +
        class Location +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION iCalendar component property.
        +
        class LocationType +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION_TYPE iCalendar component property.
        +
        class Method +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a METHOD iCalendar property.
        +
        class Name +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a NAME iCalendar component property.
        +
        class Organizer +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an ORGANIZER iCalendar component property.
        +
        class PercentComplete +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a PERCENT-COMPLETE iCalendar component property.
        +
        class Postalcode +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a POSTALCODE iCalendar component property.
        +
        class Priority +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a PRIORITY iCalendar component property.
        +
        class ProdId +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a PRODID iCalendar property.
        +
        class RDate +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an RDATE iCalendar component property.
        +
        class RecurrenceId +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a RECURRENCE-ID iCalendar component property.
        +
        class Region +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
        +
        class RelatedTo +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a RELATED-TO iCalendar component property.
        +
        class Repeat +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REPEAT iCalendar component property.
        +
        class RequestStatus +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REQUEST-STATUS iCalendar component property.
        +
        class Resources +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a RESOURCES iCalendar component property.
        +
        class RRule +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an RRULE iCalendar component property.
        +
        class Sequence +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a SEQUENCE iCalendar component property.
        +
        class Status +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a STATUS iCalendar component property.
        +
        class StreetAddress +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a STREET_ADDRESS iCalendar component property.
        +
        class Summary +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a SUMMARY iCalendar component property.
        +
        class Tel +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TEL iCalendar component property.
        +
        class Transp +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TRANSP iCalendar component property.
        +
        class Trigger +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TRIGGER iCalendar component property.
        +
        class TzName +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZNAME iCalendar component property.
        +
        class TzOffsetFrom +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETFROM iCalendar component property.
        +
        class TzOffsetTo +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETTO iCalendar component property.
        +
        class TzUrl +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZURL iCalendar component property.
        +
        class Uid +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a UID iCalendar component property.
        +
        class Url +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a URL iCalendar component property.
        +
        class UtcProperty +
        $Id$ + + Created on 8/08/2005 + + Superclass for all properties with date-time values that must be specified in UTC time.
        +
        class Version +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a VERSION iCalendar property.
        +
        class XProperty +
        $Id$ + + Created: [15/06/2004] + + Defines an extension property.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Date.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Date.html new file mode 100644 index 00000000..efa83d81 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Date.html @@ -0,0 +1,536 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Date (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Date

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateList.html new file mode 100644 index 00000000..af772562 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateList.html @@ -0,0 +1,266 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.DateList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.DateList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateRange.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateRange.html new file mode 100644 index 00000000..c781304c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateRange.html @@ -0,0 +1,225 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.DateRange (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.DateRange

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateTime.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateTime.html new file mode 100644 index 00000000..f62c9036 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DateTime.html @@ -0,0 +1,306 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.DateTime (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.DateTime

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DefaultTimeZoneRegistryFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DefaultTimeZoneRegistryFactory.html new file mode 100644 index 00000000..687c4c0d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/DefaultTimeZoneRegistryFactory.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory

    +
    +
    No usage of net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Dur.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Dur.html new file mode 100644 index 00000000..fc5461c1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Dur.html @@ -0,0 +1,322 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Dur (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Dur

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Escapable.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Escapable.html new file mode 100644 index 00000000..4e88fd69 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Escapable.html @@ -0,0 +1,363 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.model.Escapable (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.model.Escapable

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + +
      Packages that use Escapable 
      PackageDescription
      net.fortuna.ical4j.model.parameter +
      Contains types used to represent the iCalendar parameter model.
      +
      net.fortuna.ical4j.model.property +
      Contains types used to represent the iCalendar property model.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of Escapable in net.fortuna.ical4j.model.parameter

        + + + + + + + + + + + + +
        Classes in net.fortuna.ical4j.model.parameter that implement Escapable 
        Modifier and TypeClass and Description
        class TzId +
        $Id$ [18-Apr-2004] + + Defines a Time Zone Identifier parameter.
        +
        +
      • +
      • + + +

        Uses of Escapable in net.fortuna.ical4j.model.property

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Classes in net.fortuna.ical4j.model.property that implement Escapable 
        Modifier and TypeClass and Description
        class Comment +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a COMMENT iCalendar component property.
        +
        class Contact +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CONTACT iCalendar component property.
        +
        class Country +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
        +
        class Description +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DESCRIPTION iCalendar component property.
        +
        class ExtendedAddress +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a EXTENDED_ADDRESS iCalendar component property.
        +
        class Locality +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCALITY iCalendar component property.
        +
        class Location +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION iCalendar component property.
        +
        class Name +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a NAME iCalendar component property.
        +
        class Postalcode +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a POSTALCODE iCalendar component property.
        +
        class ProdId +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a PRODID iCalendar property.
        +
        class Region +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
        +
        class RelatedTo +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a RELATED-TO iCalendar component property.
        +
        class StreetAddress +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a STREET_ADDRESS iCalendar component property.
        +
        class Summary +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a SUMMARY iCalendar component property.
        +
        class Tel +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TEL iCalendar component property.
        +
        class TzName +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZNAME iCalendar component property.
        +
        class Uid +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a UID iCalendar component property.
        +
        class XProperty +
        $Id$ + + Created: [15/06/2004] + + Defines an extension property.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedComponentList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedComponentList.html new file mode 100644 index 00000000..a9ff9d15 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedComponentList.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.IndexedComponentList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.IndexedComponentList

    +
    +
    No usage of net.fortuna.ical4j.model.IndexedComponentList
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedPropertyList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedPropertyList.html new file mode 100644 index 00000000..2d9fa27a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/IndexedPropertyList.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.IndexedPropertyList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.IndexedPropertyList

    +
    +
    No usage of net.fortuna.ical4j.model.IndexedPropertyList
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Iso8601.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Iso8601.html new file mode 100644 index 00000000..d68d8b3e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Iso8601.html @@ -0,0 +1,185 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Iso8601 (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Iso8601

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Packages that use Iso8601 
      PackageDescription
      net.fortuna.ical4j.model +
      Contains core types used to define the iCalendar model.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of Iso8601 in net.fortuna.ical4j.model

        + + + + + + + + + + + + + + + + + + + + +
        Subclasses of Iso8601 in net.fortuna.ical4j.model 
        Modifier and TypeClass and Description
        class Date +
        $Id$ + + Created on 26/06/2005 + + Base class for all representations of time values in RFC2445.
        +
        class DateTime +
        $Id$ + + Created on 26/06/2005 + + Represents a time of day on a specific date.
        +
        class Time +
        $Id$ + + Created on 30/06/2005 + + A type used to represent iCalendar time values.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/LocationTypeList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/LocationTypeList.html new file mode 100644 index 00000000..6d5c81ba --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/LocationTypeList.html @@ -0,0 +1,174 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.LocationTypeList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.LocationTypeList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/NumberList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/NumberList.html new file mode 100644 index 00000000..a6f5b162 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/NumberList.html @@ -0,0 +1,187 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.NumberList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.NumberList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Parameter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Parameter.html new file mode 100644 index 00000000..17aba5fd --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Parameter.html @@ -0,0 +1,478 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Parameter (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Parameter

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + +
      Packages that use Parameter 
      PackageDescription
      net.fortuna.ical4j.model +
      Contains core types used to define the iCalendar model.
      +
      net.fortuna.ical4j.model.parameter +
      Contains types used to represent the iCalendar parameter model.
      +
      net.fortuna.ical4j.util +
      Contains utility types that provide supporting functionality for iCal4j.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of Parameter in net.fortuna.ical4j.model

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model that return Parameter 
        Modifier and TypeMethod and Description
        ParameterParameter.copy() +
        Deep copy of parameter.
        +
        ParameterParameterFactory.createParameter(String name, + String value) +
        Returns a parameter instance of the appropriate type with the specified value.
        +
        ParameterParameterFactoryImpl.createParameter(String name, + String value) +
        Creates a parameter.
        +
        ParameterParameterList.getParameter(String aName) +
        Returns the first parameter with the specified name.
        +
        ParameterProperty.getParameter(String name) +
        Convenience method for retrieving a single parameter.
        +
        + + + + + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model with parameters of type Parameter 
        Modifier and TypeMethod and Description
        booleanParameterList.add(Parameter parameter) +
        Add a parameter to the list.
        +
        booleanParameterList.remove(Parameter parameter) +
        Remove a parameter from the list.
        +
        booleanParameterList.replace(Parameter parameter) +
        Replace any parameters of the same type with the one specified.
        +
        +
      • +
      • + + +

        Uses of Parameter in net.fortuna.ical4j.model.parameter

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Subclasses of Parameter in net.fortuna.ical4j.model.parameter 
        Modifier and TypeClass and Description
        class Abbrev +
        $Id$ [18-Apr-2004] + + Defines an Abbreviation parameter.
        +
        class AltRep +
        $Id$ [18-Apr-2004] + + Defines an Alternate Text Representation parameter.
        +
        class Cn +
        $Id$ [18-Apr-2004] + + Defines a Common Name parameter.
        +
        class CuType +
        $Id$ [18-Apr-2004] + + Defines a Calendar User Type.
        +
        class DelegatedFrom +
        $Id$ [18-Apr-2004] + + Defines a Delegators parameter.
        +
        class DelegatedTo +
        $Id$ [18-Apr-2004] + + Defines a Delegatees parameter.
        +
        class Dir +
        $Id$ [18-Apr-2004] + + Defines a Directory Entry Reference parameter.
        +
        class Encoding +
        $Id$ [18-Apr-2004] + + Defines an Inline Encoding parameter.
        +
        class FbType +
        $Id$ [18-Apr-2004] + + Defines a Free/Busy Time Type parameter.
        +
        class FmtType +
        $Id$ [18-Apr-2004] + + Defines a Format Type parameter.
        +
        class Language +
        $Id$ [18-Apr-2004] + + Defines a Language parameter.
        +
        class Member +
        $Id$ [18-Apr-2004] + + Defines a Group or List Membership parameter.
        +
        class PartStat +
        $Id$ [18-Apr-2004] + + Defines a Participation Status parameter.
        +
        class Range +
        $Id$ [18-Apr-2004] + + Defines a Recurrence Identifier Range parameter.
        +
        class Related +
        $Id$ [18-Apr-2004] + + Defines an Alarm Trigger Relationship parameter.
        +
        class RelType +
        $Id$ [18-Apr-2004] + + Defines a Relationship Type parameter.
        +
        class Role +
        $Id$ [18-Apr-2004] + + Defines a Participation Role parameter.
        +
        class Rsvp +
        $Id$ [18-Apr-2004] + + Defines an RSVP parameter.
        +
        class ScheduleAgent +
        Defines the scheduling agent for CalDAV scheduling.
        +
        class ScheduleStatus +
        Defines the scheduling status for CalDAV scheduling.
        +
        class SentBy +
        $Id$ [18-Apr-2004] + + Defines a Sent By parameter.
        +
        class Type +
        $Id$ [18-Apr-2004] + + Defines a Type parameter.
        +
        class TzId +
        $Id$ [18-Apr-2004] + + Defines a Time Zone Identifier parameter.
        +
        class Value +
        $Id$ [18-Apr-2004] + + Defines a Value Data Type parameter.
        +
        class Vvenue +
        $Id$ [18-Apr-2004] + + Defines a Vvenue parameter.
        +
        class XParameter +
        $Id$ [15/06/2004] + + Defines an extension parameter.
        +
        + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model.parameter that return Parameter 
        Modifier and TypeMethod and Description
        ParameterRsvp.copy() +
        Deep copy of parameter.
        +
        +
      • +
      • + + +

        Uses of Parameter in net.fortuna.ical4j.util

        + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.util with parameters of type Parameter 
        Modifier and TypeMethod and Description
        voidParameterValidator.assertNullOrEqual(Parameter param, + ParameterList parameters) 
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactory.html new file mode 100644 index 00000000..d3e5b6c0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactory.html @@ -0,0 +1,191 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.model.ParameterFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.model.ParameterFactory

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryImpl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryImpl.html new file mode 100644 index 00000000..5a1d6880 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryImpl.html @@ -0,0 +1,172 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.ParameterFactoryImpl (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.ParameterFactoryImpl

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryRegistry.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryRegistry.html new file mode 100644 index 00000000..f0e5cca5 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterFactoryRegistry.html @@ -0,0 +1,160 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.ParameterFactoryRegistry (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.ParameterFactoryRegistry

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterList.html new file mode 100644 index 00000000..b66bce5f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ParameterList.html @@ -0,0 +1,686 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.ParameterList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.ParameterList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Period.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Period.html new file mode 100644 index 00000000..12eb2513 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Period.html @@ -0,0 +1,239 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Period (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Period

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PeriodList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PeriodList.html new file mode 100644 index 00000000..51b2384c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PeriodList.html @@ -0,0 +1,300 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.PeriodList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.PeriodList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Property.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Property.html new file mode 100644 index 00000000..6aff7dd9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Property.html @@ -0,0 +1,998 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Property (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Property

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Packages that use Property 
      PackageDescription
      net.fortuna.ical4j.data +
      Contains types providing RFC2445 input, output and parsing functionality.
      +
      net.fortuna.ical4j.filter +
      Filtering rules that may be used on lists of components, properties or parameters.
      +
      net.fortuna.ical4j.model +
      Contains core types used to define the iCalendar model.
      +
      net.fortuna.ical4j.model.property +
      Contains types used to represent the iCalendar property model.
      +
      net.fortuna.ical4j.util +
      Contains utility types that provide supporting functionality for iCal4j.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of Property in net.fortuna.ical4j.data

        + + + + + + + + + + + + +
        Fields in net.fortuna.ical4j.data declared as Property 
        Modifier and TypeField and Description
        protected PropertyCalendarBuilder.property +
        The current property instance created by the builder.
        +
        +
      • +
      • + + +

        Uses of Property in net.fortuna.ical4j.filter

        + + + + + + + + + + + + + +
        Constructors in net.fortuna.ical4j.filter with parameters of type Property 
        Constructor and Description
        HasPropertyRule(Property property) +
        Constructs a new instance with the specified property.
        +
        HasPropertyRule(Property property, + boolean matchEquals) +
        Constructs a new instance with the specified property.
        +
        +
      • +
      • + + +

        Uses of Property in net.fortuna.ical4j.model

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model that return Property 
        Modifier and TypeMethod and Description
        PropertyProperty.copy() +
        Create a (deep) copy of this property.
        +
        PropertyPropertyFactoryImpl.createProperty(String name)
        PropertyPropertyFactory.createProperty(String name) 
        PropertyPropertyFactoryImpl.createProperty(String name, + ParameterList parameters, + String value)
        PropertyPropertyFactory.createProperty(String name, + ParameterList parameters, + String value) 
        PropertyPropertyList.getProperty(String aName) +
        Returns the first property of specified name.
        +
        PropertyComponent.getProperty(String name) +
        Convenience method for retrieving a named property.
        +
        PropertyCalendar.getProperty(String name) +
        Convenience method for retrieving a named property.
        +
        PropertyIndexedPropertyList.getProperty(String paramValue) +
        Returns the first property containing a parameter with the specified + value.
        +
        + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model with parameters of type Property 
        Modifier and TypeMethod and Description
        booleanPropertyList.add(Property property) +
        Add a property to the list.
        +
        booleanPropertyList.remove(Property property) +
        Remove a property from the list.
        +
        + + + + + + + + + + +
        Constructors in net.fortuna.ical4j.model with parameters of type Property 
        Constructor and Description
        Property(Property property) +
        Deprecated.  +
        Use copy() instead
        +
        +
        +
      • +
      • + + +

        Uses of Property in net.fortuna.ical4j.model.property

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Subclasses of Property in net.fortuna.ical4j.model.property 
        Modifier and TypeClass and Description
        class Action +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an ACTION iCalendar component property.
        +
        class Attach +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTACH iCalendar component property.
        +
        class Attendee +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTENDEE iCalendar component property.
        +
        class BusyType +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a BUSYTYPE iCalendar component property.
        +
        class CalScale +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CALSCALE iCalendar property.
        +
        class Categories +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CATEGORIES iCalendar component property.
        +
        class Clazz +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CLASS iCalendar property.
        +
        class Comment +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a COMMENT iCalendar component property.
        +
        class Completed +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a COMPLETED iCalendar component property.
        +
        class Contact +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CONTACT iCalendar component property.
        +
        class Country +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
        +
        class Created +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CREATED iCalendar component property.
        +
        class DateListProperty +
        $Id$ + + Created on 11/08/2005 + + Base class for properties with a list of dates as a value.
        +
        class DateProperty +
        $Id$ + + Created on 9/07/2005 + + Base class for properties with a DATE or DATE-TIME value.
        +
        class Description +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DESCRIPTION iCalendar component property.
        +
        class DtEnd +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTEND iCalendar component property.
        +
        class DtStamp +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTAMP iCalendar component property.
        +
        class DtStart +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTART iCalendar component property.
        +
        class Due +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DUE iCalendar component property.
        +
        class Duration +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DURATION iCalendar component property.
        +
        class ExDate +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a EXDATE iCalendar component property.
        +
        class ExRule +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a EXRULE iCalendar component property.
        +
        class ExtendedAddress +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a EXTENDED_ADDRESS iCalendar component property.
        +
        class FreeBusy +
        $Id$ + + Created: [Apr 14, 2004] + + Defines a FREEBUSY iCalendar component property.
        +
        class Geo +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a GEO iCalendar component property.
        +
        class LastModified +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LAST-MODIFIED iCalendar component property.
        +
        class Locality +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCALITY iCalendar component property.
        +
        class Location +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION iCalendar component property.
        +
        class LocationType +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION_TYPE iCalendar component property.
        +
        class Method +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a METHOD iCalendar property.
        +
        class Name +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a NAME iCalendar component property.
        +
        class Organizer +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an ORGANIZER iCalendar component property.
        +
        class PercentComplete +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a PERCENT-COMPLETE iCalendar component property.
        +
        class Postalcode +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a POSTALCODE iCalendar component property.
        +
        class Priority +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a PRIORITY iCalendar component property.
        +
        class ProdId +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a PRODID iCalendar property.
        +
        class RDate +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an RDATE iCalendar component property.
        +
        class RecurrenceId +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a RECURRENCE-ID iCalendar component property.
        +
        class Region +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
        +
        class RelatedTo +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a RELATED-TO iCalendar component property.
        +
        class Repeat +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REPEAT iCalendar component property.
        +
        class RequestStatus +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a REQUEST-STATUS iCalendar component property.
        +
        class Resources +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a RESOURCES iCalendar component property.
        +
        class RRule +
        $Id$ + + Created: [Apr 6, 2004] + + Defines an RRULE iCalendar component property.
        +
        class Sequence +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a SEQUENCE iCalendar component property.
        +
        class Status +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a STATUS iCalendar component property.
        +
        class StreetAddress +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a STREET_ADDRESS iCalendar component property.
        +
        class Summary +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a SUMMARY iCalendar component property.
        +
        class Tel +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TEL iCalendar component property.
        +
        class Transp +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TRANSP iCalendar component property.
        +
        class Trigger +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TRIGGER iCalendar component property.
        +
        class TzId +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZID iCalendar component property.
        +
        class TzName +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZNAME iCalendar component property.
        +
        class TzOffsetFrom +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETFROM iCalendar component property.
        +
        class TzOffsetTo +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETTO iCalendar component property.
        +
        class TzUrl +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TZURL iCalendar component property.
        +
        class Uid +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a UID iCalendar component property.
        +
        class Url +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a URL iCalendar component property.
        +
        class UtcProperty +
        $Id$ + + Created on 8/08/2005 + + Superclass for all properties with date-time values that must be specified in UTC time.
        +
        class Version +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a VERSION iCalendar property.
        +
        class XProperty +
        $Id$ + + Created: [15/06/2004] + + Defines an extension property.
        +
        + + + + + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model.property that return Property 
        Modifier and TypeMethod and Description
        PropertyDateProperty.copy() +
        Create a (deep) copy of this property.
        +
        PropertyDateListProperty.copy() +
        Create a (deep) copy of this property.
        +
        PropertyAttendee.copy() +
        Create a (deep) copy of this property.
        +
        +
      • +
      • + + +

        Uses of Property in net.fortuna.ical4j.util

        + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.util that return Property 
        Modifier and TypeMethod and Description
        static PropertyConstants.forProperty(Property property) +
        Returns a constant equivalent to the specified property + if one is applicable.
        +
        + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.util with parameters of type Property 
        Modifier and TypeMethod and Description
        static PropertyConstants.forProperty(Property property) +
        Returns a constant equivalent to the specified property + if one is applicable.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactory.html new file mode 100644 index 00000000..c157cff4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactory.html @@ -0,0 +1,262 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.model.PropertyFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.model.PropertyFactory

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryImpl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryImpl.html new file mode 100644 index 00000000..05dbf95f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryImpl.html @@ -0,0 +1,172 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.PropertyFactoryImpl (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.PropertyFactoryImpl

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryRegistry.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryRegistry.html new file mode 100644 index 00000000..7b30a140 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyFactoryRegistry.html @@ -0,0 +1,160 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.PropertyFactoryRegistry (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.PropertyFactoryRegistry

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyList.html new file mode 100644 index 00000000..92e32ce9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/PropertyList.html @@ -0,0 +1,399 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.PropertyList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.PropertyList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Recur.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Recur.html new file mode 100644 index 00000000..f6443224 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Recur.html @@ -0,0 +1,198 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Recur (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Recur

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TextList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TextList.html new file mode 100644 index 00000000..f3bb7913 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TextList.html @@ -0,0 +1,185 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.TextList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.TextList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Time.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Time.html new file mode 100644 index 00000000..57f5b513 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Time.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.Time (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.Time

    +
    +
    No usage of net.fortuna.ical4j.model.Time
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZone.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZone.html new file mode 100644 index 00000000..61ed5303 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZone.html @@ -0,0 +1,394 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.TimeZone (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.TimeZone

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistry.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistry.html new file mode 100644 index 00000000..da0f4eea --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistry.html @@ -0,0 +1,237 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.model.TimeZoneRegistry (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.model.TimeZoneRegistry

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryFactory.html new file mode 100644 index 00000000..f54370a7 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryFactory.html @@ -0,0 +1,178 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.TimeZoneRegistryFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.TimeZoneRegistryFactory

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryImpl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryImpl.html new file mode 100644 index 00000000..0374e1f9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/TimeZoneRegistryImpl.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.TimeZoneRegistryImpl (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.TimeZoneRegistryImpl

    +
    +
    No usage of net.fortuna.ical4j.model.TimeZoneRegistryImpl
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/UtcOffset.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/UtcOffset.html new file mode 100644 index 00000000..709eb033 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/UtcOffset.html @@ -0,0 +1,202 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.UtcOffset (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.UtcOffset

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ValidationException.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ValidationException.html new file mode 100644 index 00000000..717ae5a1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/ValidationException.html @@ -0,0 +1,811 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.ValidationException (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.ValidationException

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Packages that use ValidationException 
      PackageDescription
      net.fortuna.ical4j.data +
      Contains types providing RFC2445 input, output and parsing functionality.
      +
      net.fortuna.ical4j.model +
      Contains core types used to define the iCalendar model.
      +
      net.fortuna.ical4j.model.component +
      Contains types used to represent the iCalendar component model.
      +
      net.fortuna.ical4j.model.property +
      Contains types used to represent the iCalendar property model.
      +
      net.fortuna.ical4j.util +
      Contains utility types that provide supporting functionality for iCal4j.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of ValidationException in net.fortuna.ical4j.data

        + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.data that throw ValidationException 
        Modifier and TypeMethod and Description
        voidCalendarOutputter.output(Calendar calendar, + OutputStream out) +
        Outputs an iCalender string to the specified output stream.
        +
        voidCalendarOutputter.output(Calendar calendar, + Writer out) +
        Outputs an iCalender string to the specified writer.
        +
        +
      • +
      • + + +

        Uses of ValidationException in net.fortuna.ical4j.model

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model that throw ValidationException 
        Modifier and TypeMethod and Description
        voidValidator.validate() +
        Validates the associated model against an applicable standard.
        +
        voidComponent.validate() +
        Perform validation on a component and its properties.
        +
        voidCalendar.validate() +
        Perform validation on the calendar, its properties and its components in its current state.
        +
        abstract voidProperty.validate() +
        Perform validation on a property.
        +
        abstract voidComponent.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidCalendar.validate(boolean recurse) +
        Perform validation on the calendar in its current state.
        +
        protected voidComponent.validateProperties() +
        Invoke validation on the component properties in its current state.
        +
        +
      • +
      • + + +

        Uses of ValidationException in net.fortuna.ical4j.model.component

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model.component that throw ValidationException 
        Modifier and TypeMethod and Description
        voidObservance.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidVFreeBusy.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidVAvailability.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidXComponent.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidVEvent.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidAvailable.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidVJournal.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidVToDo.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidVVenue.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidVAlarm.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidVTimeZone.validate(boolean recurse) +
        Perform validation on a component.
        +
        voidCalendarComponent.validate(Method method) +
        Performs method-specific ITIP validation.
        +
        voidCalendarComponent.validateAdd() +
        Deprecated.  
        +
        voidCalendarComponent.validateCancel() +
        Deprecated.  
        +
        voidCalendarComponent.validateCounter() +
        Deprecated.  
        +
        voidCalendarComponent.validateDeclineCounter() +
        Deprecated.  
        +
        voidCalendarComponent.validatePublish() +
        Deprecated.  
        +
        voidCalendarComponent.validateRefresh() +
        Deprecated.  
        +
        voidCalendarComponent.validateReply() +
        Deprecated.  
        +
        voidCalendarComponent.validateRequest() +
        Deprecated.  
        +
        +
      • +
      • + + +

        Uses of ValidationException in net.fortuna.ical4j.model.property

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.model.property that throw ValidationException 
        Modifier and TypeMethod and Description
        voidTel.validate() +
        Perform validation on a property.
        +
        voidName.validate() +
        Perform validation on a property.
        +
        voidRegion.validate() +
        Perform validation on a property.
        +
        voidRequestStatus.validate() +
        Perform validation on a property.
        +
        voidLocationType.validate() +
        Perform validation on a property.
        +
        voidStreetAddress.validate() +
        Perform validation on a property.
        +
        voidUtcProperty.validate() +
        Perform validation on a property.
        +
        voidGeo.validate() +
        Perform validation on a property.
        +
        voidTransp.validate() +
        Perform validation on a property.
        +
        voidPercentComplete.validate() +
        Perform validation on a property.
        +
        voidRelatedTo.validate() +
        Perform validation on a property.
        +
        voidComment.validate() +
        Perform validation on a property.
        +
        voidUrl.validate() +
        Perform validation on a property.
        +
        voidCountry.validate() +
        Perform validation on a property.
        +
        voidTzOffsetFrom.validate() +
        Perform validation on a property.
        +
        voidExDate.validate() +
        Perform validation on a property.
        +
        voidDateProperty.validate() +
        Perform validation on a property.
        +
        voidFreeBusy.validate() +
        Perform validation on a property.
        +
        voidTzId.validate() +
        Perform validation on a property.
        +
        voidTrigger.validate() +
        Perform validation on a property.
        +
        voidSequence.validate() +
        Perform validation on a property.
        +
        voidCategories.validate() +
        Perform validation on a property.
        +
        voidStatus.validate() +
        Perform validation on a property.
        +
        voidXProperty.validate() +
        Perform validation on a property.
        +
        voidLocality.validate() +
        Perform validation on a property.
        +
        voidExRule.validate() +
        Perform validation on a property.
        +
        voidAttach.validate() +
        Perform validation on a property.
        +
        voidBusyType.validate() +
        Perform validation on a property.
        +
        voidLocation.validate() +
        Perform validation on a property.
        +
        voidDtEnd.validate() +
        Perform validation on a property.
        +
        voidUid.validate() +
        Perform validation on a property.
        +
        voidExtendedAddress.validate() +
        Perform validation on a property.
        +
        voidPostalcode.validate() +
        Perform validation on a property.
        +
        voidPriority.validate() +
        Perform validation on a property.
        +
        voidSummary.validate() +
        Perform validation on a property.
        +
        voidRepeat.validate() +
        Perform validation on a property.
        +
        voidMethod.validate() +
        Perform validation on a property.
        +
        voidDtStart.validate() +
        Perform validation on a property.
        +
        voidProdId.validate() +
        Perform validation on a property.
        +
        voidCalScale.validate() +
        Perform validation on a property.
        +
        voidResources.validate() +
        Perform validation on a property.
        +
        voidVersion.validate() +
        Perform validation on a property.
        +
        voidAttendee.validate() +
        Perform validation on a property.
        +
        voidDuration.validate() +
        Perform validation on a property.
        +
        voidTzOffsetTo.validate() +
        Perform validation on a property.
        +
        voidRRule.validate() +
        Perform validation on a property.
        +
        voidRDate.validate() +
        Perform validation on a property.
        +
        voidTzUrl.validate() +
        Perform validation on a property.
        +
        voidAction.validate() +
        Perform validation on a property.
        +
        voidContact.validate() +
        Perform validation on a property.
        +
        voidTzName.validate() +
        Perform validation on a property.
        +
        voidRecurrenceId.validate() +
        Perform validation on a property.
        +
        voidDescription.validate() +
        Perform validation on a property.
        +
        voidClazz.validate() +
        Perform validation on a property.
        +
        voidDue.validate() +
        Perform validation on a property.
        +
        voidOrganizer.validate() +
        Perform validation on a property.
        +
        +
      • +
      • + + +

        Uses of ValidationException in net.fortuna.ical4j.util

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Methods in net.fortuna.ical4j.util that throw ValidationException 
        Modifier and TypeMethod and Description
        static voidComponentValidator.assertNone(String componentName, + ComponentList components) 
        voidParameterValidator.assertNone(String paramName, + ParameterList parameters) +
        Ensure a parameter doesn't occur in the specified list.
        +
        voidPropertyValidator.assertNone(String propertyName, + PropertyList properties) +
        Ensure a property doesn't occur in the specified list.
        +
        voidParameterValidator.assertNullOrEqual(Parameter param, + ParameterList parameters) 
        voidParameterValidator.assertOne(String paramName, + ParameterList parameters) +
        Ensure a parameter occurs once.
        +
        voidPropertyValidator.assertOne(String propertyName, + PropertyList properties) +
        Ensure a property occurs once.
        +
        static voidComponentValidator.assertOneOrLess(String componentName, + ComponentList components) 
        voidParameterValidator.assertOneOrLess(String paramName, + ParameterList parameters) +
        Ensure a parameter occurs no more than once.
        +
        voidPropertyValidator.assertOneOrLess(String propertyName, + PropertyList properties) +
        Ensure a property occurs no more than once.
        +
        voidPropertyValidator.assertOneOrMore(String propertyName, + PropertyList properties) +
        Ensure a property occurs at least once.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Validator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Validator.html new file mode 100644 index 00000000..d973a8df --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/Validator.html @@ -0,0 +1,210 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.model.Validator (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.model.Validator

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDay.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDay.html new file mode 100644 index 00000000..5b206427 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDay.html @@ -0,0 +1,270 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.WeekDay (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.WeekDay

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDayList.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDayList.html new file mode 100644 index 00000000..878ddb77 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/class-use/WeekDayList.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.WeekDayList (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.WeekDayList

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Available.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Available.html new file mode 100644 index 00000000..22951af6 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Available.html @@ -0,0 +1,362 @@ + + + + + + +Available (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class Available

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Available
      +extends Component
      +
      $Id$ [05-Apr-2004] + + Defines an iCalendar Available component. + +
      +
      +       availablec  = "BEGIN" ":" "AVAILABLE" CRLF
      +
      +                    availableprop
      +
      +                    "END" ":" "AVAILABLE" CRLF
      +
      +          availableprop  = *(
      +
      +                         ; the following are REQUIRED,
      +                         ; but MUST NOT occur more than once
      +
      +                         dtstamp / dtstart / uid /
      +
      +                         ; either a 'dtend' or a 'duration' is required
      +                         ; in a 'availableprop', but 'dtend' and
      +                         ; 'duration' MUST NOT occur in the same
      +                         ; 'availableprop', and each MUST NOT occur more
      +                         ; than once
      +
      +                         dtend / duration /
      +
      +                         ; the following are OPTIONAL,
      +                         ; but MUST NOT occur more than once
      +
      +                         created / last-mod / recurid / rrule /
      +                         summary /
      +
      +                         ; the following are OPTIONAL,
      +                         ; and MAY occur more than once
      +
      +                         categories / comment / contact / exdate /
      +                         rdate / x-prop
      +
      +                         )
      + 
      +
      Author:
      +
      Ben Fortuna, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Available

          +
          public Available()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Available

          +
          public Available(PropertyList properties)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/CalendarComponent.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/CalendarComponent.html new file mode 100644 index 00000000..4f36954c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/CalendarComponent.html @@ -0,0 +1,530 @@ + + + + + + +CalendarComponent (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class CalendarComponent

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          EMPTY_VALIDATOR

          +
          protected static final Validator EMPTY_VALIDATOR
          +
          Validator instance that does nothing.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CalendarComponent

          +
          public CalendarComponent(String name)
          +
          Parameters:
          name - component name
          +
        • +
        + + + +
          +
        • +

          CalendarComponent

          +
          public CalendarComponent(String name,
          +                 PropertyList properties)
          +
          Parameters:
          name - component name
          properties - component properties
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          validate

          +
          public final void validate(Method method)
          +                    throws ValidationException
          +
          Performs method-specific ITIP validation.
          +
          Parameters:
          method - the applicable method
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected abstract Validator getValidator(Method method)
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        + + + +
          +
        • +

          validatePublish

          +
          public final void validatePublish()
          +                           throws ValidationException
          +
          Deprecated. 
          +
          Apply validation for METHOD=PUBLISH.
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        + + + +
          +
        • +

          validateRequest

          +
          public final void validateRequest()
          +                           throws ValidationException
          +
          Deprecated. 
          +
          Apply validation for METHOD=REQUEST.
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        + + + +
          +
        • +

          validateReply

          +
          public final void validateReply()
          +                         throws ValidationException
          +
          Deprecated. 
          +
          Apply validation for METHOD=REPLY.
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        + + + +
          +
        • +

          validateAdd

          +
          public final void validateAdd()
          +                       throws ValidationException
          +
          Deprecated. 
          +
          Apply validation for METHOD=ADD.
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        + + + +
          +
        • +

          validateCancel

          +
          public final void validateCancel()
          +                          throws ValidationException
          +
          Deprecated. 
          +
          Apply validation for METHOD=CANCEL.
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        + + + +
          +
        • +

          validateRefresh

          +
          public final void validateRefresh()
          +                           throws ValidationException
          +
          Deprecated. 
          +
          Apply validation for METHOD=REFRESH.
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        + + + +
          +
        • +

          validateCounter

          +
          public final void validateCounter()
          +                           throws ValidationException
          +
          Deprecated. 
          +
          Apply validation for METHOD=COUNTER.
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        + + + +
          +
        • +

          validateDeclineCounter

          +
          public final void validateDeclineCounter()
          +                                  throws ValidationException
          +
          Deprecated. 
          +
          Apply validation for METHOD=DECLINE-COUNTER.
          +
          Throws:
          +
          ValidationException - where the component does not comply with RFC2446
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Daylight.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Daylight.html new file mode 100644 index 00000000..ab8a4bd7 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Daylight.html @@ -0,0 +1,328 @@ + + + + + + +Daylight (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class Daylight

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Daylight
      +extends Observance
      +
      $Id$ [05-Apr-2004] + + Defines an iCalendar daylight savings timezone observance component. + +
      +
      +       daylightc  = "BEGIN" ":" "DAYLIGHT" CRLF
      +
      +                    tzprop
      +
      +                    "END" ":" "DAYLIGHT" CRLF
      +
      +       tzprop     = 3*(
      +
      +                  ; the following are each REQUIRED,
      +                  ; but MUST NOT occur more than once
      +
      +                  dtstart / tzoffsetto / tzoffsetfrom /
      +
      +                  ; the following are optional,
      +                  ; and MAY occur more than once
      +
      +                  comment / rdate / rrule / tzname / x-prop
      +
      +                  )
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Daylight

          +
          public Daylight()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Daylight

          +
          public Daylight(PropertyList properties)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Observance.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Observance.html new file mode 100644 index 00000000..c4c1bf93 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Observance.html @@ -0,0 +1,454 @@ + + + + + + +Observance (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class Observance

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      Direct Known Subclasses:
      +
      Daylight, Standard
      +
      +
      +
      +
      public abstract class Observance
      +extends Component
      +
      $Id$ [05-Apr-2004] + + Defines an iCalendar sub-component representing a timezone observance. Class made abstract such that only Standard + and Daylight instances are valid.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Observance

          +
          protected Observance(String name)
          +
          Constructs a timezone observance with the specified name and no properties.
          +
          Parameters:
          name - the name of this observance component
          +
        • +
        + + + +
          +
        • +

          Observance

          +
          protected Observance(String name,
          +          PropertyList properties)
          +
          Constructor protected to enforce use of sub-classes from this library.
          +
          Parameters:
          name - the name of the time type
          properties - a list of properties
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getLatestOnset

          +
          public final Date getLatestOnset(Date date)
          +
          Returns the latest applicable onset of this observance for the specified date.
          +
          Parameters:
          date - the latest date that an observance onset may occur
          +
          Returns:
          the latest applicable observance date or null if there is no applicable observance onset for the + specified date
          +
        • +
        + + + +
          +
        • +

          getStartDate

          +
          public final DtStart getStartDate()
          +
          Returns the mandatory dtstart property.
          +
          Returns:
          the DTSTART property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getOffsetFrom

          +
          public final TzOffsetFrom getOffsetFrom()
          +
          Returns the mandatory tzoffsetfrom property.
          +
          Returns:
          the TZOFFSETFROM property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getOffsetTo

          +
          public final TzOffsetTo getOffsetTo()
          +
          Returns the mandatory tzoffsetto property.
          +
          Returns:
          the TZOFFSETTO property or null if not specified
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Standard.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Standard.html new file mode 100644 index 00000000..d304ac75 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/Standard.html @@ -0,0 +1,328 @@ + + + + + + +Standard (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class Standard

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Standard
      +extends Observance
      +
      $Id$ [05-Apr-2004] + + Defines an iCalendar standard timezone observance component. + +
      +
      +       standardc  = "BEGIN" ":" "STANDARD" CRLF
      +
      +                    tzprop
      +
      +                    "END" ":" "STANDARD" CRLF
      +
      +       tzprop     = 3*(
      +
      +                  ; the following are each REQUIRED,
      +                  ; but MUST NOT occur more than once
      +
      +                  dtstart / tzoffsetto / tzoffsetfrom /
      +
      +                  ; the following are optional,
      +                  ; and MAY occur more than once
      +
      +                  comment / rdate / rrule / tzname / x-prop
      +
      +                  )
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Standard

          +
          public Standard()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Standard

          +
          public Standard(PropertyList properties)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VAlarm.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VAlarm.html new file mode 100644 index 00000000..17cd0077 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VAlarm.html @@ -0,0 +1,654 @@ + + + + + + +VAlarm (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class VAlarm

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class VAlarm
      +extends CalendarComponent
      +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VALARM component. + +
      +    4.6.6 Alarm Component
      +
      +       Component Name: VALARM
      +
      +       Purpose: Provide a grouping of component properties that define an
      +       alarm.
      +
      +       Formal Definition: A "VALARM" calendar component is defined by the
      +       following notation:
      +
      +              alarmc     = "BEGIN" ":" "VALARM" CRLF
      +                           (audioprop / dispprop / emailprop / procprop)
      +                           "END" ":" "VALARM" CRLF
      +
      +         audioprop  = 2*(
      +
      +                    ; 'action' and 'trigger' are both REQUIRED,
      +                    ; but MUST NOT occur more than once
      +
      +                    action / trigger /
      +
      +                    ; 'duration' and 'repeat' are both optional,
      +                    ; and MUST NOT occur more than once each,
      +                    ; but if one occurs, so MUST the other
      +
      +                    duration / repeat /
      +
      +                    ; the following is optional,
      +                    ; but MUST NOT occur more than once
      +
      +                    attach /
      +
      +                    ; the following is optional,
      +                    ; and MAY occur more than once
      +
      +                    x-prop
      +
      +                    )
      +
      +
      +
      +         dispprop   = 3*(
      +
      +                    ; the following are all REQUIRED,
      +                    ; but MUST NOT occur more than once
      +
      +                    action / description / trigger /
      +
      +                    ; 'duration' and 'repeat' are both optional,
      +                    ; and MUST NOT occur more than once each,
      +                    ; but if one occurs, so MUST the other
      +
      +                    duration / repeat /
      +
      +                    ; the following is optional,
      +                    ; and MAY occur more than once
      +
      +                    *x-prop
      +
      +                    )
      +
      +
      +
      +         emailprop  = 5*(
      +
      +                    ; the following are all REQUIRED,
      +                    ; but MUST NOT occur more than once
      +
      +                    action / description / trigger / summary
      +
      +                    ; the following is REQUIRED,
      +                    ; and MAY occur more than once
      +
      +                    attendee /
      +
      +                    ; 'duration' and 'repeat' are both optional,
      +                    ; and MUST NOT occur more than once each,
      +                    ; but if one occurs, so MUST the other
      +
      +                    duration / repeat /
      +
      +                    ; the following are optional,
      +                    ; and MAY occur more than once
      +
      +                    attach / x-prop
      +
      +                    )
      +
      +
      +
      +         procprop   = 3*(
      +
      +                    ; the following are all REQUIRED,
      +                    ; but MUST NOT occur more than once
      +
      +                    action / attach / trigger /
      +
      +                    ; 'duration' and 'repeat' are both optional,
      +                    ; and MUST NOT occur more than once each,
      +                    ; but if one occurs, so MUST the other
      +
      +                    duration / repeat /
      +
      +                    ; 'description' is optional,
      +                    ; and MUST NOT occur more than once
      +
      +                    description /
      +
      +                    ; the following is optional,
      +                    ; and MAY occur more than once
      +
      +                    x-prop
      +
      +                    )
      + 
      + + Example 1 - Creating an alarm to trigger at a specific time: + +
      
      + java.util.Calendar cal = java.util.Calendar.getInstance();
      + cal.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER);
      + cal.set(java.util.Calendar.DAY_OF_MONTH, 25);
      +
      + VAlarm christmas = new VAlarm(cal.getTime());
      + 
      + + Example 2 - Creating an alarm to trigger one (1) hour before the scheduled start of the parent event/the parent todo + is due: + +
      
      + VAlarm reminder = new VAlarm(new Dur(0, -1, 0, 0));
      +
      + // repeat reminder four (4) more times every fifteen (15) minutes..
      + reminder.getProperties().add(new Repeat(4));
      + reminder.getProperties().add(new Duration(new Dur(0, 0, 15, 0)));
      +
      + // display a message..
      + reminder.getProperties().add(Action.DISPLAY);
      + reminder.getProperties().add(new Description("Progress Meeting at 9:30am"));
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VAlarm

          +
          public VAlarm()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          VAlarm

          +
          public VAlarm(PropertyList properties)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        + + + +
          +
        • +

          VAlarm

          +
          public VAlarm(DateTime trigger)
          +
          Constructs a new VALARM instance that will trigger at the specified time.
          +
          Parameters:
          trigger - the time the alarm will trigger
          +
        • +
        + + + +
          +
        • +

          VAlarm

          +
          public VAlarm(Dur trigger)
          +
          Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component.
          +
          Parameters:
          trigger - a duration of time relative to the parent component that the alarm will trigger at
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        + + + +
          +
        • +

          getAction

          +
          public final Action getAction()
          +
          Returns the mandatory action property.
          +
          Returns:
          the ACTION property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getTrigger

          +
          public final Trigger getTrigger()
          +
          Returns the mandatory trigger property.
          +
          Returns:
          the TRIGGER property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getDuration

          +
          public final Duration getDuration()
          +
          Returns the optional duration property.
          +
          Returns:
          the DURATION property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getRepeat

          +
          public final Repeat getRepeat()
          +
          Returns the optional repeat property.
          +
          Returns:
          the REPEAT property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getAttachment

          +
          public final Attach getAttachment()
          +
          Returns the optional attachment property.
          +
          Returns:
          the ATTACH property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getDescription

          +
          public final Description getDescription()
          +
          Returns the optional description property.
          +
          Returns:
          the DESCRIPTION property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getSummary

          +
          public final Summary getSummary()
          +
          Returns the optional summary property.
          +
          Returns:
          the SUMMARY property or null if not specified
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VAvailability.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VAvailability.html new file mode 100644 index 00000000..9feb8910 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VAvailability.html @@ -0,0 +1,456 @@ + + + + + + +VAvailability (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class VAvailability

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class VAvailability
      +extends CalendarComponent
      +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VAVAILABILITY component. + +
      +   Component Name:  VAVAILABILITY
      +
      +   Purpose:  Provide a grouping of component properties that describe
      +      the availability associated with a calendar user.
      +
      +   Format Definition:  A "VAVAILABILITY" calendar component is defined
      +      by the following notation:
      +
      +          availabilityc  = "BEGIN" ":" "VAVAILABILITY" CRLF
      +                           availabilityprop *availablec
      +                           "END" ":" "VAVAILABILITY" CRLF
      +
      +          availabilityprop  = *(
      +
      +                            ; the following are REQUIRED,
      +                            ; but MUST NOT occur more than once
      +
      +                            dtstamp / dtstart / uid
      +
      +                            ; the following are OPTIONAL,
      +                            ; but MUST NOT occur more than once
      +
      +                            busytype / created / last-mod /
      +                            organizer / seq / summary / url /
      +
      +                            ; either 'dtend' or 'duration' may appear
      +                            ; in a 'availabilityprop', but 'dtend' and
      +                            ; 'duration' MUST NOT occur in the same
      +                            ; 'availabilityprop'
      +
      +                            dtend / duration /
      +
      +                            ; the following are OPTIONAL,
      +                            ; and MAY occur more than once
      +
      +                            categories / comment / contact / x-prop
      +
      +                            )
      +
      +
      + 
      +
      Author:
      +
      Ben Fortuna, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VAvailability

          +
          public VAvailability()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          VAvailability

          +
          public VAvailability(PropertyList properties)
          +
          Constructs a new instance containing the specified properties.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        + + + +
          +
        • +

          VAvailability

          +
          public VAvailability(PropertyList properties,
          +             ComponentList available)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          available - a list of available components
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getAvailable

          +
          public final ComponentList getAvailable()
          +
          Returns the list of available times.
          +
          Returns:
          a component list
          +
        • +
        + + + + + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VEvent.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VEvent.html new file mode 100644 index 00000000..b651aa82 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VEvent.html @@ -0,0 +1,1032 @@ + + + + + + +VEvent (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class VEvent

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class VEvent
      +extends CalendarComponent
      +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VEVENT component. + +
      +       4.6.1 Event Component
      +   
      +          Component Name: "VEVENT"
      +   
      +          Purpose: Provide a grouping of component properties that describe an
      +          event.
      +   
      +          Format Definition: A "VEVENT" calendar component is defined by the
      +          following notation:
      +   
      +            eventc     = "BEGIN" ":" "VEVENT" CRLF
      +                         eventprop *alarmc
      +                         "END" ":" "VEVENT" CRLF
      +   
      +            eventprop  = *(
      +   
      +                       ; the following are optional,
      +                       ; but MUST NOT occur more than once
      +   
      +                       class / created / description / dtstart / geo /
      +                       last-mod / location / organizer / priority /
      +                       dtstamp / seq / status / summary / transp /
      +                       uid / url / recurid /
      +   
      +                       ; either 'dtend' or 'duration' may appear in
      +                       ; a 'eventprop', but 'dtend' and 'duration'
      +                       ; MUST NOT occur in the same 'eventprop'
      +   
      +                       dtend / duration /
      +   
      +                       ; the following are optional,
      +                       ; and MAY occur more than once
      +   
      +                       attach / attendee / categories / comment /
      +                       contact / exdate / exrule / rstatus / related /
      +                       resources / rdate / rrule / x-prop
      +   
      +                       )
      + 
      + + Example 1 - Creating a new all-day event: + +
      
      + java.util.Calendar cal = java.util.Calendar.getInstance();
      + cal.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER);
      + cal.set(java.util.Calendar.DAY_OF_MONTH, 25);
      + 
      + VEvent christmas = new VEvent(cal.getTime(), "Christmas Day");
      + 
      + // initialise as an all-day event..
      + christmas.getProperties().getProperty(Property.DTSTART).getParameters().add(
      +         Value.DATE);
      + 
      + // add timezone information..
      + VTimeZone tz = VTimeZone.getDefault();
      + TzId tzParam = new TzId(tz.getProperties().getProperty(Property.TZID)
      +         .getValue());
      + christmas.getProperties().getProperty(Property.DTSTART).getParameters().add(
      +         tzParam);
      + 
      + + Example 2 - Creating an event of one (1) hour duration: + +
      
      + java.util.Calendar cal = java.util.Calendar.getInstance();
      + // tomorrow..
      + cal.add(java.util.Calendar.DAY_OF_MONTH, 1);
      + cal.set(java.util.Calendar.HOUR_OF_DAY, 9);
      + cal.set(java.util.Calendar.MINUTE, 30);
      + 
      + VEvent meeting = new VEvent(cal.getTime(), 1000 * 60 * 60, "Progress Meeting");
      + 
      + // add timezone information..
      + VTimeZone tz = VTimeZone.getDefault();
      + TzId tzParam = new TzId(tz.getProperties().getProperty(Property.TZID)
      +         .getValue());
      + meeting.getProperties().getProperty(Property.DTSTART).getParameters().add(
      +         tzParam);
      + 
      + + Example 3 - Retrieve a list of periods representing a recurring event in a specified range: + +
      
      + Calendar weekday9AM = Calendar.getInstance();
      + weekday9AM.set(2005, Calendar.MARCH, 7, 9, 0, 0);
      + weekday9AM.set(Calendar.MILLISECOND, 0);
      + 
      + Calendar weekday5PM = Calendar.getInstance();
      + weekday5PM.set(2005, Calendar.MARCH, 7, 17, 0, 0);
      + weekday5PM.set(Calendar.MILLISECOND, 0);
      + 
      + // Do the recurrence until December 31st.
      + Calendar untilCal = Calendar.getInstance();
      + untilCal.set(2005, Calendar.DECEMBER, 31);
      + untilCal.set(Calendar.MILLISECOND, 0);
      + 
      + // 9:00AM to 5:00PM Rule
      + Recur recur = new Recur(Recur.WEEKLY, untilCal.getTime());
      + recur.getDayList().add(WeekDay.MO);
      + recur.getDayList().add(WeekDay.TU);
      + recur.getDayList().add(WeekDay.WE);
      + recur.getDayList().add(WeekDay.TH);
      + recur.getDayList().add(WeekDay.FR);
      + recur.setInterval(3);
      + recur.setWeekStartDay(WeekDay.MO.getDay());
      + RRule rrule = new RRule(recur);
      + 
      + Summary summary = new Summary("TEST EVENTS THAT HAPPEN 9-5 MON-FRI");
      + 
      + weekdayNineToFiveEvents = new VEvent();
      + weekdayNineToFiveEvents.getProperties().add(rrule);
      + weekdayNineToFiveEvents.getProperties().add(summary);
      + weekdayNineToFiveEvents.getProperties().add(new DtStart(weekday9AM.getTime()));
      + weekdayNineToFiveEvents.getProperties().add(new DtEnd(weekday5PM.getTime()));
      + 
      + // Test Start 04/01/2005, End One month later.
      + // Query Calendar Start and End Dates.
      + Calendar queryStartDate = Calendar.getInstance();
      + queryStartDate.set(2005, Calendar.APRIL, 1, 14, 47, 0);
      + queryStartDate.set(Calendar.MILLISECOND, 0);
      + Calendar queryEndDate = Calendar.getInstance();
      + queryEndDate.set(2005, Calendar.MAY, 1, 11, 15, 0);
      + queryEndDate.set(Calendar.MILLISECOND, 0);
      + 
      + // This range is monday to friday every three weeks, starting from
      + // March 7th 2005, which means for our query dates we need
      + // April 18th through to the 22nd.
      + PeriodList periods = weekdayNineToFiveEvents.getPeriods(queryStartDate
      +         .getTime(), queryEndDate.getTime());
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VEvent

          +
          public VEvent()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          VEvent

          +
          public VEvent(PropertyList properties)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        + + + +
          +
        • +

          VEvent

          +
          public VEvent(PropertyList properties,
          +      ComponentList alarms)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          alarms - a list of alarms
          +
        • +
        + + + +
          +
        • +

          VEvent

          +
          public VEvent(Date start,
          +      String summary)
          +
          Constructs a new VEVENT instance starting at the specified time with the specified summary.
          +
          Parameters:
          start - the start date of the new event
          summary - the event summary
          +
        • +
        + + + +
          +
        • +

          VEvent

          +
          public VEvent(Date start,
          +      Date end,
          +      String summary)
          +
          Constructs a new VEVENT instance starting and ending at the specified times with the specified summary.
          +
          Parameters:
          start - the start date of the new event
          end - the end date of the new event
          summary - the event summary
          +
        • +
        + + + +
          +
        • +

          VEvent

          +
          public VEvent(Date start,
          +      Dur duration,
          +      String summary)
          +
          Constructs a new VEVENT instance starting at the specified times, for the specified duration, with the specified + summary.
          +
          Parameters:
          start - the start date of the new event
          duration - the duration of the new event
          summary - the event summary
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getAlarms

          +
          public final ComponentList getAlarms()
          +
          Returns the list of alarms for this event.
          +
          Returns:
          a component list
          +
        • +
        + + + + + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        + + + +
          +
        • +

          getConsumedTime

          +
          public final PeriodList getConsumedTime(Date rangeStart,
          +                         Date rangeEnd)
          +
          Returns a normalised list of periods representing the consumed time for this event.
          +
          Parameters:
          rangeStart - the start of a range
          rangeEnd - the end of a range
          +
          Returns:
          a normalised list of periods representing consumed time for this event
          See Also:
          getConsumedTime(Date, Date, boolean)
          +
        • +
        + + + +
          +
        • +

          getConsumedTime

          +
          public final PeriodList getConsumedTime(Date rangeStart,
          +                         Date rangeEnd,
          +                         boolean normalise)
          +
          Returns a list of periods representing the consumed time for this event in the specified range. Note that the + returned list may contain a single period for non-recurring components or multiple periods for recurring + components. If no time is consumed by this event an empty list is returned.
          +
          Parameters:
          rangeStart - the start of the range to check for consumed time
          rangeEnd - the end of the range to check for consumed time
          normalise - indicate whether the returned list of periods should be normalised
          +
          Returns:
          a list of periods representing consumed time for this event
          +
        • +
        + + + +
          +
        • +

          getOccurrence

          +
          public final VEvent getOccurrence(Date date)
          +                           throws IOException,
          +                                  URISyntaxException,
          +                                  ParseException
          +
          Returns a single occurrence of a recurring event.
          +
          Parameters:
          date - a date on which the occurence should occur
          +
          Returns:
          a single non-recurring event instance for the specified date, or null if the event doesn't + occur on the specified date
          +
          Throws:
          +
          IOException - where an error occurs reading data
          +
          URISyntaxException - where an invalid URI is encountered
          +
          ParseException - where an error occurs parsing data
          +
        • +
        + + + +
          +
        • +

          getClassification

          +
          public final Clazz getClassification()
          +
          Returns:
          the optional access classification property for an event
          +
        • +
        + + + +
          +
        • +

          getCreated

          +
          public final Created getCreated()
          +
          Returns:
          the optional creation-time property for an event
          +
        • +
        + + + +
          +
        • +

          getDescription

          +
          public final Description getDescription()
          +
          Returns:
          the optional description property for an event
          +
        • +
        + + + +
          +
        • +

          getStartDate

          +
          public final DtStart getStartDate()
          +
          Convenience method to pull the DTSTART out of the property list.
          +
          Returns:
          The DtStart object representation of the start Date
          +
        • +
        + + + +
          +
        • +

          getGeographicPos

          +
          public final Geo getGeographicPos()
          +
          Returns:
          the optional geographic position property for an event
          +
        • +
        + + + +
          +
        • +

          getLastModified

          +
          public final LastModified getLastModified()
          +
          Returns:
          the optional last-modified property for an event
          +
        • +
        + + + +
          +
        • +

          getLocation

          +
          public final Location getLocation()
          +
          Returns:
          the optional location property for an event
          +
        • +
        + + + +
          +
        • +

          getOrganizer

          +
          public final Organizer getOrganizer()
          +
          Returns:
          the optional organizer property for an event
          +
        • +
        + + + +
          +
        • +

          getPriority

          +
          public final Priority getPriority()
          +
          Returns:
          the optional priority property for an event
          +
        • +
        + + + +
          +
        • +

          getDateStamp

          +
          public final DtStamp getDateStamp()
          +
          Returns:
          the optional date-stamp property
          +
        • +
        + + + +
          +
        • +

          getSequence

          +
          public final Sequence getSequence()
          +
          Returns:
          the optional sequence number property for an event
          +
        • +
        + + + +
          +
        • +

          getStatus

          +
          public final Status getStatus()
          +
          Returns:
          the optional status property for an event
          +
        • +
        + + + +
          +
        • +

          getSummary

          +
          public final Summary getSummary()
          +
          Returns:
          the optional summary property for an event
          +
        • +
        + + + +
          +
        • +

          getTransparency

          +
          public final Transp getTransparency()
          +
          Returns:
          the optional time transparency property for an event
          +
        • +
        + + + +
          +
        • +

          getUrl

          +
          public final Url getUrl()
          +
          Returns:
          the optional URL property for an event
          +
        • +
        + + + +
          +
        • +

          getRecurrenceId

          +
          public final RecurrenceId getRecurrenceId()
          +
          Returns:
          the optional recurrence identifier property for an event
          +
        • +
        + + + +
          +
        • +

          getEndDate

          +
          public final DtEnd getEndDate()
          +
          Returns the end date of this event. Where an end date is not available it will be derived from the event + duration.
          +
          Returns:
          a DtEnd instance, or null if one cannot be derived
          +
        • +
        + + + +
          +
        • +

          getEndDate

          +
          public final DtEnd getEndDate(boolean deriveFromDuration)
          +
          Convenience method to pull the DTEND out of the property list. If DTEND was not specified, use the DTSTART + + DURATION to calculate it.
          +
          Parameters:
          deriveFromDuration - specifies whether to derive an end date from the event duration where an end date is + not found
          +
          Returns:
          The end for this VEVENT.
          +
        • +
        + + + +
          +
        • +

          getDuration

          +
          public final Duration getDuration()
          +
          Returns:
          the optional Duration property
          +
        • +
        + + + +
          +
        • +

          getUid

          +
          public final Uid getUid()
          +
          Returns the UID property of this component if available.
          +
          Returns:
          a Uid instance, or null if no UID property exists
          +
        • +
        + + + + + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Component
          +
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VFreeBusy.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VFreeBusy.html new file mode 100644 index 00000000..7467ad67 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VFreeBusy.html @@ -0,0 +1,692 @@ + + + + + + +VFreeBusy (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class VFreeBusy

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class VFreeBusy
      +extends CalendarComponent
      +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VFREEBUSY component. + +
      +  4.6.4 Free/Busy Component
      +
      +     Component Name: VFREEBUSY
      +
      +     Purpose: Provide a grouping of component properties that describe
      +     either a request for free/busy time, describe a response to a request
      +     for free/busy time or describe a published set of busy time.
      +
      +     Formal Definition: A "VFREEBUSY" calendar component is defined by the
      +     following notation:
      +
      +       freebusyc  = "BEGIN" ":" "VFREEBUSY" CRLF
      +                    fbprop
      +                    "END" ":" "VFREEBUSY" CRLF
      +
      +       fbprop     = *(
      +
      +                  ; the following are optional,
      +                  ; but MUST NOT occur more than once
      +
      +                  contact / dtstart / dtend / duration / dtstamp /
      +                  organizer / uid / url /
      +
      +                  ; the following are optional,
      +                  ; and MAY occur more than once
      +
      +                  attendee / comment / freebusy / rstatus / x-prop
      +
      +                  )
      +
      +     Description: A "VFREEBUSY" calendar component is a grouping of
      +     component properties that represents either a request for, a reply to
      +     a request for free or busy time information or a published set of
      +     busy time information.
      +
      +     When used to request free/busy time information, the "ATTENDEE"
      +     property specifies the calendar users whose free/busy time is being
      +     requested; the "ORGANIZER" property specifies the calendar user who
      +     is requesting the free/busy time; the "DTSTART" and "DTEND"
      +     properties specify the window of time for which the free/busy time is
      +     being requested; the "UID" and "DTSTAMP" properties are specified to
      +     assist in proper sequencing of multiple free/busy time requests.
      +
      +     When used to reply to a request for free/busy time, the "ATTENDEE"
      +     property specifies the calendar user responding to the free/busy time
      +     request; the "ORGANIZER" property specifies the calendar user that
      +     originally requested the free/busy time; the "FREEBUSY" property
      +     specifies the free/busy time information (if it exists); and the
      +     "UID" and "DTSTAMP" properties are specified to assist in proper
      +     sequencing of multiple free/busy time replies.
      +
      +     When used to publish busy time, the "ORGANIZER" property specifies
      +     the calendar user associated with the published busy time; the
      +     "DTSTART" and "DTEND" properties specify an inclusive time window
      +     that surrounds the busy time information; the "FREEBUSY" property
      +     specifies the published busy time information; and the "DTSTAMP"
      +     property specifies the date/time that iCalendar object was created.
      +
      +     The "VFREEBUSY" calendar component cannot be nested within another
      +     calendar component. Multiple "VFREEBUSY" calendar components can be
      +     specified within an iCalendar object. This permits the grouping of
      +     Free/Busy information into logical collections, such as monthly
      +     groups of busy time information.
      +
      +     The "VFREEBUSY" calendar component is intended for use in iCalendar
      +     object methods involving requests for free time, requests for busy
      +     time, requests for both free and busy, and the associated replies.
      +
      +     Free/Busy information is represented with the "FREEBUSY" property.
      +     This property provides a terse representation of time periods. One or
      +     more "FREEBUSY" properties can be specified in the "VFREEBUSY"
      +     calendar component.
      +
      +     When present in a "VFREEBUSY" calendar component, the "DTSTART" and
      +     "DTEND" properties SHOULD be specified prior to any "FREEBUSY"
      +     properties. In a free time request, these properties can be used in
      +     combination with the "DURATION" property to represent a request for a
      +     duration of free time within a specified window of time.
      +
      +     The recurrence properties ("RRULE", "EXRULE", "RDATE", "EXDATE") are
      +     not permitted within a "VFREEBUSY" calendar component. Any recurring
      +     events are resolved into their individual busy time periods using the
      +     "FREEBUSY" property.
      +
      +     Example: The following is an example of a "VFREEBUSY" calendar
      +     component used to request free or busy time information:
      +
      +       BEGIN:VFREEBUSY
      +       ORGANIZER:MAILTO:jane_doe@host1.com
      +       ATTENDEE:MAILTO:john_public@host2.com
      +       DTSTART:19971015T050000Z
      +       DTEND:19971016T050000Z
      +       DTSTAMP:19970901T083000Z
      +       END:VFREEBUSY
      +
      +     The following is an example of a "VFREEBUSY" calendar component used
      +     to reply to the request with busy time information:
      +
      +       BEGIN:VFREEBUSY
      +       ORGANIZER:MAILTO:jane_doe@host1.com
      +       ATTENDEE:MAILTO:john_public@host2.com
      +       DTSTAMP:19970901T100000Z
      +       FREEBUSY;VALUE=PERIOD:19971015T050000Z/PT8H30M,
      +        19971015T160000Z/PT5H30M,19971015T223000Z/PT6H30M
      +       URL:http://host2.com/pub/busy/jpublic-01.ifb
      +       COMMENT:This iCalendar file contains busy time information for
      +         the next three months.
      +       END:VFREEBUSY
      +
      +     The following is an example of a "VFREEBUSY" calendar component used
      +     to publish busy time information.
      +
      +       BEGIN:VFREEBUSY
      +       ORGANIZER:jsmith@host.com
      +       DTSTART:19980313T141711Z
      +       DTEND:19980410T141711Z
      +       FREEBUSY:19980314T233000Z/19980315T003000Z
      +       FREEBUSY:19980316T153000Z/19980316T163000Z
      +       FREEBUSY:19980318T030000Z/19980318T040000Z
      +       URL:http://www.host.com/calendar/busytime/jsmith.ifb
      +       END:VFREEBUSY
      + 
      + + Example 1 - Requesting all busy time slots for a given period: + +
      
      + // request all busy times between today and 1 week from now..
      + DateTime start = new DateTime();
      + DateTime end = new DateTime(start.getTime() + 1000 * 60 * 60 * 24 * 7);
      +
      + VFreeBusy request = new VFreeBusy(start, end);
      +
      + VFreeBusy reply = new VFreeBusy(request, calendar.getComponents());
      + 
      + + Example 2 - Requesting all free time slots for a given period of at least the specified duration: + +
      
      + // request all free time between today and 1 week from now of
      + // duration 2 hours or more..
      + DateTime start = new DateTime();
      + DateTime end = new DateTime(start.getTime() + 1000 * 60 * 60 * 24 * 7);
      +
      + VFreeBusy request = new VFreeBusy(start, end, new Dur(0, 2, 0, 0));
      +
      + VFreeBusy response = new VFreeBusy(request, myCalendar.getComponents());
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VFreeBusy

          +
          public VFreeBusy()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          VFreeBusy

          +
          public VFreeBusy(PropertyList properties)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        + + + +
          +
        • +

          VFreeBusy

          +
          public VFreeBusy(DateTime start,
          +         DateTime end)
          +
          Constructs a new VFreeBusy instance with the specified start and end boundaries. This constructor should be used + for requesting busy time for a specified period.
          +
          Parameters:
          start - the starting boundary for the VFreeBusy
          end - the ending boundary for the VFreeBusy
          +
        • +
        + + + +
          +
        • +

          VFreeBusy

          +
          public VFreeBusy(DateTime start,
          +         DateTime end,
          +         Dur duration)
          +
          Constructs a new VFreeBusy instance with the specified start and end boundaries. This constructor should be used + for requesting free time for a specified duration in given period defined by the start date and end date.
          +
          Parameters:
          start - the starting boundary for the VFreeBusy
          end - the ending boundary for the VFreeBusy
          duration - the length of the period being requested
          +
        • +
        + + + +
          +
        • +

          VFreeBusy

          +
          public VFreeBusy(VFreeBusy request,
          +         ComponentList components)
          +
          Constructs a new VFreeBusy instance representing a reply to the specified VFREEBUSY request according to the + specified list of components. + If the request argument has its duration set, then the result + represents a list of free times (that is, parameter FBTYPE + is set to FbType.FREE). + If the request argument does not have its duration set, then the result + represents a list of busy times.
          +
          Parameters:
          request - a VFREEBUSY request
          components - a component list used to initialise busy time
          +
          Throws:
          +
          ValidationException
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        + + + +
          +
        • +

          getContact

          +
          public final Contact getContact()
          +
          Returns:
          the CONTACT property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getStartDate

          +
          public final DtStart getStartDate()
          +
          Returns:
          the DTSTART propery or null if not specified
          +
        • +
        + + + +
          +
        • +

          getEndDate

          +
          public final DtEnd getEndDate()
          +
          Returns:
          the DTEND property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getDuration

          +
          public final Duration getDuration()
          +
          Returns:
          the DURATION property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getDateStamp

          +
          public final DtStamp getDateStamp()
          +
          Returns:
          the DTSTAMP property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getOrganizer

          +
          public final Organizer getOrganizer()
          +
          Returns:
          the ORGANIZER property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getUrl

          +
          public final Url getUrl()
          +
          Returns:
          the URL property or null if not specified
          +
        • +
        + + + +
          +
        • +

          getUid

          +
          public final Uid getUid()
          +
          Returns the UID property of this component if available.
          +
          Returns:
          a Uid instance, or null if no UID property exists
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VJournal.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VJournal.html new file mode 100644 index 00000000..24d6c2f2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VJournal.html @@ -0,0 +1,619 @@ + + + + + + +VJournal (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class VJournal

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class VJournal
      +extends CalendarComponent
      +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VJOURNAL component. + +
      +    4.6.3 Journal Component
      +
      +       Component Name: VJOURNAL
      +
      +       Purpose: Provide a grouping of component properties that describe a
      +       journal entry.
      +
      +       Formal Definition: A "VJOURNAL" calendar component is defined by the
      +       following notation:
      +
      +         journalc   = "BEGIN" ":" "VJOURNAL" CRLF
      +                      jourprop
      +                      "END" ":" "VJOURNAL" CRLF
      +
      +         jourprop   = *(
      +
      +                    ; the following are optional,
      +                    ; but MUST NOT occur more than once
      +
      +                    class / created / description / dtstart / dtstamp /
      +                    last-mod / organizer / recurid / seq / status /
      +                    summary / uid / url /
      +
      +                    ; the following are optional,
      +                    ; and MAY occur more than once
      +
      +                    attach / attendee / categories / comment /
      +                    contact / exdate / exrule / related / rdate /
      +                    rrule / rstatus / x-prop
      +
      +                    )
      + 
      + + Example 1 - Creating a journal associated with an event: + +
      
      + DtStart meetingDate = (DtStart) meeting.getProperties().getProperty(
      +         Property.DTSTART);
      +
      + VJournal minutes = new VJournal(meetingDate.getTime(),
      +         "Progress Meeting - Minutes");
      +
      + // add timezone information..
      + TzId tzParam = meetingDate.getParameters().getParmaeter(Parameter.TZID);
      + minutes.getProperties().getProperty(Property.DTSTART).getParameters().add(
      +         tzParam);
      +
      + // add description..
      + minutes.getProperties().add(new Description("1. Agenda.., 2. Action Items.."));
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VJournal

          +
          public VJournal()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          VJournal

          +
          public VJournal(PropertyList properties)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        + + + +
          +
        • +

          VJournal

          +
          public VJournal(Date start,
          +        String summary)
          +
          Constructs a new VJOURNAL instance associated with the specified time with the specified summary.
          +
          Parameters:
          start - the date the journal entry is associated with
          summary - the journal summary
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        + + + +
          +
        • +

          getClassification

          +
          public final Clazz getClassification()
          +
          Returns:
          the optional access classification property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getCreated

          +
          public final Created getCreated()
          +
          Returns:
          the optional creation-time property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getDescription

          +
          public final Description getDescription()
          +
          Returns:
          the optional description property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getStartDate

          +
          public final DtStart getStartDate()
          +
          Convenience method to pull the DTSTART out of the property list.
          +
          Returns:
          The DtStart object representation of the start Date
          +
        • +
        + + + +
          +
        • +

          getLastModified

          +
          public final LastModified getLastModified()
          +
          Returns:
          the optional last-modified property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getOrganizer

          +
          public final Organizer getOrganizer()
          +
          Returns:
          the optional organizer property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getDateStamp

          +
          public final DtStamp getDateStamp()
          +
          Returns:
          the optional date-stamp property
          +
        • +
        + + + +
          +
        • +

          getSequence

          +
          public final Sequence getSequence()
          +
          Returns:
          the optional sequence number property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getStatus

          +
          public final Status getStatus()
          +
          Returns:
          the optional status property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getSummary

          +
          public final Summary getSummary()
          +
          Returns:
          the optional summary property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getUrl

          +
          public final Url getUrl()
          +
          Returns:
          the optional URL property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getRecurrenceId

          +
          public final RecurrenceId getRecurrenceId()
          +
          Returns:
          the optional recurrence identifier property for a journal entry
          +
        • +
        + + + +
          +
        • +

          getUid

          +
          public final Uid getUid()
          +
          Returns the UID property of this component if available.
          +
          Returns:
          a Uid instance, or null if no UID property exists
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VTimeZone.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VTimeZone.html new file mode 100644 index 00000000..033d5aad --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VTimeZone.html @@ -0,0 +1,614 @@ + + + + + + +VTimeZone (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class VTimeZone

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class VTimeZone
      +extends CalendarComponent
      +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VTIMEZONE component. + +
      +       4.6.5 Time Zone Component
      +  
      +          Component Name: VTIMEZONE
      +  
      +          Purpose: Provide a grouping of component properties that defines a
      +          time zone.
      +  
      +          Formal Definition: A "VTIMEZONE" calendar component is defined by the
      +          following notation:
      +  
      +            timezonec  = "BEGIN" ":" "VTIMEZONE" CRLF
      +  
      +                         2*(
      +  
      +                         ; 'tzid' is required, but MUST NOT occur more
      +                         ; than once
      +  
      +                       tzid /
      +  
      +                         ; 'last-mod' and 'tzurl' are optional,
      +                       but MUST NOT occur more than once
      +  
      +                       last-mod / tzurl /
      +  
      +                         ; one of 'standardc' or 'daylightc' MUST occur
      +                       ..; and each MAY occur more than once.
      +  
      +                       standardc / daylightc /
      +  
      +                       ; the following is optional,
      +                       ; and MAY occur more than once
      +  
      +                         x-prop
      +  
      +                         )
      +  
      +                         "END" ":" "VTIMEZONE" CRLF
      +  
      +            standardc  = "BEGIN" ":" "STANDARD" CRLF
      +  
      +                         tzprop
      +  
      +                         "END" ":" "STANDARD" CRLF
      +  
      +            daylightc  = "BEGIN" ":" "DAYLIGHT" CRLF
      +  
      +                         tzprop
      +  
      +                         "END" ":" "DAYLIGHT" CRLF
      +  
      +            tzprop     = 3*(
      +  
      +                       ; the following are each REQUIRED,
      +                       ; but MUST NOT occur more than once
      +  
      +                       dtstart / tzoffsetto / tzoffsetfrom /
      +  
      +                       ; the following are optional,
      +                       ; and MAY occur more than once
      +  
      +                       comment / rdate / rrule / tzname / x-prop
      +  
      +                       )
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VTimeZone

          +
          public VTimeZone()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          VTimeZone

          +
          public VTimeZone(PropertyList properties)
          +
          Constructs a new instance containing the specified properties.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        + + + +
          +
        • +

          VTimeZone

          +
          public VTimeZone(ComponentList observances)
          +
          Constructs a new vtimezone component with no properties and the specified list of type components.
          +
          Parameters:
          observances - a list of type components
          +
        • +
        + + + +
          +
        • +

          VTimeZone

          +
          public VTimeZone(PropertyList properties,
          +         ComponentList observances)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          observances - a list of timezone types
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        + + + +
          +
        • +

          getObservances

          +
          public final ComponentList getObservances()
          +
          Returns:
          Returns the types.
          +
        • +
        + + + +
          +
        • +

          getApplicableObservance

          +
          public final Observance getApplicableObservance(Date date)
          +
          Returns the latest applicable timezone observance for the specified date.
          +
          Parameters:
          date - the latest possible date for a timezone observance onset
          +
          Returns:
          the latest applicable timezone observance for the specified date or null if there are no applicable + observances
          +
        • +
        + + + +
          +
        • +

          getTimeZoneId

          +
          public final TzId getTimeZoneId()
          +
          Returns:
          the mandatory timezone identifier property
          +
        • +
        + + + +
          +
        • +

          getLastModified

          +
          public final LastModified getLastModified()
          +
          Returns:
          the optional last-modified property
          +
        • +
        + + + +
          +
        • +

          getTimeZoneUrl

          +
          public final TzUrl getTimeZoneUrl()
          +
          Returns:
          the optional timezone url property
          +
        • +
        + + + + + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Component
          +
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VToDo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VToDo.html new file mode 100644 index 00000000..f3a51e1b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VToDo.html @@ -0,0 +1,862 @@ + + + + + + +VToDo (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class VToDo

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class VToDo
      +extends CalendarComponent
      +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VTODO component. + +
      +       4.6.2 To-do Component
      +  
      +          Component Name: VTODO
      +  
      +          Purpose: Provide a grouping of calendar properties that describe a
      +          to-do.
      +  
      +          Formal Definition: A "VTODO" calendar component is defined by the
      +          following notation:
      +  
      +            todoc      = "BEGIN" ":" "VTODO" CRLF
      +                         todoprop *alarmc
      +                         "END" ":" "VTODO" CRLF
      +  
      +            todoprop   = *(
      +  
      +                       ; the following are optional,
      +                       ; but MUST NOT occur more than once
      +  
      +                       class / completed / created / description / dtstamp /
      +                       dtstart / geo / last-mod / location / organizer /
      +                       percent / priority / recurid / seq / status /
      +                       summary / uid / url /
      +  
      +                       ; either 'due' or 'duration' may appear in
      +                       ; a 'todoprop', but 'due' and 'duration'
      +                       ; MUST NOT occur in the same 'todoprop'
      +  
      +                       due / duration /
      +  
      +                       ; the following are optional,
      +                       ; and MAY occur more than once
      +                       attach / attendee / categories / comment / contact /
      +                       exdate / exrule / rstatus / related / resources /
      +                       rdate / rrule / x-prop
      +  
      +                       )
      + 
      + + Example 1 - Creating a todo of two (2) hour duration starting tomorrow: + +
      
      + java.util.Calendar cal = java.util.Calendar.getInstance();
      + // tomorrow..
      + cal.add(java.util.Calendar.DAY_OF_MONTH, 1);
      + cal.set(java.util.Calendar.HOUR_OF_DAY, 11);
      + cal.set(java.util.Calendar.MINUTE, 00);
      + 
      + VToDo documentation = new VEvent(cal.getTime(), 1000 * 60 * 60 * 2,
      +         "Document calendar component usage");
      + 
      + // add timezone information..
      + VTimeZone tz = VTimeZone.getDefault();
      + TzId tzParam = new TzId(tz.getProperties().getProperty(Property.TZID)
      +         .getValue());
      + documentation.getProperties().getProperty(Property.DTSTART).getParameters()
      +         .add(tzParam);
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VToDo

          +
          public VToDo()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          VToDo

          +
          public VToDo(PropertyList properties)
          +
          Constructor.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        + + + +
          +
        • +

          VToDo

          +
          public VToDo(Date start,
          +     String summary)
          +
          Constructs a new VTODO instance starting at the specified time with the specified summary.
          +
          Parameters:
          start - the start date of the new todo
          summary - the todo summary
          +
        • +
        + + + +
          +
        • +

          VToDo

          +
          public VToDo(Date start,
          +     Date due,
          +     String summary)
          +
          Constructs a new VTODO instance starting and ending at the specified times with the specified summary.
          +
          Parameters:
          start - the start date of the new todo
          due - the due date of the new todo
          summary - the todo summary
          +
        • +
        + + + +
          +
        • +

          VToDo

          +
          public VToDo(Date start,
          +     Dur duration,
          +     String summary)
          +
          Constructs a new VTODO instance starting at the specified times, for the specified duration, with the specified + summary.
          +
          Parameters:
          start - the start date of the new todo
          duration - the duration of the new todo
          summary - the todo summary
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getAlarms

          +
          public final ComponentList getAlarms()
          +
          Returns the list of alarms for this todo.
          +
          Returns:
          a component list
          +
        • +
        + + + + + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        + + + +
          +
        • +

          getClassification

          +
          public final Clazz getClassification()
          +
          Returns:
          the optional access classification property
          +
        • +
        + + + +
          +
        • +

          getDateCompleted

          +
          public final Completed getDateCompleted()
          +
          Returns:
          the optional date completed property
          +
        • +
        + + + +
          +
        • +

          getCreated

          +
          public final Created getCreated()
          +
          Returns:
          the optional creation-time property
          +
        • +
        + + + +
          +
        • +

          getDescription

          +
          public final Description getDescription()
          +
          Returns:
          the optional description property
          +
        • +
        + + + +
          +
        • +

          getStartDate

          +
          public final DtStart getStartDate()
          +
          Convenience method to pull the DTSTART out of the property list.
          +
          Returns:
          The DtStart object representation of the start Date
          +
        • +
        + + + +
          +
        • +

          getGeographicPos

          +
          public final Geo getGeographicPos()
          +
          Returns:
          the optional geographic position property
          +
        • +
        + + + +
          +
        • +

          getLastModified

          +
          public final LastModified getLastModified()
          +
          Returns:
          the optional last-modified property
          +
        • +
        + + + +
          +
        • +

          getLocation

          +
          public final Location getLocation()
          +
          Returns:
          the optional location property
          +
        • +
        + + + +
          +
        • +

          getOrganizer

          +
          public final Organizer getOrganizer()
          +
          Returns:
          the optional organizer property
          +
        • +
        + + + +
          +
        • +

          getPercentComplete

          +
          public final PercentComplete getPercentComplete()
          +
          Returns:
          the optional percentage complete property
          +
        • +
        + + + +
          +
        • +

          getPriority

          +
          public final Priority getPriority()
          +
          Returns:
          the optional priority property
          +
        • +
        + + + +
          +
        • +

          getDateStamp

          +
          public final DtStamp getDateStamp()
          +
          Returns:
          the optional date-stamp property
          +
        • +
        + + + +
          +
        • +

          getSequence

          +
          public final Sequence getSequence()
          +
          Returns:
          the optional sequence number property
          +
        • +
        + + + +
          +
        • +

          getStatus

          +
          public final Status getStatus()
          +
          Returns:
          the optional status property
          +
        • +
        + + + +
          +
        • +

          getSummary

          +
          public final Summary getSummary()
          +
          Returns:
          the optional summary property
          +
        • +
        + + + +
          +
        • +

          getUrl

          +
          public final Url getUrl()
          +
          Returns:
          the optional URL property
          +
        • +
        + + + +
          +
        • +

          getRecurrenceId

          +
          public final RecurrenceId getRecurrenceId()
          +
          Returns:
          the optional recurrence identifier property
          +
        • +
        + + + +
          +
        • +

          getDuration

          +
          public final Duration getDuration()
          +
          Returns:
          the optional Duration property
          +
        • +
        + + + +
          +
        • +

          getDue

          +
          public final Due getDue()
          +
          Returns:
          the optional due property
          +
        • +
        + + + +
          +
        • +

          getUid

          +
          public final Uid getUid()
          +
          Returns the UID property of this component if available.
          +
          Returns:
          a Uid instance, or null if no UID property exists
          +
        • +
        + + + + + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Component
          +
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VVenue.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VVenue.html new file mode 100644 index 00000000..2d1f7301 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/VVenue.html @@ -0,0 +1,420 @@ + + + + + + +VVenue (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class VVenue

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class VVenue
      +extends CalendarComponent
      +
      $Id $ [Apr 5, 2004] + + Defines an iCalendar VVENUE component. + +
      + 4.  Venue Component
      +
      +    Component Name: "VVENUE"
      +
      +    Purpose: Provide a grouping of component properties that describe an
      +    event venue.
      +
      +    Format Definition: A "VVENUE" calendar component is defined by the
      +    following notation:
      +      venuec  = "BEGIN" ":" "VVENUE" CRLF
      +              venueprop
      +              "END" ":" "VVENUE" CRLF
      +
      +      venueprop  = *(
      +
      +                ; the following are all REQUIRED,
      +                ; but MUST NOT occur more than once
      +
      +                uid
      +
      +                ; the following are optional,
      +                ; but MUST NOT occur more than once
      +
      +                name / description / street-address / extended-address /
      +                locality / region / country / postal-code / tzid / geo /
      +                location-type / categories
      +
      +                ; the following are optional,
      +                ; and MAY occur more than once
      +
      +                tel / url
      +              )
      +
      +    Description: A "VVENUE" calendar component is a grouping of component
      +    properties that represent a venue where an event occurs.  This
      +    extends the "LOCATION" property of "VEVENT" and "TODO" components,
      +    providing the ability to specify detailed information about the event
      +    venue.
      +
      + 
      +
      Author:
      +
      Ben Fortuna, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VVenue

          +
          public VVenue()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          VVenue

          +
          public VVenue(PropertyList properties)
          +
          Constructs a new instance containing the specified properties.
          +
          Parameters:
          properties - a list of properties
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/XComponent.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/XComponent.html new file mode 100644 index 00000000..0e623602 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/XComponent.html @@ -0,0 +1,366 @@ + + + + + + +XComponent (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.component

    +

    Class XComponent

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class XComponent
      +extends CalendarComponent
      +
      $Id$ + + Created on 3/11/2005 + + Implementation of an experimental component as defined in RFC2445.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          XComponent

          +
          public XComponent(String name)
          +
          Creates a new experimental component with the specified name.
          +
          Parameters:
          name - the name of the experimental component
          +
        • +
        + + + +
          +
        • +

          XComponent

          +
          public XComponent(String name,
          +          PropertyList properties)
          +
          Creates a new experimental component with the specified name and properties.
          +
          Parameters:
          name - the name of the experimental component
          properties - a list of properties
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          validate

          +
          public final void validate(boolean recurse)
          +                    throws ValidationException
          +
          Perform validation on a component.
          +
          +
          Specified by:
          +
          validate in class Component
          +
          Parameters:
          recurse - indicates whether to validate the component's properties
          +
          Throws:
          +
          ValidationException - where the component is not in a valid state
          +
        • +
        + + + +
          +
        • +

          getValidator

          +
          protected Validator getValidator(Method method)
          +
          +
          Specified by:
          +
          getValidator in class CalendarComponent
          +
          Parameters:
          method - a method to validate on
          +
          Returns:
          a validator for the specified method or null if the method is not supported
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Available.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Available.html new file mode 100644 index 00000000..94127e40 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Available.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.Available (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.Available

    +
    +
    No usage of net.fortuna.ical4j.model.component.Available
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/CalendarComponent.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/CalendarComponent.html new file mode 100644 index 00000000..41c61b79 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/CalendarComponent.html @@ -0,0 +1,229 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.CalendarComponent (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.CalendarComponent

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Packages that use CalendarComponent 
      PackageDescription
      net.fortuna.ical4j.model.component +
      Contains types used to represent the iCalendar component model.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of CalendarComponent in net.fortuna.ical4j.model.component

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Subclasses of CalendarComponent in net.fortuna.ical4j.model.component 
        Modifier and TypeClass and Description
        class VAlarm +
        $Id$ [Apr 5, 2004] + + Defines an iCalendar VALARM component.
        +
        class VAvailability +
        $Id$ [Apr 5, 2004] + + Defines an iCalendar VAVAILABILITY component.
        +
        class VEvent +
        $Id$ [Apr 5, 2004] + + Defines an iCalendar VEVENT component.
        +
        class VFreeBusy +
        $Id$ [Apr 5, 2004] + + Defines an iCalendar VFREEBUSY component.
        +
        class VJournal +
        $Id$ [Apr 5, 2004] + + Defines an iCalendar VJOURNAL component.
        +
        class VTimeZone +
        $Id$ [Apr 5, 2004] + + Defines an iCalendar VTIMEZONE component.
        +
        class VToDo +
        $Id$ [Apr 5, 2004] + + Defines an iCalendar VTODO component.
        +
        class VVenue +
        $Id $ [Apr 5, 2004] + + Defines an iCalendar VVENUE component.
        +
        class XComponent +
        $Id$ + + Created on 3/11/2005 + + Implementation of an experimental component as defined in RFC2445.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Daylight.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Daylight.html new file mode 100644 index 00000000..68f69745 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Daylight.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.Daylight (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.Daylight

    +
    +
    No usage of net.fortuna.ical4j.model.component.Daylight
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Observance.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Observance.html new file mode 100644 index 00000000..7c8085de --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Observance.html @@ -0,0 +1,186 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.Observance (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.Observance

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Standard.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Standard.html new file mode 100644 index 00000000..f239a002 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/Standard.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.Standard (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.Standard

    +
    +
    No usage of net.fortuna.ical4j.model.component.Standard
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAlarm.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAlarm.html new file mode 100644 index 00000000..93ba4bee --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAlarm.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.VAlarm (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.VAlarm

    +
    +
    No usage of net.fortuna.ical4j.model.component.VAlarm
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAvailability.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAvailability.html new file mode 100644 index 00000000..a5dd62f8 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VAvailability.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.VAvailability (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.VAvailability

    +
    +
    No usage of net.fortuna.ical4j.model.component.VAvailability
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VEvent.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VEvent.html new file mode 100644 index 00000000..edcc41e6 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VEvent.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.VEvent (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.VEvent

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VFreeBusy.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VFreeBusy.html new file mode 100644 index 00000000..f0e16385 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VFreeBusy.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.VFreeBusy (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.VFreeBusy

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VJournal.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VJournal.html new file mode 100644 index 00000000..0aed46a8 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VJournal.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.VJournal (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.VJournal

    +
    +
    No usage of net.fortuna.ical4j.model.component.VJournal
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VTimeZone.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VTimeZone.html new file mode 100644 index 00000000..a43d7e2b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VTimeZone.html @@ -0,0 +1,172 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.VTimeZone (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.VTimeZone

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VToDo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VToDo.html new file mode 100644 index 00000000..4e86f3fa --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VToDo.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.VToDo (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.VToDo

    +
    +
    No usage of net.fortuna.ical4j.model.component.VToDo
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VVenue.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VVenue.html new file mode 100644 index 00000000..ab1470ad --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/VVenue.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.VVenue (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.VVenue

    +
    +
    No usage of net.fortuna.ical4j.model.component.VVenue
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/XComponent.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/XComponent.html new file mode 100644 index 00000000..9b323884 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/class-use/XComponent.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.component.XComponent (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.component.XComponent

    +
    +
    No usage of net.fortuna.ical4j.model.component.XComponent
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-frame.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-frame.html new file mode 100644 index 00000000..6085c2d8 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-frame.html @@ -0,0 +1,33 @@ + + + + + + +net.fortuna.ical4j.model.component (iCal4j 1.0.5 API) + + + + +

    net.fortuna.ical4j.model.component

    + + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-summary.html new file mode 100644 index 00000000..df66832c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-summary.html @@ -0,0 +1,256 @@ + + + + + + +net.fortuna.ical4j.model.component (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Package net.fortuna.ical4j.model.component

    +

    +

    Contains types used to represent the iCalendar component model.
    +

    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      Available +
      $Id$ [05-Apr-2004] + + Defines an iCalendar Available component.
      +
      CalendarComponent +
      $Id$ + + Created on 26/02/2006 + + Base class for components that may be added to a calendar.
      +
      Daylight +
      $Id$ [05-Apr-2004] + + Defines an iCalendar daylight savings timezone observance component.
      +
      Observance +
      $Id$ [05-Apr-2004] + + Defines an iCalendar sub-component representing a timezone observance.
      +
      Standard +
      $Id$ [05-Apr-2004] + + Defines an iCalendar standard timezone observance component.
      +
      VAlarm +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VALARM component.
      +
      VAvailability +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VAVAILABILITY component.
      +
      VEvent +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VEVENT component.
      +
      VFreeBusy +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VFREEBUSY component.
      +
      VJournal +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VJOURNAL component.
      +
      VTimeZone +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VTIMEZONE component.
      +
      VToDo +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar VTODO component.
      +
      VVenue +
      $Id $ [Apr 5, 2004] + + Defines an iCalendar VVENUE component.
      +
      XComponent +
      $Id$ + + Created on 3/11/2005 + + Implementation of an experimental component as defined in RFC2445.
      +
      +
    • +
    + + + +

    Package net.fortuna.ical4j.model.component Description

    +
    Contains types used to represent the iCalendar component model.
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-tree.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-tree.html new file mode 100644 index 00000000..758b5969 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-tree.html @@ -0,0 +1,153 @@ + + + + + + +net.fortuna.ical4j.model.component Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Hierarchy For Package net.fortuna.ical4j.model.component

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • net.fortuna.ical4j.model.Component (implements java.io.Serializable) +
          +
        • net.fortuna.ical4j.model.component.Available
        • +
        • net.fortuna.ical4j.model.component.CalendarComponent +
            +
          • net.fortuna.ical4j.model.component.VAlarm
          • +
          • net.fortuna.ical4j.model.component.VAvailability
          • +
          • net.fortuna.ical4j.model.component.VEvent
          • +
          • net.fortuna.ical4j.model.component.VFreeBusy
          • +
          • net.fortuna.ical4j.model.component.VJournal
          • +
          • net.fortuna.ical4j.model.component.VTimeZone
          • +
          • net.fortuna.ical4j.model.component.VToDo
          • +
          • net.fortuna.ical4j.model.component.VVenue
          • +
          • net.fortuna.ical4j.model.component.XComponent
          • +
          +
        • +
        • net.fortuna.ical4j.model.component.Observance +
            +
          • net.fortuna.ical4j.model.component.Daylight
          • +
          • net.fortuna.ical4j.model.component.Standard
          • +
          +
        • +
        +
      • +
      +
    • +
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-use.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-use.html new file mode 100644 index 00000000..3558ce8a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/component/package-use.html @@ -0,0 +1,204 @@ + + + + + + +Uses of Package net.fortuna.ical4j.model.component (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Package
    net.fortuna.ical4j.model.component

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-frame.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-frame.html new file mode 100644 index 00000000..5cd29893 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-frame.html @@ -0,0 +1,71 @@ + + + + + + +net.fortuna.ical4j.model (iCal4j 1.0.5 API) + + + + +

    net.fortuna.ical4j.model

    + + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-summary.html new file mode 100644 index 00000000..7e409f9d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-summary.html @@ -0,0 +1,540 @@ + + + + + + +net.fortuna.ical4j.model (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Package net.fortuna.ical4j.model

    +

    +

    Contains core types used to define the iCalendar model.
    +

    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Interface Summary 
      InterfaceDescription
      Escapable +
      $Id$ + + Created on 26/06/2005 + + Implementors by definition require their string value to be converted to/from an escaped form when converting to/from + and iCalendar representation.
      +
      ParameterFactory +
      Implementors provide parameter creation services.
      +
      PropertyFactory +
      A factory for creating iCalendar properties.
      +
      TimeZoneRegistry +
      $Id$ + + Created on 18/09/2005 + + Implementors provide a list of timezone definitions applicable for use + with iCalendar objects.
      +
      Validator 
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      AbstractContentFactory +
      $Id$ + + Created on 28/01/2007 + + Abstract implementation of a content factory.
      +
      AddressList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar addresses.
      +
      Calendar +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar calendar.
      +
      CalendarDateFormatFactory +
      $Id$ [06-Apr-2004] + + Creates DateFormat objects optimized for common iCalendar date patterns.
      +
      Component +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar component.
      +
      ComponentFactory +
      $Id$ [05-Apr-2004] + + A factory for creating iCalendar components.
      +
      ComponentList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar components.
      +
      Content +
      $Id$ + + Created: 12/10/2004 + + Base class for calendar content in the form of + properties and parameters.
      +
      Date +
      $Id$ + + Created on 26/06/2005 + + Base class for all representations of time values in RFC2445.
      +
      DateList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar dates.
      +
      DateRange 
      DateTime +
      $Id$ + + Created on 26/06/2005 + + Represents a time of day on a specific date.
      +
      DefaultTimeZoneRegistryFactory +
      $Id$ + + Created on 18/09/2005 + + Default factory implementation for timezone registries.
      +
      Dur +
      $Id$ + + Created on 20/06/2005 + + Represents a duration of time in iCalendar.
      +
      IndexedComponentList +
      $Id$ + + Created on 4/02/2006 + + Provides indexing of components on a specific property.
      +
      IndexedPropertyList +
      $Id$ + + Created on 4/02/2006 + + Provides indexing of properties on a specific parameter.
      +
      Iso8601 +
      $Id$ + + Created on 30/06/2005 + + Base class for date and time representations as defined + by the ISO 8601 standard.
      +
      LocationTypeList +
      $Id LocationTypeList.java $ [23-Apr-2004] + + Defines a list of iCalendar location types.
      +
      NumberList +
      $Id$ [29-May-2004] + + Defines a list of numbers.
      +
      Parameter +
      Defines an iCalendar parameter.
      +
      ParameterFactoryImpl +
      A factory for creating iCalendar parameters.
      +
      ParameterFactoryRegistry 
      ParameterList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar parameters.
      +
      Period +
      $Id$ [Apr 14, 2004] + + Defines a period of time.
      +
      PeriodList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar periods.
      +
      Property +
      Defines an iCalendar property.
      +
      PropertyFactoryImpl +
      A factory for creating iCalendar properties.
      +
      PropertyFactoryRegistry 
      PropertyList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar properties.
      +
      Recur +
      $Id$ [18-Apr-2004] + + Defines a recurrence.
      +
      TextList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar text elements.
      +
      Time +
      $Id$ + + Created on 30/06/2005 + + A type used to represent iCalendar time values.
      +
      TimeZone +
      $Id$ + + Created on 13/09/2005 + + A Java timezone implementation based on an underlying VTimeZone + definition.
      +
      TimeZoneRegistryFactory +
      $Id$ + + Created on 18/09/2005 + + Provides access to the configured TimeZoneRegistry instance.
      +
      TimeZoneRegistryImpl +
      $Id$ + + Created on 18/09/2005 + + The default implementation of a TimeZoneRegistry.
      +
      UtcOffset +
      $Id$ + + Created on 26/06/2005 + + Represents a timezone offset from UTC time.
      +
      WeekDay +
      $Id$ + + Created: 19/12/2004 + + Defines a day of the week with a possible offset related to + a MONTHLY or YEARLY occurrence.
      +
      WeekDayList +
      $Id$ [29-May-2004] + + Defines a list of days.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + +
      Exception Summary 
      ExceptionDescription
      CalendarException 
      ConstraintViolationException +
      $Id$ + + Created on 02/03/2008 + + Indicates the violation of a constraint imposed by a relevant specification.
      +
      ValidationException +
      $Id$ [23-Apr-2004] + + An exception thrown during validation.
      +
      +
    • +
    + + + +

    Package net.fortuna.ical4j.model Description

    +
    Contains core types used to define the iCalendar model.
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-tree.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-tree.html new file mode 100644 index 00000000..05977430 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-tree.html @@ -0,0 +1,238 @@ + + + + + + +net.fortuna.ical4j.model Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Hierarchy For Package net.fortuna.ical4j.model

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +

    Interface Hierarchy

    + +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-use.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-use.html new file mode 100644 index 00000000..22fb1a09 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/package-use.html @@ -0,0 +1,857 @@ + + + + + + +Uses of Package net.fortuna.ical4j.model (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Package
    net.fortuna.ical4j.model

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Packages that use net.fortuna.ical4j.model 
      PackageDescription
      net.fortuna.ical4j.data +
      Contains types providing RFC2445 input, output and parsing functionality.
      +
      net.fortuna.ical4j.filter +
      Filtering rules that may be used on lists of components, properties or parameters.
      +
      net.fortuna.ical4j.model +
      Contains core types used to define the iCalendar model.
      +
      net.fortuna.ical4j.model.component +
      Contains types used to represent the iCalendar component model.
      +
      net.fortuna.ical4j.model.parameter +
      Contains types used to represent the iCalendar parameter model.
      +
      net.fortuna.ical4j.model.property +
      Contains types used to represent the iCalendar property model.
      +
      net.fortuna.ical4j.transform +
      Contains types used to transform an iCalendar component model according to RFC2446.
      +
      net.fortuna.ical4j.util +
      Contains utility types that provide supporting functionality for iCal4j.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.data 
      Class and Description
      Calendar +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar calendar.
      +
      Component +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar component.
      +
      ParameterFactoryRegistry 
      Property +
      Defines an iCalendar property.
      +
      PropertyFactoryRegistry 
      TimeZoneRegistry +
      $Id$ + + Created on 18/09/2005 + + Implementors provide a list of timezone definitions applicable for use + with iCalendar objects.
      +
      ValidationException +
      $Id$ [23-Apr-2004] + + An exception thrown during validation.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.filter 
      Class and Description
      Component +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar component.
      +
      DateRange 
      Period +
      $Id$ [Apr 14, 2004] + + Defines a period of time.
      +
      Property +
      Defines an iCalendar property.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.model 
      Class and Description
      AbstractContentFactory +
      $Id$ + + Created on 28/01/2007 + + Abstract implementation of a content factory.
      +
      Calendar +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar calendar.
      +
      Component +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar component.
      +
      ComponentFactory +
      $Id$ [05-Apr-2004] + + A factory for creating iCalendar components.
      +
      ComponentList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar components.
      +
      Content +
      $Id$ + + Created: 12/10/2004 + + Base class for calendar content in the form of + properties and parameters.
      +
      Date +
      $Id$ + + Created on 26/06/2005 + + Base class for all representations of time values in RFC2445.
      +
      DateList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar dates.
      +
      DateRange 
      DateTime +
      $Id$ + + Created on 26/06/2005 + + Represents a time of day on a specific date.
      +
      Dur +
      $Id$ + + Created on 20/06/2005 + + Represents a duration of time in iCalendar.
      +
      Iso8601 +
      $Id$ + + Created on 30/06/2005 + + Base class for date and time representations as defined + by the ISO 8601 standard.
      +
      NumberList +
      $Id$ [29-May-2004] + + Defines a list of numbers.
      +
      Parameter +
      Defines an iCalendar parameter.
      +
      ParameterFactory +
      Implementors provide parameter creation services.
      +
      ParameterFactoryImpl +
      A factory for creating iCalendar parameters.
      +
      ParameterList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar parameters.
      +
      Period +
      $Id$ [Apr 14, 2004] + + Defines a period of time.
      +
      PeriodList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar periods.
      +
      Property +
      Defines an iCalendar property.
      +
      PropertyFactory +
      A factory for creating iCalendar properties.
      +
      PropertyFactoryImpl +
      A factory for creating iCalendar properties.
      +
      PropertyList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar properties.
      +
      TimeZone +
      $Id$ + + Created on 13/09/2005 + + A Java timezone implementation based on an underlying VTimeZone + definition.
      +
      TimeZoneRegistry +
      $Id$ + + Created on 18/09/2005 + + Implementors provide a list of timezone definitions applicable for use + with iCalendar objects.
      +
      TimeZoneRegistryFactory +
      $Id$ + + Created on 18/09/2005 + + Provides access to the configured TimeZoneRegistry instance.
      +
      ValidationException +
      $Id$ [23-Apr-2004] + + An exception thrown during validation.
      +
      WeekDay +
      $Id$ + + Created: 19/12/2004 + + Defines a day of the week with a possible offset related to + a MONTHLY or YEARLY occurrence.
      +
      WeekDayList +
      $Id$ [29-May-2004] + + Defines a list of days.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.model.component 
      Class and Description
      Component +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar component.
      +
      ComponentList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar components.
      +
      Date +
      $Id$ + + Created on 26/06/2005 + + Base class for all representations of time values in RFC2445.
      +
      DateTime +
      $Id$ + + Created on 26/06/2005 + + Represents a time of day on a specific date.
      +
      Dur +
      $Id$ + + Created on 20/06/2005 + + Represents a duration of time in iCalendar.
      +
      PeriodList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar periods.
      +
      PropertyList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar properties.
      +
      ValidationException +
      $Id$ [23-Apr-2004] + + An exception thrown during validation.
      +
      Validator 
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.model.parameter 
      Class and Description
      AddressList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar addresses.
      +
      Content +
      $Id$ + + Created: 12/10/2004 + + Base class for calendar content in the form of + properties and parameters.
      +
      Escapable +
      $Id$ + + Created on 26/06/2005 + + Implementors by definition require their string value to be converted to/from an escaped form when converting to/from + and iCalendar representation.
      +
      Parameter +
      Defines an iCalendar parameter.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.model.property 
      Class and Description
      Content +
      $Id$ + + Created: 12/10/2004 + + Base class for calendar content in the form of + properties and parameters.
      +
      Date +
      $Id$ + + Created on 26/06/2005 + + Base class for all representations of time values in RFC2445.
      +
      DateList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar dates.
      +
      DateTime +
      $Id$ + + Created on 26/06/2005 + + Represents a time of day on a specific date.
      +
      Dur +
      $Id$ + + Created on 20/06/2005 + + Represents a duration of time in iCalendar.
      +
      Escapable +
      $Id$ + + Created on 26/06/2005 + + Implementors by definition require their string value to be converted to/from an escaped form when converting to/from + and iCalendar representation.
      +
      LocationTypeList +
      $Id LocationTypeList.java $ [23-Apr-2004] + + Defines a list of iCalendar location types.
      +
      ParameterList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar parameters.
      +
      PeriodList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar periods.
      +
      Property +
      Defines an iCalendar property.
      +
      PropertyFactory +
      A factory for creating iCalendar properties.
      +
      Recur +
      $Id$ [18-Apr-2004] + + Defines a recurrence.
      +
      TextList +
      $Id$ [23-Apr-2004] + + Defines a list of iCalendar text elements.
      +
      TimeZone +
      $Id$ + + Created on 13/09/2005 + + A Java timezone implementation based on an underlying VTimeZone + definition.
      +
      UtcOffset +
      $Id$ + + Created on 26/06/2005 + + Represents a timezone offset from UTC time.
      +
      ValidationException +
      $Id$ [23-Apr-2004] + + An exception thrown during validation.
      +
      +
    • +
    • + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.transform 
      Class and Description
      Calendar +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar calendar.
      +
      Component +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar component.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model used by net.fortuna.ical4j.util 
      Class and Description
      Calendar +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar calendar.
      +
      Component +
      $Id$ [Apr 5, 2004] + + Defines an iCalendar component.
      +
      ComponentList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar components.
      +
      ConstraintViolationException +
      $Id$ + + Created on 02/03/2008 + + Indicates the violation of a constraint imposed by a relevant specification.
      +
      Date +
      $Id$ + + Created on 26/06/2005 + + Base class for all representations of time values in RFC2445.
      +
      Parameter +
      Defines an iCalendar parameter.
      +
      ParameterList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar parameters.
      +
      Property +
      Defines an iCalendar property.
      +
      PropertyList +
      $Id$ [Apr 5, 2004] + + Defines a list of iCalendar properties.
      +
      ValidationException +
      $Id$ [23-Apr-2004] + + An exception thrown during validation.
      +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Abbrev.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Abbrev.html new file mode 100644 index 00000000..41173ee0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Abbrev.html @@ -0,0 +1,305 @@ + + + + + + +Abbrev (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Abbrev

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Abbrev
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines an Abbreviation parameter.
      +
      Author:
      +
      benfortuna, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Abbrev

          +
          public Abbrev(String aValue)
          +
          Parameters:
          aValue - a string abbreviation
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/AltRep.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/AltRep.html new file mode 100644 index 00000000..e6990d40 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/AltRep.html @@ -0,0 +1,335 @@ + + + + + + +AltRep (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class AltRep

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class AltRep
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines an Alternate Text Representation parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AltRep

          +
          public AltRep(String aValue)
          +       throws URISyntaxException
          +
          Parameters:
          aValue - a string representation of an alternate text represenation
          +
          Throws:
          +
          URISyntaxException - when the specified string is not a value (quoted) uri
          +
        • +
        + + + +
          +
        • +

          AltRep

          +
          public AltRep(URI aUri)
          +
          Parameters:
          aUri - a URI representing an alternate text representation
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getUri

          +
          public final URI getUri()
          +
          Returns:
          Returns the uri.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Cn.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Cn.html new file mode 100644 index 00000000..a65e43d2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Cn.html @@ -0,0 +1,305 @@ + + + + + + +Cn (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Cn

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Cn
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Common Name parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Cn

          +
          public Cn(String aValue)
          +
          Parameters:
          aValue - a string representation of a Common Name
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/CuType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/CuType.html new file mode 100644 index 00000000..30dca28f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/CuType.html @@ -0,0 +1,400 @@ + + + + + + +CuType (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class CuType

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class CuType
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Calendar User Type.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          INDIVIDUAL

          +
          public static final CuType INDIVIDUAL
          +
          Individual.
          +
        • +
        + + + +
          +
        • +

          GROUP

          +
          public static final CuType GROUP
          +
          Group.
          +
        • +
        + + + +
          +
        • +

          RESOURCE

          +
          public static final CuType RESOURCE
          +
          Resource.
          +
        • +
        + + + +
          +
        • +

          ROOM

          +
          public static final CuType ROOM
          +
          Room.
          +
        • +
        + + + +
          +
        • +

          UNKNOWN

          +
          public static final CuType UNKNOWN
          +
          Unknown.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CuType

          +
          public CuType(String aValue)
          +
          Parameters:
          aValue - a string representation of a Calendar User Type
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedFrom.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedFrom.html new file mode 100644 index 00000000..559e2882 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedFrom.html @@ -0,0 +1,355 @@ + + + + + + +DelegatedFrom (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class DelegatedFrom

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class DelegatedFrom
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Delegators parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DelegatedFrom

          +
          public DelegatedFrom(String aValue)
          +              throws URISyntaxException
          +
          Parameters:
          aValue - a string representation of Delegators
          +
          Throws:
          +
          URISyntaxException - when the specified string is not a valid list of cal-addresses
          +
        • +
        + + + +
          +
        • +

          DelegatedFrom

          +
          public DelegatedFrom(AddressList aList)
          +
          Parameters:
          aList - a list of addresses
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDelegators

          +
          public final AddressList getDelegators()
          +
          Returns:
          Returns the delegators addresses.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          isQuotable

          +
          protected boolean isQuotable()
          +
          Indicates whether the current parameter value should be quoted.
          +
          +
          Overrides:
          +
          isQuotable in class Parameter
          +
          Returns:
          true if the value should be quoted, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedTo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedTo.html new file mode 100644 index 00000000..ea1c4bfc --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/DelegatedTo.html @@ -0,0 +1,355 @@ + + + + + + +DelegatedTo (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class DelegatedTo

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class DelegatedTo
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Delegatees parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DelegatedTo

          +
          public DelegatedTo(String aValue)
          +            throws URISyntaxException
          +
          Parameters:
          aValue - a string representation of Delegatees
          +
          Throws:
          +
          URISyntaxException - when the specified string is not a valid list of cal-addresses
          +
        • +
        + + + +
          +
        • +

          DelegatedTo

          +
          public DelegatedTo(AddressList aList)
          +
          Parameters:
          aList - a list of addresses
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDelegatees

          +
          public final AddressList getDelegatees()
          +
          Returns:
          Returns the delegatees addresses.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          isQuotable

          +
          protected boolean isQuotable()
          +
          Indicates whether the current parameter value should be quoted.
          +
          +
          Overrides:
          +
          isQuotable in class Parameter
          +
          Returns:
          true if the value should be quoted, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Dir.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Dir.html new file mode 100644 index 00000000..75393d3f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Dir.html @@ -0,0 +1,335 @@ + + + + + + +Dir (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Dir

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Dir
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Directory Entry Reference parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Dir

          +
          public Dir(String aValue)
          +    throws URISyntaxException
          +
          Parameters:
          aValue - a string representation of a directory entry reference
          +
          Throws:
          +
          URISyntaxException - when the specified string is not a valid (quoted) uri
          +
        • +
        + + + +
          +
        • +

          Dir

          +
          public Dir(URI aUri)
          +
          Parameters:
          aUri - a URI representing a directory entry reference
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getUri

          +
          public final URI getUri()
          +
          Returns:
          Returns the uri.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Encoding.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Encoding.html new file mode 100644 index 00000000..643843f5 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Encoding.html @@ -0,0 +1,440 @@ + + + + + + +Encoding (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Encoding

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Encoding
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines an Inline Encoding parameter. Constants are provided for all encodings specified in RFC2045. + +
      +  4.2.7 Inline Encoding
      +
      +     Parameter Name: ENCODING
      +
      +     Purpose: To specify an alternate inline encoding for the property
      +     value.
      +
      +     Format Definition: The property parameter is defined by the following
      +     notation:
      +
      +       encodingparam      = "ENCODING" "="
      +                            ("8BIT"
      +          ; "8bit" text encoding is defined in [RFC 2045]
      +                          / "BASE64"
      +          ; "BASE64" binary encoding format is defined in [RFC 2045]
      +                          / iana-token
      +          ; Some other IANA registered iCalendar encoding type
      +                          / x-name)
      +          ; A non-standard, experimental encoding type
      +
      +     Description: The property parameter identifies the inline encoding
      +     used in a property value. The default encoding is "8BIT",
      +     corresponding to a property value consisting of text. The "BASE64"
      +     encoding type corresponds to a property value encoded using the
      +     "BASE64" encoding defined in [RFC 2045].
      +
      +     If the value type parameter is ";VALUE=BINARY", then the inline
      +     encoding parameter MUST be specified with the value
      +     ";ENCODING=BASE64".
      +
      +     Example:
      +
      +       ATTACH;FMTYPE=IMAGE/JPEG;ENCODING=BASE64;VALUE=BINARY:MIICajC
      +        CAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDA
      +        qBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRw
      +        <...remainder of "BASE64" encoded binary data...>
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          SEVEN_BIT

          +
          public static final Encoding SEVEN_BIT
          +
          7 bit encoding.
          +
        • +
        + + + +
          +
        • +

          EIGHT_BIT

          +
          public static final Encoding EIGHT_BIT
          +
          8 bit encoding.
          +
        • +
        + + + +
          +
        • +

          BINARY

          +
          public static final Encoding BINARY
          +
          Binary encoding.
          +
        • +
        + + + +
          +
        • +

          QUOTED_PRINTABLE

          +
          public static final Encoding QUOTED_PRINTABLE
          +
          Quoted printable encoding.
          +
        • +
        + + + +
          +
        • +

          BASE64

          +
          public static final Encoding BASE64
          +
          Base64 encoding.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Encoding

          +
          public Encoding(String aValue)
          +
          Parameters:
          aValue - a string representation of an Inline Encoding
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/FbType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/FbType.html new file mode 100644 index 00000000..70762ab1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/FbType.html @@ -0,0 +1,384 @@ + + + + + + +FbType (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class FbType

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class FbType
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Free/Busy Time Type parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          FREE

          +
          public static final FbType FREE
          +
          Free time.
          +
        • +
        + + + +
          +
        • +

          BUSY

          +
          public static final FbType BUSY
          +
          Busy time.
          +
        • +
        + + + +
          +
        • +

          BUSY_UNAVAILABLE

          +
          public static final FbType BUSY_UNAVAILABLE
          +
          Busy (unavailable) time.
          +
        • +
        + + + +
          +
        • +

          BUSY_TENTATIVE

          +
          public static final FbType BUSY_TENTATIVE
          +
          Busy (tentative) time.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          FbType

          +
          public FbType(String aValue)
          +
          Parameters:
          aValue - a string representation of a format type
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/FmtType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/FmtType.html new file mode 100644 index 00000000..2c7f0f81 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/FmtType.html @@ -0,0 +1,305 @@ + + + + + + +FmtType (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class FmtType

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class FmtType
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Format Type parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          FmtType

          +
          public FmtType(String aValue)
          +
          Parameters:
          aValue - a string representation of a format type
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Language.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Language.html new file mode 100644 index 00000000..2c97fa40 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Language.html @@ -0,0 +1,305 @@ + + + + + + +Language (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Language

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Language
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Language parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Language

          +
          public Language(String aValue)
          +
          Parameters:
          aValue - a string representation of a Language
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Member.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Member.html new file mode 100644 index 00000000..5b6917a9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Member.html @@ -0,0 +1,355 @@ + + + + + + +Member (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Member

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Member
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Group or List Membership parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Member

          +
          public Member(String aValue)
          +       throws URISyntaxException
          +
          Parameters:
          aValue - a string representation of a group or list membership
          +
          Throws:
          +
          URISyntaxException - when the specified string is not a valid list of (quoted) cal-addresses
          +
        • +
        + + + +
          +
        • +

          Member

          +
          public Member(AddressList aList)
          +
          Parameters:
          aList - a list of groups
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getGroups

          +
          public final AddressList getGroups()
          +
          Returns:
          Returns the group addresses.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          isQuotable

          +
          protected boolean isQuotable()
          +
          Indicates whether the current parameter value should be quoted.
          +
          +
          Overrides:
          +
          isQuotable in class Parameter
          +
          Returns:
          true if the value should be quoted, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/PartStat.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/PartStat.html new file mode 100644 index 00000000..fedd2605 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/PartStat.html @@ -0,0 +1,432 @@ + + + + + + +PartStat (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class PartStat

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class PartStat
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Participation Status parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          NEEDS_ACTION

          +
          public static final PartStat NEEDS_ACTION
          +
          Needs action.
          +
        • +
        + + + +
          +
        • +

          ACCEPTED

          +
          public static final PartStat ACCEPTED
          +
          Accepted.
          +
        • +
        + + + +
          +
        • +

          DECLINED

          +
          public static final PartStat DECLINED
          +
          Declined.
          +
        • +
        + + + +
          +
        • +

          TENTATIVE

          +
          public static final PartStat TENTATIVE
          +
          Tentative.
          +
        • +
        + + + +
          +
        • +

          DELEGATED

          +
          public static final PartStat DELEGATED
          +
          Delegated.
          +
        • +
        + + + +
          +
        • +

          COMPLETED

          +
          public static final PartStat COMPLETED
          +
          Completed.
          +
        • +
        + + + +
          +
        • +

          IN_PROCESS

          +
          public static final PartStat IN_PROCESS
          +
          In-process.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PartStat

          +
          public PartStat(String aValue)
          +
          Parameters:
          aValue - a string representation of a participation status
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Range.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Range.html new file mode 100644 index 00000000..6a7faefb --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Range.html @@ -0,0 +1,352 @@ + + + + + + +Range (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Range

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Range
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Recurrence Identifier Range parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          THISANDPRIOR

          +
          public static final Range THISANDPRIOR
          +
          This and prior.
          +
        • +
        + + + +
          +
        • +

          THISANDFUTURE

          +
          public static final Range THISANDFUTURE
          +
          This and future.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Range

          +
          public Range(String aValue)
          +
          Parameters:
          aValue - a string representation of a recurrence identifier range
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/RelType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/RelType.html new file mode 100644 index 00000000..81650dcf --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/RelType.html @@ -0,0 +1,368 @@ + + + + + + +RelType (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class RelType

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class RelType
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Relationship Type parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          PARENT

          +
          public static final RelType PARENT
          +
          Parent.
          +
        • +
        + + + +
          +
        • +

          CHILD

          +
          public static final RelType CHILD
          +
          Child.
          +
        • +
        + + + +
          +
        • +

          SIBLING

          +
          public static final RelType SIBLING
          +
          Sibling.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RelType

          +
          public RelType(String aValue)
          +
          Parameters:
          aValue - a string representation of a relationship type
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Related.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Related.html new file mode 100644 index 00000000..2e0503f5 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Related.html @@ -0,0 +1,352 @@ + + + + + + +Related (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Related

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Related
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines an Alarm Trigger Relationship parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          START

          +
          public static final Related START
          +
          Trigger start.
          +
        • +
        + + + +
          +
        • +

          END

          +
          public static final Related END
          +
          Trigger end.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Related

          +
          public Related(String aValue)
          +
          Parameters:
          aValue - a string representation of an alarm trigger relationship
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Role.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Role.html new file mode 100644 index 00000000..2ed44c24 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Role.html @@ -0,0 +1,384 @@ + + + + + + +Role (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Role

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Role
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Participation Role parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          CHAIR

          +
          public static final Role CHAIR
          +
          Chair.
          +
        • +
        + + + +
          +
        • +

          REQ_PARTICIPANT

          +
          public static final Role REQ_PARTICIPANT
          +
          Required participant.
          +
        • +
        + + + +
          +
        • +

          OPT_PARTICIPANT

          +
          public static final Role OPT_PARTICIPANT
          +
          Optional participant.
          +
        • +
        + + + +
          +
        • +

          NON_PARTICIPANT

          +
          public static final Role NON_PARTICIPANT
          +
          Non-participant.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Role

          +
          public Role(String aValue)
          +
          Parameters:
          aValue - a string representation of a participation role
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Rsvp.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Rsvp.html new file mode 100644 index 00000000..3b707848 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Rsvp.html @@ -0,0 +1,399 @@ + + + + + + +Rsvp (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Rsvp

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Rsvp
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines an RSVP parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          TRUE

          +
          public static final Rsvp TRUE
          +
          RSVP is required.
          +
        • +
        + + + +
          +
        • +

          FALSE

          +
          public static final Rsvp FALSE
          +
          RSVP not required.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Rsvp

          +
          public Rsvp(String aValue)
          +
          Parameters:
          aValue - a string representation of an RSVP
          +
        • +
        + + + +
          +
        • +

          Rsvp

          +
          public Rsvp(Boolean aValue)
          +
          Parameters:
          aValue - a boolean value
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getRsvp

          +
          public final Boolean getRsvp()
          +
          Returns:
          Returns the rsvp.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          copy

          +
          public final Parameter copy()
          +
          Deep copy of parameter.
          +
          +
          Overrides:
          +
          copy in class Parameter
          +
          Returns:
          new parameter
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleAgent.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleAgent.html new file mode 100644 index 00000000..72805ff2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleAgent.html @@ -0,0 +1,357 @@ + + + + + + +ScheduleAgent (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class ScheduleAgent

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class ScheduleAgent
      +extends Parameter
      +
      Defines the scheduling agent for CalDAV scheduling.
      +
      Author:
      +
      Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ScheduleAgent

          +
          public ScheduleAgent(String aValue)
          +
          Parameters:
          aValue - a string representation of a scheduling agent
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleStatus.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleStatus.html new file mode 100644 index 00000000..5e799a42 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/ScheduleStatus.html @@ -0,0 +1,303 @@ + + + + + + +ScheduleStatus (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class ScheduleStatus

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class ScheduleStatus
      +extends Parameter
      +
      Defines the scheduling status for CalDAV scheduling.
      +
      Author:
      +
      Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ScheduleStatus

          +
          public ScheduleStatus(String aValue)
          +
          Parameters:
          aValue - a string scheduling status
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/SentBy.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/SentBy.html new file mode 100644 index 00000000..8094b22e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/SentBy.html @@ -0,0 +1,335 @@ + + + + + + +SentBy (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class SentBy

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class SentBy
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Sent By parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SentBy

          +
          public SentBy(String aValue)
          +       throws URISyntaxException
          +
          Parameters:
          aValue - a string representation of a sent by
          +
          Throws:
          +
          URISyntaxException - when the specified string is not a valid (quoted) uri
          +
        • +
        + + + +
          +
        • +

          SentBy

          +
          public SentBy(URI aUri)
          +
          Parameters:
          aUri - a URI representing a sent by
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getAddress

          +
          public final URI getAddress()
          +
          Returns:
          Returns the address.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Type.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Type.html new file mode 100644 index 00000000..b1e7d3ef --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Type.html @@ -0,0 +1,305 @@ + + + + + + +Type (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Type

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Type
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Type parameter.
      +
      Author:
      +
      benfortuna, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Type

          +
          public Type(String aValue)
          +
          Parameters:
          aValue - a string abbreviation
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/TzId.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/TzId.html new file mode 100644 index 00000000..efc22420 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/TzId.html @@ -0,0 +1,338 @@ + + + + + + +TzId (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class TzId

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TzId

          +
          public TzId(String aValue)
          +
          Parameters:
          aValue - a string representation of a time zone identifier
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Value.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Value.html new file mode 100644 index 00000000..7c44da87 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Value.html @@ -0,0 +1,544 @@ + + + + + + +Value (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Value

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Value
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Value Data Type parameter.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          BINARY

          +
          public static final Value BINARY
          +
          Binary value type.
          +
        • +
        + + + +
          +
        • +

          BOOLEAN

          +
          public static final Value BOOLEAN
          +
          Boolean value type.
          +
        • +
        + + + +
          +
        • +

          CAL_ADDRESS

          +
          public static final Value CAL_ADDRESS
          +
          Calendar address value type.
          +
        • +
        + + + +
          +
        • +

          DATE

          +
          public static final Value DATE
          +
          Date value type.
          +
        • +
        + + + +
          +
        • +

          DATE_TIME

          +
          public static final Value DATE_TIME
          +
          Date-time value type.
          +
        • +
        + + + +
          +
        • +

          DURATION

          +
          public static final Value DURATION
          +
          Duration value type.
          +
        • +
        + + + +
          +
        • +

          FLOAT

          +
          public static final Value FLOAT
          +
          Float value type.
          +
        • +
        + + + +
          +
        • +

          INTEGER

          +
          public static final Value INTEGER
          +
          Integer value type.
          +
        • +
        + + + +
          +
        • +

          PERIOD

          +
          public static final Value PERIOD
          +
          Period value type.
          +
        • +
        + + + +
          +
        • +

          RECUR

          +
          public static final Value RECUR
          +
          Recurrence value type.
          +
        • +
        + + + +
          +
        • +

          TEXT

          +
          public static final Value TEXT
          +
          Text value type.
          +
        • +
        + + + +
          +
        • +

          TIME

          +
          public static final Value TIME
          +
          Time value type.
          +
        • +
        + + + +
          +
        • +

          URI

          +
          public static final Value URI
          +
          URI value type.
          +
        • +
        + + + +
          +
        • +

          UTC_OFFSET

          +
          public static final Value UTC_OFFSET
          +
          UTC offset value type.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Value

          +
          public Value(String aValue)
          +
          Parameters:
          aValue - a string representation of a value data type
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Vvenue.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Vvenue.html new file mode 100644 index 00000000..97f73bb2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/Vvenue.html @@ -0,0 +1,305 @@ + + + + + + +Vvenue (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class Vvenue

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Vvenue
      +extends Parameter
      +
      $Id$ [18-Apr-2004] + + Defines a Vvenue parameter.
      +
      Author:
      +
      benfortuna, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Vvenue

          +
          public Vvenue(String aValue)
          +
          Parameters:
          aValue - a string abbreviation
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/XParameter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/XParameter.html new file mode 100644 index 00000000..8a19d13b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/XParameter.html @@ -0,0 +1,307 @@ + + + + + + +XParameter (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.parameter

    +

    Class XParameter

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class XParameter
      +extends Parameter
      +
      $Id$ [15/06/2004] + + Defines an extension parameter.
      +
      Author:
      +
      benfortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          XParameter

          +
          public XParameter(String aName,
          +          String aValue)
          +
          Parameters:
          aName - parameter name
          aValue - parameter value
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Abbrev.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Abbrev.html new file mode 100644 index 00000000..cb0d3c19 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Abbrev.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Abbrev (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Abbrev

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.Abbrev
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/AltRep.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/AltRep.html new file mode 100644 index 00000000..f2ec72bc --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/AltRep.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.AltRep (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.AltRep

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.AltRep
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Cn.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Cn.html new file mode 100644 index 00000000..bb776ed1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Cn.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Cn (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Cn

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.Cn
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/CuType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/CuType.html new file mode 100644 index 00000000..9682a71a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/CuType.html @@ -0,0 +1,185 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.CuType (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.CuType

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedFrom.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedFrom.html new file mode 100644 index 00000000..f64dc74a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedFrom.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.DelegatedFrom (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.DelegatedFrom

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.DelegatedFrom
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedTo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedTo.html new file mode 100644 index 00000000..9a69140e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/DelegatedTo.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.DelegatedTo (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.DelegatedTo

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.DelegatedTo
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Dir.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Dir.html new file mode 100644 index 00000000..d1aa4983 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Dir.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Dir (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Dir

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.Dir
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Encoding.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Encoding.html new file mode 100644 index 00000000..3c952f58 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Encoding.html @@ -0,0 +1,253 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Encoding (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Encoding

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FbType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FbType.html new file mode 100644 index 00000000..5059031f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FbType.html @@ -0,0 +1,179 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.FbType (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.FbType

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FmtType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FmtType.html new file mode 100644 index 00000000..d80332fa --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/FmtType.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.FmtType (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.FmtType

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.FmtType
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Language.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Language.html new file mode 100644 index 00000000..99934c43 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Language.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Language (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Language

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.Language
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Member.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Member.html new file mode 100644 index 00000000..dc45751d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Member.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Member (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Member

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.Member
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/PartStat.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/PartStat.html new file mode 100644 index 00000000..5cb1abf9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/PartStat.html @@ -0,0 +1,197 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.PartStat (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.PartStat

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Range.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Range.html new file mode 100644 index 00000000..a99c79ff --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Range.html @@ -0,0 +1,167 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Range (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Range

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/RelType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/RelType.html new file mode 100644 index 00000000..83a5864e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/RelType.html @@ -0,0 +1,173 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.RelType (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.RelType

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Related.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Related.html new file mode 100644 index 00000000..385bd690 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Related.html @@ -0,0 +1,167 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Related (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Related

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Role.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Role.html new file mode 100644 index 00000000..59a276fe --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Role.html @@ -0,0 +1,179 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Role (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Role

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Rsvp.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Rsvp.html new file mode 100644 index 00000000..6d7fb837 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Rsvp.html @@ -0,0 +1,167 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Rsvp (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Rsvp

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleAgent.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleAgent.html new file mode 100644 index 00000000..3cbeb78a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleAgent.html @@ -0,0 +1,167 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.ScheduleAgent (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.ScheduleAgent

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleStatus.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleStatus.html new file mode 100644 index 00000000..f5b4fd1e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/ScheduleStatus.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.ScheduleStatus (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.ScheduleStatus

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.ScheduleStatus
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/SentBy.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/SentBy.html new file mode 100644 index 00000000..2f70ab3d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/SentBy.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.SentBy (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.SentBy

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.SentBy
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Type.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Type.html new file mode 100644 index 00000000..8f822713 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Type.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Type (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Type

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.Type
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/TzId.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/TzId.html new file mode 100644 index 00000000..acad773e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/TzId.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.TzId (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.TzId

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.TzId
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Value.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Value.html new file mode 100644 index 00000000..34aeaf57 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Value.html @@ -0,0 +1,371 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Value (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Value

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Vvenue.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Vvenue.html new file mode 100644 index 00000000..a307a649 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/Vvenue.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.Vvenue (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.Vvenue

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.Vvenue
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/XParameter.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/XParameter.html new file mode 100644 index 00000000..c1c5a71f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/class-use/XParameter.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.parameter.XParameter (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.parameter.XParameter

    +
    +
    No usage of net.fortuna.ical4j.model.parameter.XParameter
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-frame.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-frame.html new file mode 100644 index 00000000..4d8ed0a6 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-frame.html @@ -0,0 +1,45 @@ + + + + + + +net.fortuna.ical4j.model.parameter (iCal4j 1.0.5 API) + + + + +

    net.fortuna.ical4j.model.parameter

    + + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-summary.html new file mode 100644 index 00000000..3e7f491b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-summary.html @@ -0,0 +1,344 @@ + + + + + + +net.fortuna.ical4j.model.parameter (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Package net.fortuna.ical4j.model.parameter

    +

    +

    Contains types used to represent the iCalendar parameter model.
    +

    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      Abbrev +
      $Id$ [18-Apr-2004] + + Defines an Abbreviation parameter.
      +
      AltRep +
      $Id$ [18-Apr-2004] + + Defines an Alternate Text Representation parameter.
      +
      Cn +
      $Id$ [18-Apr-2004] + + Defines a Common Name parameter.
      +
      CuType +
      $Id$ [18-Apr-2004] + + Defines a Calendar User Type.
      +
      DelegatedFrom +
      $Id$ [18-Apr-2004] + + Defines a Delegators parameter.
      +
      DelegatedTo +
      $Id$ [18-Apr-2004] + + Defines a Delegatees parameter.
      +
      Dir +
      $Id$ [18-Apr-2004] + + Defines a Directory Entry Reference parameter.
      +
      Encoding +
      $Id$ [18-Apr-2004] + + Defines an Inline Encoding parameter.
      +
      FbType +
      $Id$ [18-Apr-2004] + + Defines a Free/Busy Time Type parameter.
      +
      FmtType +
      $Id$ [18-Apr-2004] + + Defines a Format Type parameter.
      +
      Language +
      $Id$ [18-Apr-2004] + + Defines a Language parameter.
      +
      Member +
      $Id$ [18-Apr-2004] + + Defines a Group or List Membership parameter.
      +
      PartStat +
      $Id$ [18-Apr-2004] + + Defines a Participation Status parameter.
      +
      Range +
      $Id$ [18-Apr-2004] + + Defines a Recurrence Identifier Range parameter.
      +
      Related +
      $Id$ [18-Apr-2004] + + Defines an Alarm Trigger Relationship parameter.
      +
      RelType +
      $Id$ [18-Apr-2004] + + Defines a Relationship Type parameter.
      +
      Role +
      $Id$ [18-Apr-2004] + + Defines a Participation Role parameter.
      +
      Rsvp +
      $Id$ [18-Apr-2004] + + Defines an RSVP parameter.
      +
      ScheduleAgent +
      Defines the scheduling agent for CalDAV scheduling.
      +
      ScheduleStatus +
      Defines the scheduling status for CalDAV scheduling.
      +
      SentBy +
      $Id$ [18-Apr-2004] + + Defines a Sent By parameter.
      +
      Type +
      $Id$ [18-Apr-2004] + + Defines a Type parameter.
      +
      TzId +
      $Id$ [18-Apr-2004] + + Defines a Time Zone Identifier parameter.
      +
      Value +
      $Id$ [18-Apr-2004] + + Defines a Value Data Type parameter.
      +
      Vvenue +
      $Id$ [18-Apr-2004] + + Defines a Vvenue parameter.
      +
      XParameter +
      $Id$ [15/06/2004] + + Defines an extension parameter.
      +
      +
    • +
    + + + +

    Package net.fortuna.ical4j.model.parameter Description

    +
    Contains types used to represent the iCalendar parameter model.
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-tree.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-tree.html new file mode 100644 index 00000000..fa26b5d3 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-tree.html @@ -0,0 +1,163 @@ + + + + + + +net.fortuna.ical4j.model.parameter Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Hierarchy For Package net.fortuna.ical4j.model.parameter

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • net.fortuna.ical4j.model.Content (implements java.io.Serializable) +
          +
        • net.fortuna.ical4j.model.Parameter +
            +
          • net.fortuna.ical4j.model.parameter.Abbrev
          • +
          • net.fortuna.ical4j.model.parameter.AltRep
          • +
          • net.fortuna.ical4j.model.parameter.Cn
          • +
          • net.fortuna.ical4j.model.parameter.CuType
          • +
          • net.fortuna.ical4j.model.parameter.DelegatedFrom
          • +
          • net.fortuna.ical4j.model.parameter.DelegatedTo
          • +
          • net.fortuna.ical4j.model.parameter.Dir
          • +
          • net.fortuna.ical4j.model.parameter.Encoding
          • +
          • net.fortuna.ical4j.model.parameter.FbType
          • +
          • net.fortuna.ical4j.model.parameter.FmtType
          • +
          • net.fortuna.ical4j.model.parameter.Language
          • +
          • net.fortuna.ical4j.model.parameter.Member
          • +
          • net.fortuna.ical4j.model.parameter.PartStat
          • +
          • net.fortuna.ical4j.model.parameter.Range
          • +
          • net.fortuna.ical4j.model.parameter.Related
          • +
          • net.fortuna.ical4j.model.parameter.RelType
          • +
          • net.fortuna.ical4j.model.parameter.Role
          • +
          • net.fortuna.ical4j.model.parameter.Rsvp
          • +
          • net.fortuna.ical4j.model.parameter.ScheduleAgent
          • +
          • net.fortuna.ical4j.model.parameter.ScheduleStatus
          • +
          • net.fortuna.ical4j.model.parameter.SentBy
          • +
          • net.fortuna.ical4j.model.parameter.Type
          • +
          • net.fortuna.ical4j.model.parameter.TzId (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.parameter.Value
          • +
          • net.fortuna.ical4j.model.parameter.Vvenue
          • +
          • net.fortuna.ical4j.model.parameter.XParameter
          • +
          +
        • +
        +
      • +
      +
    • +
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-use.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-use.html new file mode 100644 index 00000000..6c1d4100 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/parameter/package-use.html @@ -0,0 +1,281 @@ + + + + + + +Uses of Package net.fortuna.ical4j.model.parameter (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Package
    net.fortuna.ical4j.model.parameter

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Action.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Action.html new file mode 100644 index 00000000..6d7b75e7 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Action.html @@ -0,0 +1,458 @@ + + + + + + +Action (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Action

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Action
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ACTION iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          AUDIO

          +
          public static final Action AUDIO
          +
          Constant action for playing an audible sound.
          +
        • +
        + + + +
          +
        • +

          DISPLAY

          +
          public static final Action DISPLAY
          +
          Constant action for displaying a visible notification.
          +
        • +
        + + + +
          +
        • +

          EMAIL

          +
          public static final Action EMAIL
          +
          Constant action for sending an email.
          +
        • +
        + + + +
          +
        • +

          PROCEDURE

          +
          public static final Action PROCEDURE
          +
          Constant action for a procedure.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Action

          +
          public Action()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Action

          +
          public Action(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Action

          +
          public Action(ParameterList aList,
          +      String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Attach.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Attach.html new file mode 100644 index 00000000..4cd8e0f3 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Attach.html @@ -0,0 +1,536 @@ + + + + + + +Attach (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Attach

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Attach
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTACH iCalendar component property. + +
      +       4.8.1.1 Attachment
      +       
      +          Property Name: ATTACH
      +       
      +          Purpose: The property provides the capability to associate a document
      +          object with a calendar component.
      +       
      +          Value Type: The default value type for this property is URI. The
      +          value type can also be set to BINARY to indicate inline binary
      +          encoded content information.
      +       
      +          Property Parameters: Non-standard, inline encoding, format type and
      +          value data type property parameters can be specified on this
      +          property.
      +        
      +          Conformance: The property can be specified in a "VEVENT", "VTODO",
      +          "VJOURNAL" or "VALARM" calendar components.
      +       
      +          Description: The property can be specified within "VEVENT", "VTODO",
      +          "VJOURNAL", or "VALARM" calendar components. This property can be
      +          specified multiple times within an iCalendar object.
      +       
      +          Format Definition: The property is defined by the following notation:
      +       
      +            attach     = "ATTACH" attparam ":" uri  CRLF
      +       
      +        attach     =/ "ATTACH" attparam ";" "ENCODING" "=" "BASE64"
      +                          ";" "VALUE" "=" "BINARY" ":" binary
      +       
      +            attparam   = *(
      +       
      +                       ; the following is optional,
      +                       ; but MUST NOT occur more than once
      +       
      +                       (";" fmttypeparam) /
      +       
      +                       ; the following is optional,
      +                       ; and MAY occur more than once
      +       
      +                       (";" xparam)
      +       
      +                       )
      + 
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Attach

          +
          public Attach()
          +
          Default constructor.
          +
        • +
        + + + + + + + +
          +
        • +

          Attach

          +
          public Attach(byte[] data)
          +
          Parameters:
          data - binary data
          +
        • +
        + + + +
          +
        • +

          Attach

          +
          public Attach(ParameterList aList,
          +      byte[] data)
          +
          Parameters:
          aList - a list of parameters for this component
          data - binary data
          +
        • +
        + + + +
          +
        • +

          Attach

          +
          public Attach(URI aUri)
          +
          Parameters:
          aUri - a URI
          +
        • +
        + + + +
          +
        • +

          Attach

          +
          public Attach(ParameterList aList,
          +      URI aUri)
          +
          Parameters:
          aList - a list of parameters for this component
          aUri - a URI
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getBinary

          +
          public final byte[] getBinary()
          +
          Returns:
          Returns the binary.
          +
        • +
        + + + +
          +
        • +

          getUri

          +
          public final URI getUri()
          +
          Returns:
          Returns the uri.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws IOException,
          +                           URISyntaxException
          +
          Sets the current value of the Attach instance. If the specified + value is encoded binary data, the value is decoded and stored in + the binary field. Otherwise the value is assumed to be a URI + location to binary data and is stored as such.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string encoded binary or URI value
          +
          Throws:
          +
          IOException - where binary data cannot be decoded
          +
          URISyntaxException - where the specified value is not a valid URI
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setBinary

          +
          public final void setBinary(byte[] binary)
          +
          Parameters:
          binary - The binary to set.
          +
        • +
        + + + +
          +
        • +

          setUri

          +
          public final void setUri(URI uri)
          +
          Parameters:
          uri - The uri to set.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Attendee.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Attendee.html new file mode 100644 index 00000000..bbfc528d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Attendee.html @@ -0,0 +1,471 @@ + + + + + + +Attendee (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Attendee

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Attendee
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTENDEE iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Attendee

          +
          public Attendee()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Attendee

          +
          public Attendee(String aValue)
          +         throws URISyntaxException
          +
          Parameters:
          aValue - a value string for this component
          +
          Throws:
          +
          URISyntaxException - where the specified value string is not a valid uri
          +
        • +
        + + + +
          +
        • +

          Attendee

          +
          public Attendee(ParameterList aList,
          +        String aValue)
          +         throws URISyntaxException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          URISyntaxException - where the specified value string is not a valid uri
          +
        • +
        + + + +
          +
        • +

          Attendee

          +
          public Attendee(URI aUri)
          +
          Parameters:
          aUri - a URI
          +
        • +
        + + + +
          +
        • +

          Attendee

          +
          public Attendee(ParameterList aList,
          +        URI aUri)
          +
          Parameters:
          aList - a list of parameters for this component
          aUri - a URI
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws URISyntaxException
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          URISyntaxException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + + + + + +
          +
        • +

          getCalAddress

          +
          public final URI getCalAddress()
          +
          Returns:
          Returns the calAddress.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setCalAddress

          +
          public final void setCalAddress(URI calAddress)
          +
          Parameters:
          calAddress - The calAddress to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/BusyType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/BusyType.html new file mode 100644 index 00000000..94f097a5 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/BusyType.html @@ -0,0 +1,453 @@ + + + + + + +BusyType (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class BusyType

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class BusyType
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a BUSYTYPE iCalendar component property. + + Format Definition: This property is defined by the following + notation: + + busytype = "BUSYTYPE" busytypeparam ":" busytypevalue CRLF + + busytypeparam = *(";" xparam) + + busytypevalue = "BUSY" / "BUSY-UNAVAILABLE" / + "BUSY-TENTATIVE" / iana-token / x-name + ; Default is "BUSY-UNAVAILABLE"
      +
      Author:
      +
      Ben Fortuna, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          BUSY

          +
          public static final BusyType BUSY
          +
          Constant for busy time.
          +
        • +
        + + + +
          +
        • +

          BUSY_UNAVAILABLE

          +
          public static final BusyType BUSY_UNAVAILABLE
          +
          Constant for busy unavailable time.
          +
        • +
        + + + +
          +
        • +

          BUSY_TENTATIVE

          +
          public static final BusyType BUSY_TENTATIVE
          +
          Constant for tentatively busy time.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          BusyType

          +
          public BusyType()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          BusyType

          +
          public BusyType(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          BusyType

          +
          public BusyType(ParameterList aList,
          +        String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/CalScale.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/CalScale.html new file mode 100644 index 00000000..321c337e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/CalScale.html @@ -0,0 +1,410 @@ + + + + + + +CalScale (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class CalScale

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class CalScale
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CALSCALE iCalendar property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          GREGORIAN

          +
          public static final CalScale GREGORIAN
          +
          Constant for Gregorian calendar representation.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CalScale

          +
          public CalScale()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          CalScale

          +
          public CalScale(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          CalScale

          +
          public CalScale(ParameterList aList,
          +        String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Categories.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Categories.html new file mode 100644 index 00000000..2f3d46cf --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Categories.html @@ -0,0 +1,463 @@ + + + + + + +Categories (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Categories

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Categories
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CATEGORIES iCalendar component property. +
      +     4.8.1.2 Categories
      +     
      +        Property Name: CATEGORIES
      +     
      +        Purpose: This property defines the categories for a calendar
      +        component.
      +     
      +        Value Type: TEXT
      +     
      +        Property Parameters: Non-standard and language property parameters
      +        can be specified on this property.
      +     
      +        Conformance: The property can be specified within "VEVENT", "VTODO"
      +        or "VJOURNAL" calendar components.
      +     
      +        Description: This property is used to specify categories or subtypes
      +        of the calendar component. The categories are useful in searching for
      +        a calendar component of a particular type and category. Within the
      +        "VEVENT", "VTODO" or "VJOURNAL" calendar components, more than one
      +        category can be specified as a list of categories separated by the
      +        COMMA character (US-ASCII decimal 44).
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          categories = "CATEGORIES" catparam ":" text *("," text)
      +                       CRLF
      +     
      +          catparam   = *(
      +     
      +                     ; the following is optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" languageparam ) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                     (";" xparam)
      +     
      +                     )
      + 
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Categories

          +
          public Categories()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Categories

          +
          public Categories(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Categories

          +
          public Categories(ParameterList aList,
          +          String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Categories

          +
          public Categories(TextList cList)
          +
          Parameters:
          cList - a list of categories
          +
        • +
        + + + +
          +
        • +

          Categories

          +
          public Categories(ParameterList aList,
          +          TextList cList)
          +
          Parameters:
          aList - a list of parameters for this component
          cList - a list of categories
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + + + + + +
          +
        • +

          getCategories

          +
          public final TextList getCategories()
          +
          Returns:
          Returns the categories.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Clazz.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Clazz.html new file mode 100644 index 00000000..0274aa9f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Clazz.html @@ -0,0 +1,488 @@ + + + + + + +Clazz (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Clazz

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Clazz
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CLASS iCalendar property. + +
      +     4.8.1.3 Classification
      +     
      +        Property Name: CLASS
      +     
      +        Purpose: This property defines the access classification for a
      +        calendar component.
      +     
      +        Value Type: TEXT
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: The property can be specified once in a "VEVENT",
      +        "VTODO" or "VJOURNAL" calendar components.
      +     
      +        Description: An access classification is only one component of the
      +        general security system within a calendar application. It provides a
      +        method of capturing the scope of the access the calendar owner
      +        intends for information within an individual calendar entry. The
      +        access classification of an individual iCalendar component is useful
      +        when measured along with the other security components of a calendar
      +        system (e.g., calendar user authentication, authorization, access
      +        rights, access role, etc.). Hence, the semantics of the individual
      +        access classifications cannot be completely defined by this memo
      +        alone. Additionally, due to the "blind" nature of most exchange
      +        processes using this memo, these access classifications cannot serve
      +        as an enforcement statement for a system receiving an iCalendar
      +        object. Rather, they provide a method for capturing the intention of
      +        the calendar owner for the access to the calendar component.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          class      = "CLASS" classparam ":" classvalue CRLF
      +     
      +          classparam = *(";" xparam)
      +     
      +          classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token
      +                     / x-name
      +          ;Default is PUBLIC
      +     
      +        Example: The following is an example of this property:
      +     
      +          CLASS:PUBLIC
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          PUBLIC

          +
          public static final Clazz PUBLIC
          +
          Constant for public classification.
          +
        • +
        + + + +
          +
        • +

          PRIVATE

          +
          public static final Clazz PRIVATE
          +
          Constant for private classification.
          +
        • +
        + + + +
          +
        • +

          CONFIDENTIAL

          +
          public static final Clazz CONFIDENTIAL
          +
          Constant for confidential classification.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Clazz

          +
          public Clazz()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Clazz

          +
          public Clazz(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Clazz

          +
          public Clazz(ParameterList aList,
          +     String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Comment.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Comment.html new file mode 100644 index 00000000..41ab1955 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Comment.html @@ -0,0 +1,380 @@ + + + + + + +Comment (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Comment

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Comment

          +
          public Comment()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Comment

          +
          public Comment(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Comment

          +
          public Comment(ParameterList aList,
          +       String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Completed.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Completed.html new file mode 100644 index 00000000..8966fe64 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Completed.html @@ -0,0 +1,388 @@ + + + + + + +Completed (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Completed

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Completed
      +extends UtcProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a COMPLETED iCalendar component property. + +
      +     4.8.2.1 Date/Time Completed
      +     
      +        Property Name: COMPLETED
      +     
      +        Purpose: This property defines the date and time that a to-do was
      +        actually completed.
      +     
      +        Value Type: DATE-TIME
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: The property can be specified in a "VTODO" calendar
      +        component.
      +     
      +        Description: The date and time MUST be in a UTC format.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          completed  = "COMPLETED" compparam ":" date-time CRLF
      +     
      +          compparam  = *(";" xparam)
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Completed

          +
          public Completed()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Completed

          +
          public Completed(String aValue)
          +          throws ParseException
          +
          Parameters:
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - when the specified string is not a valid date-time represenation
          +
        • +
        + + + +
          +
        • +

          Completed

          +
          public Completed(ParameterList aList,
          +         String aValue)
          +          throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - when the specified string is not a valid date-time represenation
          +
        • +
        + + + +
          +
        • +

          Completed

          +
          public Completed(DateTime aDate)
          +
          Parameters:
          aDate - a date
          +
        • +
        + + + +
          +
        • +

          Completed

          +
          public Completed(ParameterList aList,
          +         DateTime aDate)
          +
          Parameters:
          aList - a list of parameters for this component
          aDate - a date
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Contact.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Contact.html new file mode 100644 index 00000000..96ee3c00 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Contact.html @@ -0,0 +1,380 @@ + + + + + + +Contact (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Contact

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Contact

          +
          public Contact()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Contact

          +
          public Contact(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Contact

          +
          public Contact(ParameterList aList,
          +       String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Country.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Country.html new file mode 100644 index 00000000..eaf77070 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Country.html @@ -0,0 +1,380 @@ + + + + + + +Country (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Country

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Country
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
      +
      Author:
      +
      benf, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Country

          +
          public Country()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Country

          +
          public Country(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Country

          +
          public Country(ParameterList aList,
          +       String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Created.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Created.html new file mode 100644 index 00000000..7e0ba077 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Created.html @@ -0,0 +1,392 @@ + + + + + + +Created (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Created

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Created
      +extends UtcProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CREATED iCalendar component property. + +
      +     4.8.7.1 Date/Time Created
      +     
      +        Property Name: CREATED
      +     
      +        Purpose: This property specifies the date and time that the calendar
      +        information was created by the calendar user agent in the calendar
      +        store.
      +     
      +             Note: This is analogous to the creation date and time for a file
      +             in the file system.
      +     
      +        Value Type: DATE-TIME
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: The property can be specified once in "VEVENT", "VTODO"
      +        or "VJOURNAL" calendar components.
      +     
      +        Description: The date and time is a UTC value.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          created    = "CREATED" creaparam ":" date-time CRLF
      +     
      +          creaparam  = *(";" xparam)
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Created

          +
          public Created()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Created

          +
          public Created(String aValue)
          +        throws ParseException
          +
          Parameters:
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          Created

          +
          public Created(ParameterList aList,
          +       String aValue)
          +        throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          Created

          +
          public Created(DateTime aDate)
          +
          Parameters:
          aDate - a date
          +
        • +
        + + + +
          +
        • +

          Created

          +
          public Created(ParameterList aList,
          +       DateTime aDate)
          +
          Parameters:
          aList - a list of parameters for this component
          aDate - a date
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DateListProperty.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DateListProperty.html new file mode 100644 index 00000000..a300fa24 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DateListProperty.html @@ -0,0 +1,480 @@ + + + + + + +DateListProperty (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class DateListProperty

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      Direct Known Subclasses:
      +
      ExDate, RDate
      +
      +
      +
      +
      public abstract class DateListProperty
      +extends Property
      +
      $Id$ + + Created on 11/08/2005 + + Base class for properties with a list of dates as a value.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DateListProperty

          +
          public DateListProperty(String name,
          +                PropertyFactory factory)
          +
          Parameters:
          name - the property name
          +
        • +
        + + + +
          +
        • +

          DateListProperty

          +
          public DateListProperty(String name,
          +                ParameterList parameters,
          +                PropertyFactory factory)
          +
          Parameters:
          name - the property name
          parameters - property parameters
          +
        • +
        + + + +
          +
        • +

          DateListProperty

          +
          public DateListProperty(String name,
          +                DateList dates,
          +                PropertyFactory factory)
          +
          Parameters:
          name - the property name
          dates - a list of initial dates for the property
          +
        • +
        + + + +
          +
        • +

          DateListProperty

          +
          public DateListProperty(String name,
          +                ParameterList parameters,
          +                DateList dates,
          +                PropertyFactory factory)
          +
          Parameters:
          name - the property name
          parameters - property parameters
          dates - a list of initial dates for the property
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDates

          +
          public final DateList getDates()
          +
          Returns:
          Returns the dates.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +              throws ParseException
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          ParseException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setTimeZone

          +
          public void setTimeZone(TimeZone timezone)
          +
          Sets the timezone associated with this property.
          +
          Parameters:
          timezone - a timezone to associate with this property
          +
        • +
        + + + +
          +
        • +

          getTimeZone

          +
          public final TimeZone getTimeZone()
          +
          Returns:
          the timezone
          +
        • +
        + + + +
          +
        • +

          setUtc

          +
          public final void setUtc(boolean utc)
          +
          Resets the timezone associated with the property. If utc is true, any TZID parameters are removed and the Java + timezone is updated to UTC time. If utc is false, TZID parameters are removed and the Java timezone is set to the + default timezone (i.e. represents a "floating" local time)
          +
          Parameters:
          utc - the UTC value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DateProperty.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DateProperty.html new file mode 100644 index 00000000..103eb311 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DateProperty.html @@ -0,0 +1,540 @@ + + + + + + +DateProperty (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class DateProperty

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      Direct Known Subclasses:
      +
      DtEnd, DtStart, Due, RecurrenceId, UtcProperty
      +
      +
      +
      +
      public abstract class DateProperty
      +extends Property
      +
      $Id$ + + Created on 9/07/2005 + + Base class for properties with a DATE or DATE-TIME value. Note that some sub-classes may only allow either a DATE or + a DATE-TIME value, for which additional rules/validation should be specified.
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DateProperty

          +
          public DateProperty(String name,
          +            ParameterList parameters,
          +            PropertyFactory factory)
          +
          Parameters:
          name - the property name
          parameters - a list of initial parameters
          +
        • +
        + + + +
          +
        • +

          DateProperty

          +
          public DateProperty(String name,
          +            PropertyFactory factory)
          +
          Parameters:
          name - the property name
          +
        • +
        + + + +
          +
        • +

          DateProperty

          +
          public DateProperty(String name,
          +            TimeZone timezone,
          +            PropertyFactory factory)
          +
          Creates a new instance of the named property with an initial timezone.
          +
          Parameters:
          name - property name
          timezone - initial timezone
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDate

          +
          public final Date getDate()
          +
          Returns:
          Returns the date.
          +
        • +
        + + + +
          +
        • +

          setDate

          +
          public final void setDate(Date date)
          +
          Sets the date value of this property. The timezone and value of this + instance will also be updated accordingly.
          +
          Parameters:
          date - The date to set.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public void setValue(String value)
          +              throws ParseException
          +
          Default setValue() implementation. Allows for either DATE or DATE-TIME values.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          value - a string representation of a DATE or DATE-TIME value
          +
          Throws:
          +
          ParseException - where the specified value is not a valid DATE or DATE-TIME + representation
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setTimeZone

          +
          public void setTimeZone(TimeZone timezone)
          +
          Publically available method to update the current timezone.
          +
          Parameters:
          timezone - a timezone instance
          +
        • +
        + + + +
          +
        • +

          getTimeZone

          +
          public final TimeZone getTimeZone()
          +
          Returns:
          the timezone
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Property
          +
          +
        • +
        + + + +
          +
        • +

          setUtc

          +
          public final void setUtc(boolean utc)
          +
          Resets the VTIMEZONE associated with the property. If utc is true, any TZID parameters are removed and the Java + timezone is updated to UTC time. If utc is false, TZID parameters are removed and the Java timezone is set to the + default timezone (i.e. represents a "floating" local time)
          +
          Parameters:
          utc - a UTC value
          +
        • +
        + + + +
          +
        • +

          isUtc

          +
          public final boolean isUtc()
          +
          Indicates whether the current date value is specified in UTC time.
          +
          Returns:
          true if the property is in UTC time, otherwise false
          +
        • +
        + + + + + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Description.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Description.html new file mode 100644 index 00000000..bf101bc1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Description.html @@ -0,0 +1,380 @@ + + + + + + +Description (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Description

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Description
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DESCRIPTION iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Description

          +
          public Description()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Description

          +
          public Description(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Description

          +
          public Description(ParameterList aList,
          +           String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtEnd.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtEnd.html new file mode 100644 index 00000000..e3857915 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtEnd.html @@ -0,0 +1,513 @@ + + + + + + +DtEnd (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class DtEnd

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class DtEnd
      +extends DateProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTEND iCalendar component property. + +
      +     4.8.2.2 Date/Time End
      +     
      +        Property Name: DTEND
      +     
      +        Purpose: This property specifies the date and time that a calendar
      +        component ends.
      +     
      +        Value Type: The default value type is DATE-TIME. The value type can
      +        be set to a DATE value type.
      +     
      +        Property Parameters: Non-standard, value data type, time zone
      +        identifier property parameters can be specified on this property.
      +     
      +        Conformance: This property can be specified in "VEVENT" or
      +        "VFREEBUSY" calendar components.
      +     
      +        Description: Within the "VEVENT" calendar component, this property
      +        defines the date and time by which the event ends. The value MUST be
      +        later in time than the value of the "DTSTART" property.
      +     
      +        Within the "VFREEBUSY" calendar component, this property defines the
      +        end date and time for the free or busy time information. The time
      +        MUST be specified in the UTC time format. The value MUST be later in
      +        time than the value of the "DTSTART" property.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          dtend      = "DTEND" dtendparam":" dtendval CRLF
      +     
      +          dtendparam = *(
      +     
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
      +                     (";" tzidparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                     (";" xparam)
      +     
      +                     )
      +     
      +     
      +     
      +          dtendval   = date-time / date
      +          ;Value MUST match value type
      + 
      + + Examples: + +
      +      // construct an end date from a start date and a duration..
      +      DtStart start = ...
      +      Dur oneWeek = new Dur("1W");
      +      DtEnd end = new DtEnd(oneWeek.getTime(start.getDate());
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DtEnd

          +
          public DtEnd()
          +
          Default constructor. The time value is initialised to the time of instantiation.
          +
        • +
        + + + +
          +
        • +

          DtEnd

          +
          public DtEnd(TimeZone timezone)
          +
          Creates a new DTEND property initialised with the specified timezone.
          +
          Parameters:
          timezone - initial timezone
          +
        • +
        + + + +
          +
        • +

          DtEnd

          +
          public DtEnd(String value)
          +      throws ParseException
          +
          Creates a new instance initialised with the parsed value.
          +
          Parameters:
          value - the DTEND value string to parse
          +
          Throws:
          +
          ParseException - where the specified string is not a valid DTEND value representation
          +
        • +
        + + + +
          +
        • +

          DtEnd

          +
          public DtEnd(String value,
          +     TimeZone timezone)
          +      throws ParseException
          +
          Creates a new DTEND property initialised with the specified timezone and value.
          +
          Parameters:
          value - a string representation of a DTEND value
          timezone - initial timezone
          +
          Throws:
          +
          ParseException - where the specified value is not a valid string + representation
          +
        • +
        + + + +
          +
        • +

          DtEnd

          +
          public DtEnd(ParameterList aList,
          +     String aValue)
          +      throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - when the specified string is not a valid date/date-time representation
          +
        • +
        + + + +
          +
        • +

          DtEnd

          +
          public DtEnd(Date aDate)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aDate - a date
          +
        • +
        + + + +
          +
        • +

          DtEnd

          +
          public DtEnd(Date time,
          +     boolean utc)
          +
          Constructs a new DtEnd with the specified time.
          +
          Parameters:
          time - the time of the DtEnd
          utc - specifies whether time is UTC
          +
        • +
        + + + +
          +
        • +

          DtEnd

          +
          public DtEnd(ParameterList aList,
          +     Date aDate)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aList - a list of parameters for this component
          aDate - a date
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtStamp.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtStamp.html new file mode 100644 index 00000000..17f5a8da --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtStamp.html @@ -0,0 +1,400 @@ + + + + + + +DtStamp (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class DtStamp

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class DtStamp
      +extends UtcProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTAMP iCalendar component property. + +
      +     4.8.7.2 Date/Time Stamp
      +     
      +        Property Name: DTSTAMP
      +     
      +        Purpose: The property indicates the date/time that the instance of
      +        the iCalendar object was created.
      +     
      +        Value Type: DATE-TIME
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: This property MUST be included in the "VEVENT", "VTODO",
      +        "VJOURNAL" or "VFREEBUSY" calendar components.
      +     
      +        Description: The value MUST be specified in the UTC time format.
      +     
      +        This property is also useful to protocols such as [IMIP] that have
      +        inherent latency issues with the delivery of content. This property
      +        will assist in the proper sequencing of messages containing iCalendar
      +        objects.
      +     
      +        This property is different than the "CREATED" and "LAST-MODIFIED"
      +        properties. These two properties are used to specify when the
      +        particular calendar data in the calendar store was created and last
      +        modified. This is different than when the iCalendar object
      +        representation of the calendar service information was created or
      +        last modified.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          dtstamp    = "DTSTAMP" stmparam ":" date-time CRLF
      +     
      +          stmparam   = *(";" xparam)
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DtStamp

          +
          public DtStamp()
          +
          Default constructor. Initialises the dateTime value to the time of instantiation.
          +
        • +
        + + + +
          +
        • +

          DtStamp

          +
          public DtStamp(String aValue)
          +        throws ParseException
          +
          Parameters:
          aValue - a string representation of a DTSTAMP value
          +
          Throws:
          +
          ParseException - if the specified value is not a valid representation
          +
        • +
        + + + +
          +
        • +

          DtStamp

          +
          public DtStamp(ParameterList aList,
          +       String aValue)
          +        throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          DtStamp

          +
          public DtStamp(DateTime aDate)
          +
          Parameters:
          aDate - a date representing a date-time
          +
        • +
        + + + +
          +
        • +

          DtStamp

          +
          public DtStamp(ParameterList aList,
          +       DateTime aDate)
          +
          Parameters:
          aList - a list of parameters for this component
          aDate - a date representing a date-time
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtStart.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtStart.html new file mode 100644 index 00000000..3b6da43c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/DtStart.html @@ -0,0 +1,508 @@ + + + + + + +DtStart (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class DtStart

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class DtStart
      +extends DateProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTART iCalendar component property. + +
      +     4.8.2.4 Date/Time Start
      +     
      +        Property Name: DTSTART
      +     
      +        Purpose: This property specifies when the calendar component begins.
      +     
      +        Value Type: The default value type is DATE-TIME. The time value MUST
      +        be one of the forms defined for the DATE-TIME value type. The value
      +        type can be set to a DATE value type.
      +     
      +        Property Parameters: Non-standard, value data type, time zone
      +        identifier property parameters can be specified on this property.
      +     
      +        Conformance: This property can be specified in the "VEVENT", "VTODO",
      +        "VFREEBUSY", or "VTIMEZONE" calendar components.
      +     
      +        Description: Within the "VEVENT" calendar component, this property
      +        defines the start date and time for the event. The property is
      +        REQUIRED in "VEVENT" calendar components. Events can have a start
      +        date/time but no end date/time. In that case, the event does not take
      +        up any time.
      +     
      +        Within the "VFREEBUSY" calendar component, this property defines the
      +        start date and time for the free or busy time information. The time
      +        MUST be specified in UTC time.
      +     
      +        Within the "VTIMEZONE" calendar component, this property defines the
      +        effective start date and time for a time zone specification. This
      +        property is REQUIRED within each STANDARD and DAYLIGHT part included
      +        in "VTIMEZONE" calendar components and MUST be specified as a local
      +        DATE-TIME without the "TZID" property parameter.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          dtstart    = "DTSTART" dtstparam ":" dtstval CRLF
      +     
      +          dtstparam  = *(
      +     
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
      +                     (";" tzidparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                       *(";" xparam)
      +     
      +                     )
      +     
      +     
      +     
      +          dtstval    = date-time / date
      +          ;Value MUST match value type
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DtStart

          +
          public DtStart()
          +
          Default constructor. The time value is initialised to the time of instantiation.
          +
        • +
        + + + +
          +
        • +

          DtStart

          +
          public DtStart(TimeZone timezone)
          +
          Creates a new DTSTART property initialised with the specified timezone.
          +
          Parameters:
          timezone - initial timezone
          +
        • +
        + + + +
          +
        • +

          DtStart

          +
          public DtStart(String aValue)
          +        throws ParseException
          +
          Parameters:
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          DtStart

          +
          public DtStart(String value,
          +       TimeZone timezone)
          +        throws ParseException
          +
          Creates a new DTSTART property initialised with the specified timezone and value.
          +
          Parameters:
          value - a string representation of a DTSTART value
          timezone - initial timezone
          +
          Throws:
          +
          ParseException - where the specified value is not a valid string + representation
          +
        • +
        + + + +
          +
        • +

          DtStart

          +
          public DtStart(ParameterList aList,
          +       String aValue)
          +        throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          DtStart

          +
          public DtStart(Date aDate)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aDate - a date
          +
        • +
        + + + +
          +
        • +

          DtStart

          +
          public DtStart(Date time,
          +       boolean utc)
          +
          Constructs a new DtStart with the specified time.
          +
          Parameters:
          time - the time of the DtStart
          utc - specifies whether time is UTC
          +
        • +
        + + + +
          +
        • +

          DtStart

          +
          public DtStart(ParameterList aList,
          +       Date aDate)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aList - a list of parameters for this component
          aDate - a date
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Due.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Due.html new file mode 100644 index 00000000..074bf451 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Due.html @@ -0,0 +1,479 @@ + + + + + + +Due (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Due

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Due
      +extends DateProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DUE iCalendar component property. + +
      +     4.8.2.3 Date/Time Due
      +     
      +        Property Name: DUE
      +     
      +        Purpose: This property defines the date and time that a to-do is
      +        expected to be completed.
      +     
      +        Value Type: The default value type is DATE-TIME. The value type can
      +        be set to a DATE value type.
      +     
      +        Property Parameters: Non-standard, value data type, time zone
      +        identifier property parameters can be specified on this property.
      +     
      +        Conformance: The property can be specified once in a "VTODO" calendar
      +        component.
      +     
      +        Description: The value MUST be a date/time equal to or after the
      +        DTSTART value, if specified.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          due        = "DUE" dueparam":" dueval CRLF
      +     
      +          dueparam   = *(
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
      +                     (";" tzidparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                       *(";" xparam)
      +     
      +                     )
      +     
      +     
      +     
      +          dueval     = date-time / date
      +          ;Value MUST match value type
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Due

          +
          public Due()
          +
          Default constructor. The time value is initialised to the time of instantiation.
          +
        • +
        + + + +
          +
        • +

          Due

          +
          public Due(TimeZone timezone)
          +
          Creates a new DUE property initialised with the specified timezone.
          +
          Parameters:
          timezone - initial timezone
          +
        • +
        + + + +
          +
        • +

          Due

          +
          public Due(String value)
          +    throws ParseException
          +
          Creates a new instance initialised with the parsed value.
          +
          Parameters:
          value - the DUE value string to parse
          +
          Throws:
          +
          ParseException - where the specified string is not a valid DUE value representation
          +
        • +
        + + + +
          +
        • +

          Due

          +
          public Due(String value,
          +   TimeZone timezone)
          +    throws ParseException
          +
          Creates a new DUE property initialised with the specified timezone and value.
          +
          Parameters:
          value - a string representation of a DUE value
          timezone - initial timezone
          +
          Throws:
          +
          ParseException - where the specified value is not a valid string + representation
          +
        • +
        + + + +
          +
        • +

          Due

          +
          public Due(ParameterList aList,
          +   String aValue)
          +    throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - when the specified string is not a valid date/date-time representation
          +
        • +
        + + + +
          +
        • +

          Due

          +
          public Due(Date aDate)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aDate - a date
          +
        • +
        + + + +
          +
        • +

          Due

          +
          public Due(ParameterList aList,
          +   Date aDate)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aList - a list of parameters for this component
          aDate - a date
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Duration.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Duration.html new file mode 100644 index 00000000..22709ee5 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Duration.html @@ -0,0 +1,479 @@ + + + + + + +Duration (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Duration

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Duration
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DURATION iCalendar component property. + +
      +     4.3.6   Duration
      +     
      +        Value Name: DURATION
      +     
      +        Purpose: This value type is used to identify properties that contain
      +        a duration of time.
      +     
      +        Formal Definition: The value type is defined by the following
      +        notation:
      +     
      +          dur-value  = (["+"] / "-") "P" (dur-date / dur-time / dur-week)
      +     
      +          dur-date   = dur-day [dur-time]
      +          dur-time   = "T" (dur-hour / dur-minute / dur-second)
      +          dur-week   = 1*DIGIT "W"
      +          dur-hour   = 1*DIGIT "H" [dur-minute]
      +          dur-minute = 1*DIGIT "M" [dur-second]
      +          dur-second = 1*DIGIT "S"
      +          dur-day    = 1*DIGIT "D"
      +     
      +        Description: If the property permits, multiple "duration" values are
      +        specified by a COMMA character (US-ASCII decimal 44) separated list
      +        of values. The format is expressed as the [ISO 8601] basic format for
      +        the duration of time. The format can represent durations in terms of
      +        weeks, days, hours, minutes, and seconds.
      +     
      +        No additional content value encoding (i.e., BACKSLASH character
      +        encoding) are defined for this value type.
      +     
      +        Example: A duration of 15 days, 5 hours and 20 seconds would be:
      +     
      +          P15DT5H0M20S
      +     
      +        A duration of 7 weeks would be:
      +     
      +          P7W
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Duration

          +
          public Duration()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Duration

          +
          public Duration(ParameterList aList,
          +        String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Duration

          +
          public Duration(Dur duration)
          +
          Parameters:
          duration - a duration value
          +
        • +
        + + + +
          +
        • +

          Duration

          +
          public Duration(ParameterList aList,
          +        Dur duration)
          +
          Parameters:
          aList - a list of parameters for this component
          duration - a duration value
          +
        • +
        + + + +
          +
        • +

          Duration

          +
          public Duration(Date start,
          +        Date end)
          +
          Constructs a new duration representing the time between the specified start date and end date.
          +
          Parameters:
          start - the starting time for the duration
          end - the end time for the duration
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDuration

          +
          public final Dur getDuration()
          +
          Returns:
          Returns the duration.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setDuration

          +
          public final void setDuration(Dur duration)
          +
          Parameters:
          duration - The duration to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExDate.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExDate.html new file mode 100644 index 00000000..c6c21171 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExDate.html @@ -0,0 +1,372 @@ + + + + + + +ExDate (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class ExDate

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class ExDate
      +extends DateListProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a EXDATE iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ExDate

          +
          public ExDate()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          ExDate

          +
          public ExDate(ParameterList aList,
          +      String aValue)
          +       throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          ExDate

          +
          public ExDate(DateList dList)
          +
          Parameters:
          dList - a list of dates
          +
        • +
        + + + +
          +
        • +

          ExDate

          +
          public ExDate(ParameterList aList,
          +      DateList dList)
          +
          Parameters:
          aList - a list of parameters for this component
          dList - a list of dates
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExRule.html new file mode 100644 index 00000000..5d695c72 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExRule.html @@ -0,0 +1,428 @@ + + + + + + +ExRule (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class ExRule

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class ExRule
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a EXRULE iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ExRule

          +
          public ExRule()
          +
          Default constructor.
          +
        • +
        + + + + + + + +
          +
        • +

          ExRule

          +
          public ExRule(Recur aRecur)
          +
          Parameters:
          aRecur - a recurrence
          +
        • +
        + + + +
          +
        • +

          ExRule

          +
          public ExRule(ParameterList aList,
          +      Recur aRecur)
          +
          Parameters:
          aList - a list of parameters for this component
          aRecur - a recurrence
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getRecur

          +
          public final Recur getRecur()
          +
          Returns:
          Returns the recur.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws ParseException
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          ParseException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setRecur

          +
          public final void setRecur(Recur recur)
          +
          Parameters:
          recur - The recur to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExtendedAddress.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExtendedAddress.html new file mode 100644 index 00000000..05790c7d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ExtendedAddress.html @@ -0,0 +1,380 @@ + + + + + + +ExtendedAddress (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class ExtendedAddress

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class ExtendedAddress
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a EXTENDED_ADDRESS iCalendar component property.
      +
      Author:
      +
      benf, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ExtendedAddress

          +
          public ExtendedAddress()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          ExtendedAddress

          +
          public ExtendedAddress(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          ExtendedAddress

          +
          public ExtendedAddress(ParameterList aList,
          +               String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/FreeBusy.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/FreeBusy.html new file mode 100644 index 00000000..7ad4d78f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/FreeBusy.html @@ -0,0 +1,486 @@ + + + + + + +FreeBusy (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class FreeBusy

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class FreeBusy
      +extends Property
      +
      $Id$ + + Created: [Apr 14, 2004] + + Defines a FREEBUSY iCalendar component property. + +
      +     4.8.2.6 Free/Busy Time
      +     
      +        Property Name: FREEBUSY
      +     
      +        Purpose: The property defines one or more free or busy time
      +        intervals.
      +     
      +        Value Type: PERIOD. The date and time values MUST be in an UTC time
      +        format.
      +     
      +        Property Parameters: Non-standard or free/busy time type property
      +        parameters can be specified on this property.
      +     
      +        Conformance: The property can be specified in a "VFREEBUSY" calendar
      +        component.
      +     
      +        Property Parameter: "FBTYPE" and non-standard parameters can be
      +        specified on this property.
      +     
      +        Description: These time periods can be specified as either a start
      +        and end date-time or a start date-time and duration. The date and
      +        time MUST be a UTC time format.
      +     
      +        "FREEBUSY" properties within the "VFREEBUSY" calendar component
      +        SHOULD be sorted in ascending order, based on start time and then end
      +        time, with the earliest periods first.
      +     
      +        The "FREEBUSY" property can specify more than one value, separated by
      +        the COMMA character (US-ASCII decimal 44). In such cases, the
      +        "FREEBUSY" property values SHOULD all be of the same "FBTYPE"
      +        property parameter type (e.g., all values of a particular "FBTYPE"
      +        listed together in a single property).
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          freebusy   = "FREEBUSY" fbparam ":" fbvalue
      +                       CRLF
      +     
      +          fbparam    = *(
      +                     ; the following is optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" fbtypeparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                     (";" xparam)
      +     
      +                     )
      +     
      +          fbvalue    = period *["," period]
      +          ;Time value MUST be in the UTC time format.
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          FreeBusy

          +
          public FreeBusy()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          FreeBusy

          +
          public FreeBusy(String aValue)
          +         throws ParseException
          +
          Parameters:
          aValue - a freebusy value
          +
          Throws:
          +
          ParseException - where the specified string is not a valid freebusy value
          +
        • +
        + + + +
          +
        • +

          FreeBusy

          +
          public FreeBusy(ParameterList aList,
          +        String aValue)
          +         throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - when the specified string is not a valid list of periods
          +
        • +
        + + + +
          +
        • +

          FreeBusy

          +
          public FreeBusy(PeriodList pList)
          +
          Parameters:
          pList - a list of periods
          +
        • +
        + + + +
          +
        • +

          FreeBusy

          +
          public FreeBusy(ParameterList aList,
          +        PeriodList pList)
          +
          Parameters:
          aList - a list of parameters for this component
          pList - a list of periods
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getPeriods

          +
          public final PeriodList getPeriods()
          +
          Returns:
          Returns the periods.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws ParseException
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          ParseException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Geo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Geo.html new file mode 100644 index 00000000..f120162b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Geo.html @@ -0,0 +1,551 @@ + + + + + + +Geo (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Geo

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Geo
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a GEO iCalendar component property. + +
      +      4.8.1.6 Geographic Position
      +      
      +         Property Name: GEO
      +      
      +         Purpose: This property specifies information related to the global
      +         position for the activity specified by a calendar component.
      +      
      +         Value Type: FLOAT. The value MUST be two SEMICOLON separated FLOAT
      +         values.
      +      
      +         Property Parameters: Non-standard property parameters can be
      +         specified on this property.
      +      
      +         Conformance: This property can be specified in  "VEVENT" or "VTODO"
      +         calendar components.
      +      
      +         Description: The property value specifies latitude and longitude, in
      +         that order (i.e., "LAT LON" ordering). The longitude represents the
      +         location east or west of the prime meridian as a positive or negative
      +         real number, respectively. The longitude and latitude values MAY be
      +         specified up to six decimal places, which will allow for accuracy to
      +         within one meter of geographical position. Receiving applications
      +         MUST accept values of this precision and MAY truncate values of
      +         greater precision.
      +      
      +         Values for latitude and longitude shall be expressed as decimal
      +         fractions of degrees. Whole degrees of latitude shall be represented
      +         by a two-digit decimal number ranging from 0 through 90. Whole
      +         degrees of longitude shall be represented by a decimal number ranging
      +         from 0 through 180. When a decimal fraction of a degree is specified,
      +         it shall be separated from the whole number of degrees by a decimal
      +         point.
      +      
      +         Latitudes north of the equator shall be specified by a plus sign (+),
      +         or by the absence of a minus sign (-), preceding the digits
      +         designating degrees. Latitudes south of the Equator shall be
      +         designated by a minus sign (-) preceding the digits designating
      +         degrees. A point on the Equator shall be assigned to the Northern
      +         Hemisphere.
      +      
      +         Longitudes east of the prime meridian shall be specified by a plus
      +         sign (+), or by the absence of a minus sign (-), preceding the digits
      +         designating degrees. Longitudes west of the meridian shall be
      +         designated by minus sign (-) preceding the digits designating
      +         degrees. A point on the prime meridian shall be assigned to the
      +         Eastern Hemisphere. A point on the 180th meridian shall be assigned
      +         to the Western Hemisphere. One exception to this last convention is
      +         permitted. For the special condition of describing a band of latitude
      +         around the earth, the East Bounding Coordinate data element shall be
      +         assigned the value +180 (180) degrees.
      +      
      +         Any spatial address with a latitude of +90 (90) or -90 degrees will
      +         specify the position at the North or South Pole, respectively. The
      +         component for longitude may have any legal value.
      +      
      +         With the exception of the special condition described above, this
      +         form is specified in Department of Commerce, 1986, Representation of
      +         geographic point locations for information interchange (Federal
      +         Information Processing Standard 70-1):  Washington,  Department of
      +         Commerce, National Institute of Standards and Technology.
      +      
      +         The simple formula for converting degrees-minutes-seconds into
      +         decimal degrees is:
      +      
      +           decimal = degrees + minutes/60 + seconds/3600.
      +      
      +         Format Definition: The property is defined by the following notation:
      +      
      +           geo        = "GEO" geoparam ":" geovalue CRLF
      +      
      +           geoparam   = *(";" xparam)
      +      
      +           geovalue   = float ";" float
      +           ;Latitude and Longitude components
      +      
      +         Example: The following is an example of this property:
      +      
      +           GEO:37.386013;-122.082932
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Geo

          +
          public Geo()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Geo

          +
          public Geo(String value)
          +
          Creates a new instance by parsing the specified string representation.
          +
          Parameters:
          value - a geo value
          +
        • +
        + + + +
          +
        • +

          Geo

          +
          public Geo(ParameterList aList,
          +   String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Geo

          +
          public Geo(BigDecimal latitude,
          +   BigDecimal longitude)
          +
          Parameters:
          latitude - a latitudinal value
          longitude - a longitudinal value
          +
        • +
        + + + +
          +
        • +

          Geo

          +
          public Geo(ParameterList aList,
          +   BigDecimal latitude,
          +   BigDecimal longitude)
          +
          Parameters:
          aList - a list of parameters for this component
          latitude - a latitudinal value
          longitude - a longitudinal value
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getLatitude

          +
          public final BigDecimal getLatitude()
          +
          Returns:
          Returns the latitude.
          +
        • +
        + + + +
          +
        • +

          getLongitude

          +
          public final BigDecimal getLongitude()
          +
          Returns:
          Returns the longitude.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setLatitude

          +
          public final void setLatitude(BigDecimal latitude)
          +
          Parameters:
          latitude - The latitude to set.
          +
        • +
        + + + +
          +
        • +

          setLongitude

          +
          public final void setLongitude(BigDecimal longitude)
          +
          Parameters:
          longitude - The longitude to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/LastModified.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/LastModified.html new file mode 100644 index 00000000..a7b90466 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/LastModified.html @@ -0,0 +1,393 @@ + + + + + + +LastModified (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class LastModified

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class LastModified
      +extends UtcProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LAST-MODIFIED iCalendar component property. + +
      +     4.8.7.3 Last Modified
      +     
      +        Property Name: LAST-MODIFIED
      +     
      +        Purpose: The property specifies the date and time that the
      +        information associated with the calendar component was last revised
      +        in the calendar store.
      +     
      +             Note: This is analogous to the modification date and time for a
      +             file in the file system.
      +     
      +        Value Type: DATE-TIME
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: This property can be specified in the "EVENT", "VTODO",
      +        "VJOURNAL" or "VTIMEZONE" calendar components.
      +     
      +        Description: The property value MUST be specified in the UTC time
      +        format.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          last-mod   = "LAST-MODIFIED" lstparam ":" date-time CRLF
      +     
      +          lstparam   = *(";" xparam)
      + 
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          LastModified

          +
          public LastModified()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          LastModified

          +
          public LastModified(String aValue)
          +             throws ParseException
          +
          Parameters:
          aValue - a date-time value
          +
          Throws:
          +
          ParseException - where the specified string is not a valid date-time
          +
        • +
        + + + +
          +
        • +

          LastModified

          +
          public LastModified(ParameterList aList,
          +            String aValue)
          +             throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          LastModified

          +
          public LastModified(DateTime aDate)
          +
          Parameters:
          aDate - a date representation of a date-time value
          +
        • +
        + + + +
          +
        • +

          LastModified

          +
          public LastModified(ParameterList aList,
          +            DateTime aDate)
          +
          Parameters:
          aList - a list of parameters for this component
          aDate - a date representation of a date-time value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Locality.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Locality.html new file mode 100644 index 00000000..3ab36a2a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Locality.html @@ -0,0 +1,380 @@ + + + + + + +Locality (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Locality

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Locality
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCALITY iCalendar component property.
      +
      Author:
      +
      benf, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Locality

          +
          public Locality()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Locality

          +
          public Locality(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Locality

          +
          public Locality(ParameterList aList,
          +        String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Location.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Location.html new file mode 100644 index 00000000..ccc90341 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Location.html @@ -0,0 +1,431 @@ + + + + + + +Location (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Location

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Location
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION iCalendar component property. + +
      +     4.8.1.7 Location
      +     
      +        Property Name: LOCATION
      +     
      +        Purpose: The property defines the intended venue for the activity
      +        defined by a calendar component.
      +     
      +        Value Type: TEXT
      +     
      +        Property Parameters: Non-standard, alternate text representation and
      +        language property parameters can be specified on this property.
      +     
      +        Conformance: This property can be specified in "VEVENT" or "VTODO"
      +        calendar component.
      +     
      +        Description: Specific venues such as conference or meeting rooms may
      +        be explicitly specified using this property. An alternate
      +        representation may be specified that is a URI that points to
      +        directory information with more structured specification of the
      +        location. For example, the alternate representation may specify
      +        either an LDAP URI pointing to an LDAP server entry or a CID URI
      +        pointing to a MIME body part containing a vCard [RFC 2426] for the
      +        location.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          location   = "LOCATION locparam ":" text CRLF
      +     
      +          locparam   = *(
      +     
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" altrepparam) / (";" languageparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                     (";" xparam)
      +     
      +                     )
      +     
      +        Example: The following are some examples of this property:
      +     
      +          LOCATION:Conference Room - F123, Bldg. 002
      +     
      +          LOCATION;ALTREP="http://xyzcorp.com/conf-rooms/f123.vcf":
      +           Conference Room - F123, Bldg. 002
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Location

          +
          public Location()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Location

          +
          public Location(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Location

          +
          public Location(ParameterList aList,
          +        String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/LocationType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/LocationType.html new file mode 100644 index 00000000..100343a9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/LocationType.html @@ -0,0 +1,421 @@ + + + + + + +LocationType (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class LocationType

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class LocationType
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION_TYPE iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          LocationType

          +
          public LocationType()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          LocationType

          +
          public LocationType(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          LocationType

          +
          public LocationType(ParameterList aList,
          +            String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          LocationType

          +
          public LocationType(LocationTypeList cList)
          +
          Parameters:
          cList - a list of locationTypes
          +
        • +
        + + + +
          +
        • +

          LocationType

          +
          public LocationType(ParameterList aList,
          +            LocationTypeList cList)
          +
          Parameters:
          aList - a list of parameters for this component
          cList - a list of locationTypes
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + + + + + +
          +
        • +

          getLocationTypes

          +
          public final LocationTypeList getLocationTypes()
          +
          Returns:
          Returns the locationTypes.
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Method.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Method.html new file mode 100644 index 00000000..8ea7c7fd --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Method.html @@ -0,0 +1,529 @@ + + + + + + +Method (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Method

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Method
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a METHOD iCalendar property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          PUBLISH

          +
          public static final Method PUBLISH
          +
          Used to publish a calendar entry to one or more Calendar Users. There is no interactivity between the publisher + and any other calendar user. An example might include a baseball team publishing its schedule to the public. [RFC + 2446]
          +
        • +
        + + + +
          +
        • +

          REQUEST

          +
          public static final Method REQUEST
          +
          Used to schedule a calendar entry with other Calendar Users. Requests are interactive in that they require the + receiver to respond using the Reply methods. Meeting Requests, Busy Time requests and the assignment of VTODOs to + other Calendar Users are all examples. Requests are also used by the "Organizer" to update the status of a + calendar entry. [RFC 2446]
          +
        • +
        + + + +
          +
        • +

          REPLY

          +
          public static final Method REPLY
          +
          A Reply is used in response to a Request to convey "Attendee" status to the "Organizer". Replies are commonly + used to respond to meeting and task requests. [RFC2446]
          +
        • +
        + + + +
          +
        • +

          ADD

          +
          public static final Method ADD
          +
          Add one or more instances to an existing VEVENT, VTODO, or VJOURNAL. [RFC 2446]
          +
        • +
        + + + +
          +
        • +

          CANCEL

          +
          public static final Method CANCEL
          +
          Cancel one or more instances of an existing VEVENT, VTODO, or VJOURNAL. [RFC 2446]
          +
        • +
        + + + +
          +
        • +

          REFRESH

          +
          public static final Method REFRESH
          +
          The Refresh method is used by an "Attendee" to request the latest version of a calendar entry. [RFC 2446]
          +
        • +
        + + + +
          +
        • +

          COUNTER

          +
          public static final Method COUNTER
          +
          The Counter method is used by an "Attendee" to negotiate a change in the calendar entry. Examples include the + request to change a proposed Event time or change the due date for a VTODO. [RFC 2446]
          +
        • +
        + + + +
          +
        • +

          DECLINE_COUNTER

          +
          public static final Method DECLINE_COUNTER
          +
          Used by the "Organizer" to decline the proposed counter-proprosal. [RFC 2446]
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Method

          +
          public Method()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Method

          +
          public Method(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Method

          +
          public Method(ParameterList aList,
          +      String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Name.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Name.html new file mode 100644 index 00000000..34236a17 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Name.html @@ -0,0 +1,380 @@ + + + + + + +Name (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Name

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Name
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a NAME iCalendar component property.
      +
      Author:
      +
      benf, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Name

          +
          public Name()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Name

          +
          public Name(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Name

          +
          public Name(ParameterList aList,
          +    String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Organizer.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Organizer.html new file mode 100644 index 00000000..8a859ec9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Organizer.html @@ -0,0 +1,524 @@ + + + + + + +Organizer (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Organizer

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Organizer
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ORGANIZER iCalendar component property. + +
      +     4.8.4.3 Organizer
      +     
      +        Property Name: ORGANIZER
      +     
      +        Purpose: The property defines the organizer for a calendar component.
      +     
      +        Value Type: CAL-ADDRESS
      +     
      +        Property Parameters: Non-standard, language, common name, directory
      +        entry reference, sent by property parameters can be specified on this
      +        property.
      +     
      +        Conformance: This property MUST be specified in an iCalendar object
      +        that specifies a group scheduled calendar entity. This property MUST
      +        be specified in an iCalendar object that specifies the publication of
      +        a calendar user's busy time. This property MUST NOT be specified in
      +        an iCalendar object that specifies only a time zone definition or
      +        that defines calendar entities that are not group scheduled entities,
      +        but are entities only on a single user's calendar.
      +     
      +        Description: The property is specified within the "VEVENT", "VTODO",
      +        "VJOURNAL calendar components to specify the organizer of a group
      +        scheduled calendar entity. The property is specified within the
      +        "VFREEBUSY" calendar component to specify the calendar user
      +        requesting the free or busy time. When publishing a "VFREEBUSY"
      +        calendar component, the property is used to specify the calendar that
      +        the published busy time came from.
      +     
      +        The property has the property parameters CN, for specifying the
      +        common or display name associated with the "Organizer", DIR, for
      +        specifying a pointer to the directory information associated with the
      +        "Organizer", SENT-BY, for specifying another calendar user that is
      +        acting on behalf of the "Organizer". The non-standard parameters may
      +        also be specified on this property. If the LANGUAGE property
      +        parameter is specified, the identified language applies to the CN
      +        parameter value.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          organizer  = "ORGANIZER" orgparam ":"
      +                       cal-address CRLF
      +     
      +          orgparam   = *(
      +     
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" cnparam) / (";" dirparam) / (";" sentbyparam) /
      +                     (";" languageparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                     (";" xparam)
      +     
      +                     )
      +     
      +        Example: The following is an example of this property:
      +     
      +          ORGANIZER;CN=John Smith:MAILTO:jsmith@host1.com
      +     
      +        The following is an example of this property with a pointer to the
      +        directory information associated with the organizer:
      +     
      +          ORGANIZER;CN=JohnSmith;DIR="ldap://host.com:6666/o=3DDC%20Associ
      +           ates,c=3DUS??(cn=3DJohn%20Smith)":MAILTO:jsmith@host1.com
      +     
      +        The following is an example of this property used by another calendar
      +        user who is acting on behalf of the organizer, with responses
      +        intended to be sent back to the organizer, not the other calendar
      +        user:
      +     
      +          ORGANIZER;SENT-BY="MAILTO:jane_doe@host.com":
      +           MAILTO:jsmith@host1.com
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Organizer

          +
          public Organizer()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Organizer

          +
          public Organizer(String value)
          +          throws URISyntaxException
          +
          Constructs a new instance with the specified value.
          +
          Parameters:
          value - an organizer URI
          +
          Throws:
          +
          URISyntaxException - where the specified value is not a valid URI
          +
        • +
        + + + +
          +
        • +

          Organizer

          +
          public Organizer(ParameterList aList,
          +         String aValue)
          +          throws URISyntaxException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          URISyntaxException - where the specified value string is not a valid uri
          +
        • +
        + + + +
          +
        • +

          Organizer

          +
          public Organizer(URI aUri)
          +
          Parameters:
          aUri - a URI representation of a calendar address
          +
        • +
        + + + +
          +
        • +

          Organizer

          +
          public Organizer(ParameterList aList,
          +         URI aUri)
          +
          Parameters:
          aList - a list of parameters for this component
          aUri - a URI representation of a calendar address
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getCalAddress

          +
          public final URI getCalAddress()
          +
          Returns:
          Returns the calAddress.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws URISyntaxException
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          URISyntaxException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setCalAddress

          +
          public final void setCalAddress(URI calAddress)
          +
          Parameters:
          calAddress - The calAddress to set.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/PercentComplete.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/PercentComplete.html new file mode 100644 index 00000000..b74c0bf8 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/PercentComplete.html @@ -0,0 +1,422 @@ + + + + + + +PercentComplete (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class PercentComplete

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class PercentComplete
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PERCENT-COMPLETE iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PercentComplete

          +
          public PercentComplete()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          PercentComplete

          +
          public PercentComplete(ParameterList aList,
          +               String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          PercentComplete

          +
          public PercentComplete(int aPercentage)
          +
          Parameters:
          aPercentage - an int representation of a percentage
          +
        • +
        + + + +
          +
        • +

          PercentComplete

          +
          public PercentComplete(ParameterList aList,
          +               int aPercentage)
          +
          Parameters:
          aList - a list of parameters for this component
          aPercentage - an int representation of a percentage
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getPercentage

          +
          public final int getPercentage()
          +
          Returns:
          Returns the percentage.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setPercentage

          +
          public final void setPercentage(int percentage)
          +
          Parameters:
          percentage - The percentage to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Postalcode.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Postalcode.html new file mode 100644 index 00000000..605ba461 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Postalcode.html @@ -0,0 +1,380 @@ + + + + + + +Postalcode (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Postalcode

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Postalcode
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a POSTALCODE iCalendar component property.
      +
      Author:
      +
      benf, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Postalcode

          +
          public Postalcode()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Postalcode

          +
          public Postalcode(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Postalcode

          +
          public Postalcode(ParameterList aList,
          +          String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Priority.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Priority.html new file mode 100644 index 00000000..892b9f45 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Priority.html @@ -0,0 +1,576 @@ + + + + + + +Priority (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Priority

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Priority
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PRIORITY iCalendar component property. + +
      +     4.8.1.9 Priority
      +     
      +        Property Name: PRIORITY
      +     
      +        Purpose: The property defines the relative priority for a calendar
      +        component.
      +     
      +        Value Type: INTEGER
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: The property can be specified in a "VEVENT" or "VTODO"
      +        calendar component.
      +     
      +        Description: The priority is specified as an integer in the range
      +        zero to nine. A value of zero (US-ASCII decimal 48) specifies an
      +        undefined priority. A value of one (US-ASCII decimal 49) is the
      +        highest priority. A value of two (US-ASCII decimal 50) is the second
      +        highest priority. Subsequent numbers specify a decreasing ordinal
      +        priority. A value of nine (US-ASCII decimal 58) is the lowest
      +        priority.
      +     
      +        A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
      +        "LOW" is mapped into this property such that a property value in the
      +        range of one (US-ASCII decimal 49) to four (US-ASCII decimal 52)
      +        specifies "HIGH" priority. A value of five (US-ASCII decimal 53) is
      +        the normal or "MEDIUM" priority. A value in the range of six (US-
      +        ASCII decimal 54) to nine (US-ASCII decimal 58) is "LOW" priority.
      +     
      +        A CUA with a priority schema of "A1", "A2", "A3",
      +         "B1", "B2", ...,
      +        "C3" is mapped into this property such that a property value of one
      +        (US-ASCII decimal 49) specifies "A1", a property value of two (US-
      +        ASCII decimal 50) specifies "A2", a property value of three (US-ASCII
      +        decimal 51) specifies "A3", and so forth up to a property value of 9
      +        (US-ASCII decimal 58) specifies "C3".
      +     
      +        Other integer values are reserved for future use.
      +     
      +        Within a "VEVENT" calendar component, this property specifies a
      +        priority for the event. This property may be useful when more than
      +        one event is scheduled for a given time period.
      +     
      +        Within a "VTODO" calendar component, this property specified a
      +        priority for the to-do. This property is useful in prioritizing
      +        multiple action items for a given time period.
      +     
      +        Format Definition: The property is specified by the following
      +        notation:
      +     
      +          priority   = "PRIORITY" prioparam ":" privalue CRLF
      +          ;Default is zero
      +     
      +          prioparam  = *(";" xparam)
      +     
      +          privalue   = integer       ;Must be in the range [0..9]
      +             ; All other values are reserved for future use
      +     
      +        The following is an example of a property with the highest priority:
      +     
      +          PRIORITY:1
      +     
      +        The following is an example of a property with a next highest
      +        priority:
      +     
      +          PRIORITY:2
      +     
      +        Example: The following is an example of a property with no priority.
      +        This is equivalent to not specifying the "PRIORITY" property:
      +     
      +          PRIORITY:0
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          UNDEFINED

          +
          public static final Priority UNDEFINED
          +
          Undefined priority.
          +
        • +
        + + + +
          +
        • +

          HIGH

          +
          public static final Priority HIGH
          +
          High priority.
          +
        • +
        + + + +
          +
        • +

          MEDIUM

          +
          public static final Priority MEDIUM
          +
          Medium priority.
          +
        • +
        + + + +
          +
        • +

          LOW

          +
          public static final Priority LOW
          +
          Low priority.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Priority

          +
          public Priority()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Priority

          +
          public Priority(ParameterList aList,
          +        String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Priority

          +
          public Priority(int aLevel)
          +
          Parameters:
          aLevel - an int representation of a priority level
          +
        • +
        + + + +
          +
        • +

          Priority

          +
          public Priority(ParameterList aList,
          +        int aLevel)
          +
          Parameters:
          aList - a list of parameters for this component
          aLevel - an int representation of a priority level
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getLevel

          +
          public final int getLevel()
          +
          Returns:
          Returns the level.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setLevel

          +
          public void setLevel(int level)
          +
          Parameters:
          level - The level to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ProdId.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ProdId.html new file mode 100644 index 00000000..dfc79641 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/ProdId.html @@ -0,0 +1,380 @@ + + + + + + +ProdId (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class ProdId

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ProdId

          +
          public ProdId()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          ProdId

          +
          public ProdId(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          ProdId

          +
          public ProdId(ParameterList aList,
          +      String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RDate.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RDate.html new file mode 100644 index 00000000..dfc1cc60 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RDate.html @@ -0,0 +1,563 @@ + + + + + + +RDate (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class RDate

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class RDate
      +extends DateListProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an RDATE iCalendar component property. + +
      +     4.8.5.3 Recurrence Date/Times
      +     
      +        Property Name: RDATE
      +     
      +        Purpose: This property defines the list of date/times for a
      +        recurrence set.
      +     
      +        Value Type: The default value type for this property is DATE-TIME.
      +        The value type can be set to DATE or PERIOD.
      +     
      +        Property Parameters: Non-standard, value data type and time zone
      +        identifier property parameters can be specified on this property.
      +     
      +        Conformance: The property can be specified in "VEVENT", "VTODO",
      +        "VJOURNAL" or "VTIMEZONE" calendar components.
      +     
      +        Description: This property can appear along with the "RRULE" property
      +        to define an aggregate set of repeating occurrences. When they both
      +        appear in an iCalendar object, the recurring events are defined by
      +        the union of occurrences defined by both the "RDATE" and "RRULE".
      +     
      +        The recurrence dates, if specified, are used in computing the
      +        recurrence set. The recurrence set is the complete set of recurrence
      +        instances for a calendar component. The recurrence set is generated
      +        by considering the initial "DTSTART" property along with the "RRULE",
      +        "RDATE", "EXDATE" and "EXRULE" properties contained within the
      +        iCalendar object. The "DTSTART" property defines the first instance
      +        in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
      +        properties can also be specified to define more sophisticated
      +        recurrence sets. The final recurrence set is generated by gathering
      +        all of the start date/times generated by any of the specified "RRULE"
      +        and "RDATE" properties, and excluding any start date/times which fall
      +        within the union of start date/times generated by any specified
      +        "EXRULE" and "EXDATE" properties. This implies that start date/times
      +        within exclusion related properties (i.e., "EXDATE" and "EXRULE")
      +        take precedence over those specified by inclusion properties (i.e.,
      +        "RDATE" and "RRULE"). Where duplicate instances are generated by the
      +        "RRULE" and "RDATE" properties, only one recurrence is considered.
      +        Duplicate instances are ignored.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          rdate      = "RDATE" rdtparam ":" rdtval *("," rdtval) CRLF
      +     
      +          rdtparam   = *(
      +     
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" "VALUE" "=" ("DATE-TIME"
      +                      / "DATE" / "PERIOD")) /
      +                     (";" tzidparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                     (";" xparam)
      +     
      +                     )
      +     
      +          rdtval     = date-time / date / period
      +          ;Value MUST match value type
      +     
      +        Example: The following are examples of this property:
      +     
      +          RDATE:19970714T123000Z
      +     
      +          RDATE;TZID=US-EASTERN:19970714T083000
      +     
      +          RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
      +           19960404T010000Z/PT3H
      +     
      +          RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
      +           19970526,19970704,19970901,19971014,19971128,19971129,19971225
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RDate

          +
          public RDate()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          RDate

          +
          public RDate(ParameterList aList,
          +     String aValue)
          +      throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          RDate

          +
          public RDate(DateList dates)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          dates - a list of dates
          +
        • +
        + + + +
          +
        • +

          RDate

          +
          public RDate(ParameterList aList,
          +     DateList dates)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aList - a list of parameters for this component
          dates - a list of dates
          +
        • +
        + + + +
          +
        • +

          RDate

          +
          public RDate(PeriodList periods)
          +
          Constructor.
          +
          Parameters:
          periods - a list of periods
          +
        • +
        + + + +
          +
        • +

          RDate

          +
          public RDate(ParameterList aList,
          +     PeriodList periods)
          +
          Constructor.
          +
          Parameters:
          aList - a list of parameters for this component
          periods - a list of periods
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getPeriods

          +
          public final PeriodList getPeriods()
          +
          Returns:
          Returns the period list.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws ParseException
          +
          Sets the current value of the property.
          +
          +
          Overrides:
          +
          setValue in class DateListProperty
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          ParseException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + + + + + +
          +
        • +

          setTimeZone

          +
          public final void setTimeZone(TimeZone timezone)
          +
          Sets the timezone associated with this property.
          +
          +
          Overrides:
          +
          setTimeZone in class DateListProperty
          +
          Parameters:
          timezone - a timezone to associate with this property
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RRule.html new file mode 100644 index 00000000..639ea044 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RRule.html @@ -0,0 +1,430 @@ + + + + + + +RRule (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class RRule

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class RRule
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an RRULE iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RRule

          +
          public RRule()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          RRule

          +
          public RRule(String value)
          +      throws ParseException
          +
          Parameters:
          value - a rule string
          +
          Throws:
          +
          ParseException - where the specified string is not a valid rule
          +
        • +
        + + + + + + + +
          +
        • +

          RRule

          +
          public RRule(Recur aRecur)
          +
          Parameters:
          aRecur - a recurrence value
          +
        • +
        + + + +
          +
        • +

          RRule

          +
          public RRule(ParameterList aList,
          +     Recur aRecur)
          +
          Parameters:
          aList - a list of parameters for this component
          aRecur - a recurrence value
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getRecur

          +
          public final Recur getRecur()
          +
          Returns:
          Returns the recur.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws ParseException
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          ParseException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RecurrenceId.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RecurrenceId.html new file mode 100644 index 00000000..f8d543fb --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RecurrenceId.html @@ -0,0 +1,512 @@ + + + + + + +RecurrenceId (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class RecurrenceId

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class RecurrenceId
      +extends DateProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a RECURRENCE-ID iCalendar component property. + +
      +     4.8.4.4 Recurrence ID
      +     
      +        Property Name: RECURRENCE-ID
      +     
      +        Purpose: This property is used in conjunction with the "UID" and
      +        "SEQUENCE" property to identify a specific instance of a recurring
      +        "VEVENT", "VTODO" or "VJOURNAL" calendar component. The property
      +        value is the effective value of the "DTSTART" property of the
      +        recurrence instance.
      +     
      +        Value Type: The default value type for this property is DATE-TIME.
      +        The time format can be any of the valid forms defined for a DATE-TIME
      +        value type. See DATE-TIME value type definition for specific
      +        interpretations of the various forms. The value type can be set to
      +        DATE.
      +     
      +        Property Parameters: Non-standard property, value data type, time
      +        zone identifier and recurrence identifier range parameters can be
      +        specified on this property.
      +     
      +        Conformance: This property can be specified in an iCalendar object
      +        containing a recurring calendar component.
      +     
      +        Description: The full range of calendar components specified by a
      +        recurrence set is referenced by referring to just the "UID" property
      +        value corresponding to the calendar component. The "RECURRENCE-ID"
      +        property allows the reference to an individual instance within the
      +        recurrence set.
      +     
      +        If the value of the "DTSTART" property is a DATE type value, then the
      +        value MUST be the calendar date for the recurrence instance.
      +     
      +        The date/time value is set to the time when the original recurrence
      +        instance would occur; meaning that if the intent is to change a
      +        Friday meeting to Thursday, the date/time is still set to the
      +        original Friday meeting.
      +     
      +        The "RECURRENCE-ID" property is used in conjunction with the "UID"
      +        and "SEQUENCE" property to identify a particular instance of a
      +        recurring event, to-do or journal. For a given pair of "UID" and
      +        "SEQUENCE" property values, the "RECURRENCE-ID" value for a
      +        recurrence instance is fixed. When the definition of the recurrence
      +        set for a calendar component changes, and hence the "SEQUENCE"
      +        property value changes, the "RECURRENCE-ID" for a given recurrence
      +        instance might also change.The "RANGE" parameter is used to specify
      +        the effective range of recurrence instances from the instance
      +        specified by the "RECURRENCE-ID" property value. The default value
      +        for the range parameter is the single recurrence instance only. The
      +        value can also be "THISANDPRIOR" to indicate a range defined by the
      +        given recurrence instance and all prior instances or the value can be
      +        "THISANDFUTURE" to indicate a range defined by the given recurrence
      +        instance and all subsequent instances.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          recurid    = "RECURRENCE-ID" ridparam ":" ridval CRLF
      +     
      +          ridparam   = *(
      +     
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" "VALUE" "=" ("DATE-TIME" / "DATE)) /
      +                     (";" tzidparam) / (";" rangeparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                     (";" xparam)
      +     
      +                     )
      +     
      +          ridval     = date-time / date
      +          ;Value MUST match value type
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RecurrenceId

          +
          public RecurrenceId()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          RecurrenceId

          +
          public RecurrenceId(TimeZone timezone)
          +
          Creates a new RECURRENCE_ID property initialised with the specified timezone.
          +
          Parameters:
          timezone - initial timezone
          +
        • +
        + + + +
          +
        • +

          RecurrenceId

          +
          public RecurrenceId(String value)
          +             throws ParseException
          +
          Creates a new instance initialised with the parsed value.
          +
          Parameters:
          value - the RECURRENCE_ID value string to parse
          +
          Throws:
          +
          ParseException - where the specified string is not a valid RECURRENCE_ID value representation
          +
        • +
        + + + +
          +
        • +

          RecurrenceId

          +
          public RecurrenceId(String value,
          +            TimeZone timezone)
          +             throws ParseException
          +
          Creates a new RECURRENCE_ID property initialised with the specified timezone and value.
          +
          Parameters:
          value - a string representation of a RECURRENCE_ID value
          timezone - initial timezone
          +
          Throws:
          +
          ParseException - where the specified value is not a valid string + representation
          +
        • +
        + + + +
          +
        • +

          RecurrenceId

          +
          public RecurrenceId(ParameterList aList,
          +            String aValue)
          +             throws ParseException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          ParseException - where the specified value string is not a valid date-time/date representation
          +
        • +
        + + + +
          +
        • +

          RecurrenceId

          +
          public RecurrenceId(Date aDate)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aDate - a date representation of a date or date-time
          +
        • +
        + + + +
          +
        • +

          RecurrenceId

          +
          public RecurrenceId(ParameterList aList,
          +            Date aDate)
          +
          Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.
          +
          Parameters:
          aList - a list of parameters for this component
          aDate - a date representation of a date or date-time
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Region.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Region.html new file mode 100644 index 00000000..f913a3bb --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Region.html @@ -0,0 +1,380 @@ + + + + + + +Region (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Region

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Region
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
      +
      Author:
      +
      benf, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Region

          +
          public Region()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Region

          +
          public Region(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Region

          +
          public Region(ParameterList aList,
          +      String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RelatedTo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RelatedTo.html new file mode 100644 index 00000000..3cf7e54f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RelatedTo.html @@ -0,0 +1,380 @@ + + + + + + +RelatedTo (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class RelatedTo

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RelatedTo

          +
          public RelatedTo()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          RelatedTo

          +
          public RelatedTo(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          RelatedTo

          +
          public RelatedTo(ParameterList aList,
          +         String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Repeat.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Repeat.html new file mode 100644 index 00000000..6d9857ea --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Repeat.html @@ -0,0 +1,422 @@ + + + + + + +Repeat (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Repeat

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Repeat
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REPEAT iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Repeat

          +
          public Repeat()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Repeat

          +
          public Repeat(ParameterList aList,
          +      String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Repeat

          +
          public Repeat(int aCount)
          +
          Parameters:
          aCount - a repetition count
          +
        • +
        + + + +
          +
        • +

          Repeat

          +
          public Repeat(ParameterList aList,
          +      int aCount)
          +
          Parameters:
          aList - a list of parameters for this component
          aCount - a repetition count
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getCount

          +
          public final int getCount()
          +
          Returns:
          Returns the count.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setCount

          +
          public final void setCount(int count)
          +
          Parameters:
          count - The count to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RequestStatus.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RequestStatus.html new file mode 100644 index 00000000..b9509536 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/RequestStatus.html @@ -0,0 +1,569 @@ + + + + + + +RequestStatus (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class RequestStatus

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class RequestStatus
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REQUEST-STATUS iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RequestStatus

          +
          public RequestStatus()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          RequestStatus

          +
          public RequestStatus(ParameterList aList,
          +             String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          RequestStatus

          +
          public RequestStatus(String aStatusCode,
          +             String aDescription,
          +             String data)
          +
          Parameters:
          aStatusCode - a string representation of a status code
          aDescription - a description
          data - a string representation of extension data
          +
        • +
        + + + +
          +
        • +

          RequestStatus

          +
          public RequestStatus(ParameterList aList,
          +             String aStatusCode,
          +             String aDescription,
          +             String data)
          +
          Parameters:
          aList - a list of parameters for this component
          aStatusCode - a string representation of a status code
          aDescription - a description
          data - a string representation of extension data
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getDescription

          +
          public final String getDescription()
          +
          Returns:
          Returns the description.
          +
        • +
        + + + +
          +
        • +

          getExData

          +
          public final String getExData()
          +
          Returns:
          Returns the exData.
          +
        • +
        + + + +
          +
        • +

          getStatusCode

          +
          public final String getStatusCode()
          +
          Returns:
          Returns the statusCode.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setDescription

          +
          public final void setDescription(String description)
          +
          Parameters:
          description - The description to set.
          +
        • +
        + + + +
          +
        • +

          setExData

          +
          public final void setExData(String exData)
          +
          Parameters:
          exData - The exData to set.
          +
        • +
        + + + +
          +
        • +

          setStatusCode

          +
          public final void setStatusCode(String statusCode)
          +
          Parameters:
          statusCode - The statusCode to set.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Resources.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Resources.html new file mode 100644 index 00000000..aff44037 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Resources.html @@ -0,0 +1,408 @@ + + + + + + +Resources (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Resources

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Resources
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a RESOURCES iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Resources

          +
          public Resources()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Resources

          +
          public Resources(ParameterList aList,
          +         String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Resources

          +
          public Resources(TextList rList)
          +
          Parameters:
          rList - a list of resources
          +
        • +
        + + + +
          +
        • +

          Resources

          +
          public Resources(ParameterList aList,
          +         TextList rList)
          +
          Parameters:
          aList - a list of parameters for this component
          rList - a list of resources
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getResources

          +
          public final TextList getResources()
          +
          Returns:
          Returns the resources.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Sequence.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Sequence.html new file mode 100644 index 00000000..04fbfd47 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Sequence.html @@ -0,0 +1,502 @@ + + + + + + +Sequence (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Sequence

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Sequence
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a SEQUENCE iCalendar component property. + +
      +     4.8.7.4 Sequence Number
      +     
      +        Property Name: SEQUENCE
      +     
      +        Purpose: This property defines the revision sequence number of the
      +        calendar component within a sequence of revisions.
      +     
      +        Value Type: integer
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: The property can be specified in "VEVENT", "VTODO" or
      +        "VJOURNAL" calendar component.
      +     
      +        Description: When a calendar component is created, its sequence
      +        number is zero (US-ASCII decimal 48). It is monotonically incremented
      +        by the "Organizer's" CUA each time the "Organizer" makes a
      +        significant revision to the calendar component. When the "Organizer"
      +        makes changes to one of the following properties, the sequence number
      +        MUST be incremented:
      +     
      +          .  "DTSTART"
      +     
      +          .  "DTEND"
      +     
      +          .  "DUE"
      +     
      +          .  "RDATE"
      +     
      +          .  "RRULE"
      +     
      +          .  "EXDATE"
      +     
      +          .  "EXRULE"
      +     
      +          .  "STATUS"
      +     
      +        In addition, changes made by the "Organizer" to other properties can
      +        also force the sequence number to be incremented. The "Organizer" CUA
      +        MUST increment the sequence number when ever it makes changes to
      +        properties in the calendar component that the "Organizer" deems will
      +        jeopardize the validity of the participation status of the
      +        "Attendees". For example, changing the location of a meeting from one
      +        locale to another distant locale could effectively impact the
      +        participation status of the "Attendees".
      +     
      +        The "Organizer" includes this property in an iCalendar object that it
      +        sends to an "Attendee" to specify the current version of the calendar
      +        component.
      +     
      +        The "Attendee" includes this property in an iCalendar object that it
      +        sends to the "Organizer" to specify the version of the calendar
      +        component that the "Attendee" is referring to.
      +     
      +        A change to the sequence number is not the mechanism that an
      +        "Organizer" uses to request a response from the "Attendees". The
      +        "RSVP" parameter on the "ATTENDEE" property is used by the
      +        "Organizer" to indicate that a response from the "Attendees" is
      +        requested.
      +     
      +        Format Definition: This property is defined by the following
      +        notation:
      +     
      +          seq = "SEQUENCE" seqparam ":" integer CRLF
      +          ; Default is "0"
      +     
      +          seqparam   = *(";" xparam)
      +     
      +        Example: The following is an example of this property for a calendar
      +        component that was just created by the "Organizer".
      +     
      +          SEQUENCE:0
      +     
      +        The following is an example of this property for a calendar component
      +        that has been revised two different times by the "Organizer".
      +     
      +          SEQUENCE:2
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Sequence

          +
          public Sequence()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Sequence

          +
          public Sequence(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Sequence

          +
          public Sequence(ParameterList aList,
          +        String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Sequence

          +
          public Sequence(int aSequenceNo)
          +
          Parameters:
          aSequenceNo - a sequence number
          +
        • +
        + + + +
          +
        • +

          Sequence

          +
          public Sequence(ParameterList aList,
          +        int aSequenceNo)
          +
          Parameters:
          aList - a list of parameters for this component
          aSequenceNo - a sequence number
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getSequenceNo

          +
          public final int getSequenceNo()
          +
          Returns:
          Returns the sequenceNo.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Status.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Status.html new file mode 100644 index 00000000..e2f11736 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Status.html @@ -0,0 +1,621 @@ + + + + + + +Status (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Status

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Status
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a STATUS iCalendar component property. + +
      +     4.8.1.11 Status
      +     
      +        Property Name: STATUS
      +     
      +        Purpose: This property defines the overall status or confirmation for
      +        the calendar component.
      +     
      +        Value Type: TEXT
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: This property can be specified in "VEVENT", "VTODO" or
      +        "VJOURNAL" calendar components.
      +     
      +        Description: In a group scheduled calendar component, the property is
      +        used by the "Organizer" to provide a confirmation of the event to the
      +        "Attendees". For example in a "VEVENT" calendar component, the
      +        "Organizer" can indicate that a meeting is tentative, confirmed or
      +        cancelled. In a "VTODO" calendar component, the "Organizer" can
      +        indicate that an action item needs action, is completed, is in
      +        process or being worked on, or has been cancelled. In a "VJOURNAL"
      +        calendar component, the "Organizer" can indicate that a journal entry
      +        is draft, final or has been cancelled or removed.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          status     = "STATUS" statparam] ":" statvalue CRLF
      +     
      +          statparam  = *(";" xparam)
      +     
      +          statvalue  = "TENTATIVE"           ;Indicates event is
      +                                             ;tentative.
      +                     / "CONFIRMED"           ;Indicates event is
      +                                             ;definite.
      +                     / "CANCELLED"           ;Indicates event was
      +                                             ;cancelled.
      +             ;Status values for a "VEVENT"
      +     
      +          statvalue  =/ "NEEDS-ACTION"       ;Indicates to-do needs action.
      +                     / "COMPLETED"           ;Indicates to-do completed.
      +                     / "IN-PROCESS"          ;Indicates to-do in process of
      +                     / "CANCELLED"           ;Indicates to-do was cancelled.
      +             ;Status values for "VTODO".
      +     
      +          statvalue  =/ "DRAFT"              ;Indicates journal is draft.
      +                     / "FINAL"               ;Indicates journal is final.
      +                     / "CANCELLED"           ;Indicates journal is removed.
      +             ;Status values for "VJOURNAL".
      +     
      +        Example: The following is an example of this property for a "VEVENT"
      +        calendar component:
      +     
      +          STATUS:TENTATIVE
      +     
      +        The following is an example of this property for a "VTODO" calendar
      +        component:
      +     
      +          STATUS:NEEDS-ACTION
      +     
      +        The following is an example of this property for a "VJOURNAL"
      +        calendar component:
      +     
      +          STATUS:DRAFT
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          VEVENT_TENTATIVE

          +
          public static final Status VEVENT_TENTATIVE
          +
          Tentative VEVENT status.
          +
        • +
        + + + +
          +
        • +

          VEVENT_CONFIRMED

          +
          public static final Status VEVENT_CONFIRMED
          +
          Confirmed VEVENT status.
          +
        • +
        + + + +
          +
        • +

          VEVENT_CANCELLED

          +
          public static final Status VEVENT_CANCELLED
          +
          Cancelled VEVENT status.
          +
        • +
        + + + +
          +
        • +

          VTODO_NEEDS_ACTION

          +
          public static final Status VTODO_NEEDS_ACTION
          +
          Tentative VTODO status.
          +
        • +
        + + + +
          +
        • +

          VTODO_COMPLETED

          +
          public static final Status VTODO_COMPLETED
          +
          Completed VTODO status.
          +
        • +
        + + + +
          +
        • +

          VTODO_IN_PROCESS

          +
          public static final Status VTODO_IN_PROCESS
          +
          In-process VTODO status.
          +
        • +
        + + + +
          +
        • +

          VTODO_CANCELLED

          +
          public static final Status VTODO_CANCELLED
          +
          Cancelled VTODO status.
          +
        • +
        + + + +
          +
        • +

          VJOURNAL_DRAFT

          +
          public static final Status VJOURNAL_DRAFT
          +
          Draft VJOURNAL status.
          +
        • +
        + + + +
          +
        • +

          VJOURNAL_FINAL

          +
          public static final Status VJOURNAL_FINAL
          +
          Final VJOURNAL status.
          +
        • +
        + + + +
          +
        • +

          VJOURNAL_CANCELLED

          +
          public static final Status VJOURNAL_CANCELLED
          +
          Cancelled VJOURNAL status.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Status

          +
          public Status()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Status

          +
          public Status(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Status

          +
          public Status(ParameterList aList,
          +      String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/StreetAddress.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/StreetAddress.html new file mode 100644 index 00000000..80b64697 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/StreetAddress.html @@ -0,0 +1,380 @@ + + + + + + +StreetAddress (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class StreetAddress

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class StreetAddress
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a STREET_ADDRESS iCalendar component property.
      +
      Author:
      +
      benf, Mike Douglass
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          StreetAddress

          +
          public StreetAddress()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          StreetAddress

          +
          public StreetAddress(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          StreetAddress

          +
          public StreetAddress(ParameterList aList,
          +             String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Summary.html new file mode 100644 index 00000000..0267ca1d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Summary.html @@ -0,0 +1,426 @@ + + + + + + +Summary (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Summary

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Summary
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a SUMMARY iCalendar component property. + +
      +     4.8.1.12 Summary
      +     
      +        Property Name: SUMMARY
      +     
      +        Purpose: This property defines a short summary or subject for the
      +        calendar component.
      +     
      +        Value Type: TEXT
      +     
      +        Property Parameters: Non-standard, alternate text representation and
      +        language property parameters can be specified on this property.
      +     
      +        Conformance: The property can be specified in "VEVENT", "VTODO",
      +        "VJOURNAL" or "VALARM" calendar components.
      +     
      +        Description: This property is used in the "VEVENT", "VTODO" and
      +        "VJOURNAL" calendar components to capture a short, one line summary
      +        about the activity or journal entry.
      +     
      +        This property is used in the "VALARM" calendar component to capture
      +        the subject of an EMAIL category of alarm.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          summary    = "SUMMARY" summparam ":" text CRLF
      +     
      +          summparam  = *(
      +     
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                     (";" altrepparam) / (";" languageparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                     (";" xparam)
      +     
      +                     )
      +     
      +        Example: The following is an example of this property:
      +     
      +          SUMMARY:Department Party
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Summary

          +
          public Summary()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Summary

          +
          public Summary(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Summary

          +
          public Summary(ParameterList aList,
          +       String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Tel.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Tel.html new file mode 100644 index 00000000..abcb4349 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Tel.html @@ -0,0 +1,380 @@ + + + + + + +Tel (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Tel

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Tel

          +
          public Tel()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Tel

          +
          public Tel(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Tel

          +
          public Tel(ParameterList aList,
          +   String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Transp.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Transp.html new file mode 100644 index 00000000..51457d76 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Transp.html @@ -0,0 +1,472 @@ + + + + + + +Transp (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Transp

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Transp
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TRANSP iCalendar component property. + +
      +     4.8.2.7 Time Transparency
      +     
      +        Property Name: TRANSP
      +     
      +        Purpose: This property defines whether an event is transparent or not
      +        to busy time searches.
      +     
      +        Value Type: TEXT
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: This property can be specified once in a "VEVENT"
      +        calendar component.
      +     
      +        Description: Time Transparency is the characteristic of an event that
      +        determines whether it appears to consume time on a calendar. Events
      +        that consume actual time for the individual or resource associated
      +        with the calendar SHOULD be recorded as OPAQUE, allowing them to be
      +        detected by free-busy time searches. Other events, which do not take
      +        up the individual's (or resource's) time SHOULD be recorded as
      +        TRANSPARENT, making them invisible to free-busy time searches.
      +     
      +        Format Definition: The property is specified by the following
      +        notation:
      +     
      +          transp     = "TRANSP" tranparam ":" transvalue CRLF
      +     
      +          tranparam  = *(";" xparam)
      +     
      +          transvalue = "OPAQUE"      ;Blocks or opaque on busy time searches.
      +                     / "TRANSPARENT" ;Transparent on busy time searches.
      +             ;Default value is OPAQUE
      +     
      +        Example: The following is an example of this property for an event
      +        that is transparent or does not block on free/busy time searches:
      +     
      +          TRANSP:TRANSPARENT
      +     
      +        The following is an example of this property for an event that is
      +        opaque or blocks on free/busy time searches:
      +     
      +          TRANSP:OPAQUE
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          OPAQUE

          +
          public static final Transp OPAQUE
          +
          Opaque.
          +
        • +
        + + + +
          +
        • +

          TRANSPARENT

          +
          public static final Transp TRANSPARENT
          +
          Transparent.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Transp

          +
          public Transp()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Transp

          +
          public Transp(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Transp

          +
          public Transp(ParameterList aList,
          +      String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Trigger.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Trigger.html new file mode 100644 index 00000000..b8892358 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Trigger.html @@ -0,0 +1,584 @@ + + + + + + +Trigger (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Trigger

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Trigger
      +extends UtcProperty
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TRIGGER iCalendar component property. + +
      +     4.8.6.3 Trigger
      +     
      +        Property Name: TRIGGER
      +     
      +        Purpose: This property specifies when an alarm will trigger.
      +     
      +        Value Type: The default value type is DURATION. The value type can be
      +        set to a DATE-TIME value type, in which case the value MUST specify a
      +        UTC formatted DATE-TIME value.
      +     
      +        Property Parameters: Non-standard, value data type, time zone
      +        identifier or trigger relationship property parameters can be
      +        specified on this property. The trigger relationship property
      +        parameter MUST only be specified when the value type is DURATION.
      +     
      +        Conformance: This property MUST be specified in the "VALARM" calendar
      +        component.
      +     
      +        Description: Within the "VALARM" calendar component, this property
      +        defines when the alarm will trigger. The default value type is
      +        DURATION, specifying a relative time for the trigger of the alarm.
      +        The default duration is relative to the start of an event or to-do
      +        that the alarm is associated with. The duration can be explicitly set
      +     
      +        to trigger from either the end or the start of the associated event
      +        or to-do with the "RELATED" parameter. A value of START will set the
      +        alarm to trigger off the start of the associated event or to-do. A
      +        value of END will set the alarm to trigger off the end of the
      +        associated event or to-do.
      +     
      +        Either a positive or negative duration may be specified for the
      +        "TRIGGER" property. An alarm with a positive duration is triggered
      +        after the associated start or end of the event or to-do. An alarm
      +        with a negative duration is triggered before the associated start or
      +        end of the event or to-do.
      +     
      +        The "RELATED" property parameter is not valid if the value type of
      +        the property is set to DATE-TIME (i.e., for an absolute date and time
      +        alarm trigger). If a value type of DATE-TIME is specified, then the
      +        property value MUST be specified in the UTC time format. If an
      +        absolute trigger is specified on an alarm for a recurring event or
      +        to-do, then the alarm will only trigger for the specified absolute
      +        date/time, along with any specified repeating instances.
      +     
      +        If the trigger is set relative to START, then the "DTSTART" property
      +        MUST be present in the associated "VEVENT" or "VTODO" calendar
      +        component. If an alarm is specified for an event with the trigger set
      +        relative to the END, then the "DTEND" property or the "DSTART" and
      +        "DURATION' properties MUST be present in the associated "VEVENT"
      +        calendar component. If the alarm is specified for a to-do with a
      +        trigger set relative to the END, then either the "DUE" property or
      +        the "DSTART" and "DURATION' properties MUST be present in the
      +        associated "VTODO" calendar component.
      +     
      +        Alarms specified in an event or to-do which is defined in terms of a
      +        DATE value type will be triggered relative to 00:00:00 UTC on the
      +        specified date. For example, if "DTSTART:19980205, then the duration
      +        trigger will be relative to19980205T000000Z.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          trigger    = "TRIGGER" (trigrel / trigabs)
      +     
      +          trigrel    = *(
      +     
      +                     ; the following are optional,
      +                     ; but MUST NOT occur more than once
      +     
      +                       (";" "VALUE" "=" "DURATION") /
      +                       (";" trigrelparam) /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                       (";" xparam)
      +                       ) ":"  dur-value
      +     
      +          trigabs    = 1*(
      +     
      +                     ; the following is REQUIRED,
      +                     ; but MUST NOT occur more than once
      +     
      +                       (";" "VALUE" "=" "DATE-TIME") /
      +     
      +                     ; the following is optional,
      +                     ; and MAY occur more than once
      +     
      +                       (";" xparam)
      +     
      +                       ) ":" date-time
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Trigger

          +
          public Trigger()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Trigger

          +
          public Trigger(ParameterList aList,
          +       String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Trigger

          +
          public Trigger(Dur duration)
          +
          Parameters:
          duration - a duration in milliseconds
          +
        • +
        + + + +
          +
        • +

          Trigger

          +
          public Trigger(ParameterList aList,
          +       Dur duration)
          +
          Parameters:
          aList - a list of parameters for this component
          duration - a duration in milliseconds
          +
        • +
        + + + +
          +
        • +

          Trigger

          +
          public Trigger(DateTime dateTime)
          +
          Parameters:
          dateTime - a date representation of a date-time
          +
        • +
        + + + +
          +
        • +

          Trigger

          +
          public Trigger(ParameterList aList,
          +       DateTime dateTime)
          +
          Parameters:
          aList - a list of parameters for this component
          dateTime - a date representation of a date-time
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          getDuration

          +
          public final Dur getDuration()
          +
          Returns:
          Returns the duration.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Default setValue() implementation. Allows for either DATE or DATE-TIME values.
          +
          +
          Overrides:
          +
          setValue in class DateProperty
          +
          Parameters:
          aValue - a string representation of a DATE or DATE-TIME value
          +
        • +
        + + + + + + + +
          +
        • +

          setDateTime

          +
          public final void setDateTime(DateTime dateTime)
          +
          +
          Overrides:
          +
          setDateTime in class UtcProperty
          +
          Parameters:
          dateTime - The dateTime to set.
          +
        • +
        + + + +
          +
        • +

          setDuration

          +
          public final void setDuration(Dur duration)
          +
          Parameters:
          duration - The duration to set.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzId.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzId.html new file mode 100644 index 00000000..f2ac2eda --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzId.html @@ -0,0 +1,466 @@ + + + + + + +TzId (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class TzId

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class TzId
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZID iCalendar component property. + +
      +     4.8.3.1 Time Zone Identifier
      +     
      +        Property Name: TZID
      +     
      +        Purpose: This property specifies the text value that uniquely
      +        identifies the "VTIMEZONE" calendar component.
      +     
      +        Value Type: TEXT
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: This property MUST be specified in a "VTIMEZONE"
      +        calendar component.
      +     
      +        Description: This is the label by which a time zone calendar
      +        component is referenced by any iCalendar properties whose data type
      +        is either DATE-TIME or TIME and not intended to specify a UTC or a
      +        "floating" time. The presence of the SOLIDUS character (US-ASCII
      +        decimal 47) as a prefix, indicates that this TZID represents an
      +        unique ID in a globally defined time zone registry (when such
      +        registry is defined).
      +     
      +             Note: This document does not define a naming convention for time
      +             zone identifiers. Implementers may want to use the naming
      +             conventions defined in existing time zone specifications such as
      +             the public-domain Olson database [TZ]. The specification of
      +             globally unique time zone identifiers is not addressed by this
      +             document and is left for future study.
      +     
      +        Format Definition: This property is defined by the following
      +        notation:
      +     
      +          tzid       = "TZID" tzidpropparam ":" [tzidprefix] text CRLF
      +     
      +          tzidpropparam      = *(";" xparam)
      +     
      +          ;tzidprefix        = "/"
      +          ; Defined previously. Just listed here for reader convenience.
      +     
      +        Example: The following are examples of non-globally unique time zone
      +        identifiers:
      +     
      +          TZID:US-Eastern
      +     
      +          TZID:California-Los_Angeles
      +     
      +        The following is an example of a fictitious globally unique time zone
      +        identifier:
      +     
      +          TZID:/US-New_York-New_York
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TzId

          +
          public TzId()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          TzId

          +
          public TzId(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          TzId

          +
          public TzId(ParameterList aList,
          +    String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzName.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzName.html new file mode 100644 index 00000000..c9fa30ee --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzName.html @@ -0,0 +1,380 @@ + + + + + + +TzName (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class TzName

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TzName

          +
          public TzName()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          TzName

          +
          public TzName(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          TzName

          +
          public TzName(ParameterList aList,
          +      String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetFrom.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetFrom.html new file mode 100644 index 00000000..ebc0a67a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetFrom.html @@ -0,0 +1,435 @@ + + + + + + +TzOffsetFrom (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class TzOffsetFrom

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class TzOffsetFrom
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETFROM iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TzOffsetFrom

          +
          public TzOffsetFrom()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          TzOffsetFrom

          +
          public TzOffsetFrom(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          TzOffsetFrom

          +
          public TzOffsetFrom(ParameterList aList,
          +            String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          TzOffsetFrom

          +
          public TzOffsetFrom(UtcOffset anOffset)
          +
          Parameters:
          anOffset - a timezone offset in milliseconds
          +
        • +
        + + + +
          +
        • +

          TzOffsetFrom

          +
          public TzOffsetFrom(ParameterList aList,
          +            UtcOffset anOffset)
          +
          Parameters:
          aList - a list of parameters for this component
          anOffset - a timezone offset in milliseconds
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getOffset

          +
          public final UtcOffset getOffset()
          +
          Returns:
          Returns the offset.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setOffset

          +
          public final void setOffset(UtcOffset offset)
          +
          Parameters:
          offset - The offset to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetTo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetTo.html new file mode 100644 index 00000000..0b05bf84 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzOffsetTo.html @@ -0,0 +1,435 @@ + + + + + + +TzOffsetTo (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class TzOffsetTo

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class TzOffsetTo
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETTO iCalendar component property.
      +
      Author:
      +
      benf
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TzOffsetTo

          +
          public TzOffsetTo()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          TzOffsetTo

          +
          public TzOffsetTo(String value)
          +
          Parameters:
          value - an offset value
          +
        • +
        + + + +
          +
        • +

          TzOffsetTo

          +
          public TzOffsetTo(ParameterList aList,
          +          String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          TzOffsetTo

          +
          public TzOffsetTo(UtcOffset anOffset)
          +
          Parameters:
          anOffset - a timezone offset in milliseconds
          +
        • +
        + + + +
          +
        • +

          TzOffsetTo

          +
          public TzOffsetTo(ParameterList aList,
          +          UtcOffset anOffset)
          +
          Parameters:
          aList - a list of parameters for this component
          anOffset - a timezone offset in milliseconds
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getOffset

          +
          public final UtcOffset getOffset()
          +
          Returns:
          Returns the offset.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setOffset

          +
          public final void setOffset(UtcOffset offset)
          +
          Parameters:
          offset - The offset to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzUrl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzUrl.html new file mode 100644 index 00000000..da7fef07 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/TzUrl.html @@ -0,0 +1,463 @@ + + + + + + +TzUrl (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class TzUrl

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class TzUrl
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZURL iCalendar component property. + +
      +     4.8.3.5 Time Zone URL
      +     
      +        Property Name: TZURL
      +     
      +        Purpose: The TZURL provides a means for a VTIMEZONE component to
      +        point to a network location that can be used to retrieve an up-to-
      +        date version of itself.
      +     
      +        Value Type: URI
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: This property can be specified in a "VTIMEZONE" calendar
      +        component.
      +     
      +        Description: The TZURL provides a means for a VTIMEZONE component to
      +        point to a network location that can be used to retrieve an up-to-
      +        date version of itself. This provides a hook to handle changes
      +        government bodies impose upon time zone definitions. Retrieval of
      +        this resource results in an iCalendar object containing a single
      +        VTIMEZONE component and a METHOD property set to PUBLISH.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          tzurl      = "TZURL" tzurlparam ":" uri CRLF
      +     
      +          tzurlparam = *(";" xparam)
      +     
      +        Example: The following is an example of this property:
      +     
      +          TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TzUrl

          +
          public TzUrl()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          TzUrl

          +
          public TzUrl(ParameterList aList,
          +     String aValue)
          +      throws URISyntaxException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          URISyntaxException - where the specified value string is not a valid uri
          +
        • +
        + + + +
          +
        • +

          TzUrl

          +
          public TzUrl(URI aUri)
          +
          Parameters:
          aUri - a URI
          +
        • +
        + + + +
          +
        • +

          TzUrl

          +
          public TzUrl(ParameterList aList,
          +     URI aUri)
          +
          Parameters:
          aList - a list of parameters for this component
          aUri - a URI
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getUri

          +
          public final URI getUri()
          +
          Returns:
          Returns the uri.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws URISyntaxException
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          URISyntaxException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setUri

          +
          public final void setUri(URI uri)
          +
          Parameters:
          uri - The uri to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Uid.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Uid.html new file mode 100644 index 00000000..0a576b83 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Uid.html @@ -0,0 +1,447 @@ + + + + + + +Uid (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Uid

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Escapable
      +
      +
      +
      +
      public class Uid
      +extends Property
      +implements Escapable
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a UID iCalendar component property. + +
      +     4.8.4.7 Unique Identifier
      +     
      +        Property Name: UID
      +     
      +        Purpose: This property defines the persistent, globally unique
      +        identifier for the calendar component.
      +     
      +        Value Type: TEXT
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: The property MUST be specified in the "VEVENT", "VTODO",
      +        "VJOURNAL" or "VFREEBUSY" calendar components.
      +     
      +        Description: The UID itself MUST be a globally unique identifier. The
      +        generator of the identifier MUST guarantee that the identifier is
      +        unique. There are several algorithms that can be used to accomplish
      +        this. The identifier is RECOMMENDED to be the identical syntax to the
      +        [RFC 822] addr-spec. A good method to assure uniqueness is to put the
      +        domain name or a domain literal IP address of the host on which the
      +        identifier was created on the right hand side of the "@", and on the
      +        left hand side, put a combination of the current calendar date and
      +        time of day (i.e., formatted in as a DATE-TIME value) along with some
      +        other currently unique (perhaps sequential) identifier available on
      +        the system (for example, a process id number). Using a date/time
      +        value on the left hand side and a domain name or domain literal on
      +        the right hand side makes it possible to guarantee uniqueness since
      +        no two hosts should be using the same domain name or IP address at
      +        the same time. Though other algorithms will work, it is RECOMMENDED
      +        that the right hand side contain some domain identifier (either of
      +        the host itself or otherwise) such that the generator of the message
      +        identifier can guarantee the uniqueness of the left hand side within
      +        the scope of that domain.
      +     
      +        This is the method for correlating scheduling messages with the
      +        referenced "VEVENT", "VTODO", or "VJOURNAL" calendar component.
      +     
      +        The full range of calendar components specified by a recurrence set
      +        is referenced by referring to just the "UID" property value
      +        corresponding to the calendar component. The "RECURRENCE-ID" property
      +        allows the reference to an individual instance within the recurrence
      +        set.
      +     
      +        This property is an important method for group scheduling
      +        applications to match requests with later replies, modifications or
      +        deletion requests. Calendaring and scheduling applications MUST
      +        generate this property in "VEVENT", "VTODO" and "VJOURNAL" calendar
      +        components to assure interoperability with other group scheduling
      +        applications. This identifier is created by the calendar system that
      +        generates an iCalendar object.
      +     
      +        Implementations MUST be able to receive and persist values of at
      +        least 255 characters for this property.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          uid        = "UID" uidparam ":" text CRLF
      +     
      +          uidparam   = *(";" xparam)
      +     
      +        Example: The following is an example of this property:
      +     
      +          UID:19960401T080045Z-4000F192713-0052@host1.com
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Uid

          +
          public Uid()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Uid

          +
          public Uid(String aValue)
          +
          Parameters:
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Uid

          +
          public Uid(ParameterList aList,
          +   String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Url.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Url.html new file mode 100644 index 00000000..265980fc --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Url.html @@ -0,0 +1,463 @@ + + + + + + +Url (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Url

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Url
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a URL iCalendar component property. + +
      +     4.8.4.6 Uniform Resource Locator
      +     
      +        Property Name: URL
      +     
      +        Purpose: This property defines a Uniform Resource Locator (URL)
      +        associated with the iCalendar object.
      +     
      +        Value Type: URI
      +     
      +        Property Parameters: Non-standard property parameters can be
      +        specified on this property.
      +     
      +        Conformance: This property can be specified once in the "VEVENT",
      +        "VTODO", "VJOURNAL" or "VFREEBUSY" calendar components.
      +     
      +        Description: This property may be used in a calendar component to
      +        convey a location where a more dynamic rendition of the calendar
      +        information associated with the calendar component can be found. This
      +        memo does not attempt to standardize the form of the URI, nor the
      +        format of the resource pointed to by the property value. If the URL
      +        property and Content-Location MIME header are both specified, they
      +        MUST point to the same resource.
      +     
      +        Format Definition: The property is defined by the following notation:
      +     
      +          url        = "URL" urlparam ":" uri CRLF
      +     
      +          urlparam   = *(";" xparam)
      +     
      +        Example: The following is an example of this property:
      +     
      +          URL:http://abc.com/pub/calendars/jsmith/mytime.ics
      + 
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Url

          +
          public Url()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Url

          +
          public Url(ParameterList aList,
          +   String aValue)
          +    throws URISyntaxException
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
          Throws:
          +
          URISyntaxException - where the specified value string is not a valid uri
          +
        • +
        + + + +
          +
        • +

          Url

          +
          public Url(URI aUri)
          +
          Parameters:
          aUri - a URI
          +
        • +
        + + + +
          +
        • +

          Url

          +
          public Url(ParameterList aList,
          +   URI aUri)
          +
          Parameters:
          aList - a list of parameters for this component
          aUri - a URI
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getUri

          +
          public final URI getUri()
          +
          Returns:
          Returns the uri.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +                    throws URISyntaxException
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
          Throws:
          +
          URISyntaxException - possibly thrown by setting the value of certain properties
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setUri

          +
          public final void setUri(URI uri)
          +
          Parameters:
          uri - The uri to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/UtcProperty.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/UtcProperty.html new file mode 100644 index 00000000..ffd99498 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/UtcProperty.html @@ -0,0 +1,395 @@ + + + + + + +UtcProperty (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class UtcProperty

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UtcProperty

          +
          public UtcProperty(String name,
          +           ParameterList parameters,
          +           PropertyFactory factory)
          +
          Parameters:
          name - a property name
          parameters - list of parameters
          +
        • +
        + + + +
          +
        • +

          UtcProperty

          +
          public UtcProperty(String name,
          +           PropertyFactory factory)
          +
          Parameters:
          name - a property name
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDateTime

          +
          public final DateTime getDateTime()
          +
          Returns:
          Returns the date-time.
          +
        • +
        + + + +
          +
        • +

          setDateTime

          +
          public void setDateTime(DateTime dateTime)
          +
          Parameters:
          dateTime - The dateTime to set.
          +
        • +
        + + + +
          +
        • +

          setTimeZone

          +
          public void setTimeZone(TimeZone timezone)
          +
          Publically available method to update the current timezone.
          +
          +
          Overrides:
          +
          setTimeZone in class DateProperty
          +
          Parameters:
          timezone - a timezone instance
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Version.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Version.html new file mode 100644 index 00000000..2b8f02c2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/Version.html @@ -0,0 +1,488 @@ + + + + + + +Version (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class Version

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      +
      public class Version
      +extends Property
      +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a VERSION iCalendar property. When creating a new calendar you should always add a version property with + value "2.0". There is actually a constant defined in the Version class for this. e.g: + Calendar calendar = new Calendar(); + calendar.getProperties().add(Version.VERSION_2_0);
      +
      Author:
      +
      Ben Fortuna
      +
      See Also:
      Serialized Form
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          VERSION_2_0

          +
          public static final Version VERSION_2_0
          +
          iCalendar version 2.0.
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Version

          +
          public Version()
          +
          Default constructor.
          +
        • +
        + + + +
          +
        • +

          Version

          +
          public Version(ParameterList aList,
          +       String aValue)
          +
          Parameters:
          aList - a list of parameters for this component
          aValue - a value string for this component
          +
        • +
        + + + +
          +
        • +

          Version

          +
          public Version(String minVersion,
          +       String maxVersion)
          +
          Parameters:
          minVersion - a string representation of the minimum version
          maxVersion - a string representation of the maximum version
          +
        • +
        + + + +
          +
        • +

          Version

          +
          public Version(ParameterList aList,
          +       String aVersion1,
          +       String aVersion2)
          +
          Parameters:
          aList - a list of parameters for this component
          aVersion1 - a string representation of the minimum version
          aVersion2 - a string representation of the maximum version
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getMaxVersion

          +
          public final String getMaxVersion()
          +
          Returns:
          Returns the maxVersion.
          +
        • +
        + + + +
          +
        • +

          getMinVersion

          +
          public final String getMinVersion()
          +
          Returns:
          Returns the minVersion.
          +
        • +
        + + + +
          +
        • +

          setValue

          +
          public void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + +
          +
        • +

          setMaxVersion

          +
          public void setMaxVersion(String maxVersion)
          +
          Parameters:
          maxVersion - The maxVersion to set.
          +
        • +
        + + + +
          +
        • +

          setMinVersion

          +
          public void setMinVersion(String minVersion)
          +
          Parameters:
          minVersion - The minVersion to set.
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/XProperty.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/XProperty.html new file mode 100644 index 00000000..fcf16856 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/XProperty.html @@ -0,0 +1,385 @@ + + + + + + +XProperty (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.model.property

    +

    Class XProperty

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          XProperty

          +
          public XProperty(String name)
          +
          Constructs an uninitialised non-standard property.
          +
          Parameters:
          name - a non-standard property name
          +
        • +
        + + + +
          +
        • +

          XProperty

          +
          public XProperty(String aName,
          +         String aValue)
          +
          Parameters:
          aName - a non-standard property name
          aValue - a property value
          +
        • +
        + + + +
          +
        • +

          XProperty

          +
          public XProperty(String aName,
          +         ParameterList aList,
          +         String aValue)
          +
          Parameters:
          aName - a non-standard property name
          aList - a list of parameters
          aValue - a property value
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setValue

          +
          public final void setValue(String aValue)
          +
          Sets the current value of the property.
          +
          +
          Specified by:
          +
          setValue in class Property
          +
          Parameters:
          aValue - a string representation of the property value
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public final String getValue()
          +
          +
          Specified by:
          +
          getValue in class Content
          +
          Returns:
          the content value
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Action.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Action.html new file mode 100644 index 00000000..97562a5c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Action.html @@ -0,0 +1,205 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Action (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Action

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attach.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attach.html new file mode 100644 index 00000000..2438d209 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attach.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Attach (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Attach

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attendee.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attendee.html new file mode 100644 index 00000000..cacc0af4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Attendee.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Attendee (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Attendee

    +
    +
    No usage of net.fortuna.ical4j.model.property.Attendee
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/BusyType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/BusyType.html new file mode 100644 index 00000000..f0f7b6c9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/BusyType.html @@ -0,0 +1,173 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.BusyType (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.BusyType

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/CalScale.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/CalScale.html new file mode 100644 index 00000000..527982a1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/CalScale.html @@ -0,0 +1,187 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.CalScale (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.CalScale

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Categories.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Categories.html new file mode 100644 index 00000000..0fe39708 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Categories.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Categories (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Categories

    +
    +
    No usage of net.fortuna.ical4j.model.property.Categories
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Clazz.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Clazz.html new file mode 100644 index 00000000..e11bb082 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Clazz.html @@ -0,0 +1,205 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Clazz (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Clazz

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Comment.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Comment.html new file mode 100644 index 00000000..a4146a76 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Comment.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Comment (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Comment

    +
    +
    No usage of net.fortuna.ical4j.model.property.Comment
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Completed.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Completed.html new file mode 100644 index 00000000..6cb8c17d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Completed.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Completed (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Completed

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Contact.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Contact.html new file mode 100644 index 00000000..73ce3461 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Contact.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Contact (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Contact

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Country.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Country.html new file mode 100644 index 00000000..056ea195 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Country.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Country (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Country

    +
    +
    No usage of net.fortuna.ical4j.model.property.Country
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Created.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Created.html new file mode 100644 index 00000000..60135f51 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Created.html @@ -0,0 +1,167 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Created (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Created

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateListProperty.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateListProperty.html new file mode 100644 index 00000000..8bb97d8c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateListProperty.html @@ -0,0 +1,175 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.DateListProperty (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.DateListProperty

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateProperty.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateProperty.html new file mode 100644 index 00000000..28a39052 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DateProperty.html @@ -0,0 +1,255 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.DateProperty (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.DateProperty

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Packages that use DateProperty 
      PackageDescription
      net.fortuna.ical4j.model.property +
      Contains types used to represent the iCalendar property model.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of DateProperty in net.fortuna.ical4j.model.property

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Subclasses of DateProperty in net.fortuna.ical4j.model.property 
        Modifier and TypeClass and Description
        class Completed +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a COMPLETED iCalendar component property.
        +
        class Created +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CREATED iCalendar component property.
        +
        class DtEnd +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTEND iCalendar component property.
        +
        class DtStamp +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTAMP iCalendar component property.
        +
        class DtStart +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTART iCalendar component property.
        +
        class Due +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DUE iCalendar component property.
        +
        class LastModified +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LAST-MODIFIED iCalendar component property.
        +
        class RecurrenceId +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a RECURRENCE-ID iCalendar component property.
        +
        class Trigger +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TRIGGER iCalendar component property.
        +
        class UtcProperty +
        $Id$ + + Created on 8/08/2005 + + Superclass for all properties with date-time values that must be specified in UTC time.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Description.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Description.html new file mode 100644 index 00000000..818d0dd4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Description.html @@ -0,0 +1,173 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Description (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Description

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtEnd.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtEnd.html new file mode 100644 index 00000000..d0888fbf --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtEnd.html @@ -0,0 +1,171 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.DtEnd (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.DtEnd

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStamp.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStamp.html new file mode 100644 index 00000000..9b2bb0a6 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStamp.html @@ -0,0 +1,171 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.DtStamp (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.DtStamp

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStart.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStart.html new file mode 100644 index 00000000..6291eb6f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/DtStart.html @@ -0,0 +1,183 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.DtStart (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.DtStart

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Due.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Due.html new file mode 100644 index 00000000..072fe6ab --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Due.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Due (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Due

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Duration.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Duration.html new file mode 100644 index 00000000..ecc3b824 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Duration.html @@ -0,0 +1,173 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Duration (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Duration

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExDate.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExDate.html new file mode 100644 index 00000000..07e3867b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExDate.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.ExDate (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.ExDate

    +
    +
    No usage of net.fortuna.ical4j.model.property.ExDate
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExRule.html new file mode 100644 index 00000000..1ac2f5d9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExRule.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.ExRule (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.ExRule

    +
    +
    No usage of net.fortuna.ical4j.model.property.ExRule
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExtendedAddress.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExtendedAddress.html new file mode 100644 index 00000000..dcf5693d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ExtendedAddress.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.ExtendedAddress (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.ExtendedAddress

    +
    +
    No usage of net.fortuna.ical4j.model.property.ExtendedAddress
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/FreeBusy.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/FreeBusy.html new file mode 100644 index 00000000..b65a2c57 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/FreeBusy.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.FreeBusy (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.FreeBusy

    +
    +
    No usage of net.fortuna.ical4j.model.property.FreeBusy
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Geo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Geo.html new file mode 100644 index 00000000..15aa3f00 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Geo.html @@ -0,0 +1,163 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Geo (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Geo

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LastModified.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LastModified.html new file mode 100644 index 00000000..83a78c26 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LastModified.html @@ -0,0 +1,171 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.LastModified (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.LastModified

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Locality.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Locality.html new file mode 100644 index 00000000..3a2172af --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Locality.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Locality (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Locality

    +
    +
    No usage of net.fortuna.ical4j.model.property.Locality
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Location.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Location.html new file mode 100644 index 00000000..4fe6761e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Location.html @@ -0,0 +1,163 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Location (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Location

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LocationType.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LocationType.html new file mode 100644 index 00000000..54241ab0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/LocationType.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.LocationType (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.LocationType

    +
    +
    No usage of net.fortuna.ical4j.model.property.LocationType
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Method.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Method.html new file mode 100644 index 00000000..cfe563fd --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Method.html @@ -0,0 +1,295 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Method (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Method

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Name.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Name.html new file mode 100644 index 00000000..248c1957 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Name.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Name (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Name

    +
    +
    No usage of net.fortuna.ical4j.model.property.Name
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Organizer.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Organizer.html new file mode 100644 index 00000000..58e3b452 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Organizer.html @@ -0,0 +1,171 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Organizer (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Organizer

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/PercentComplete.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/PercentComplete.html new file mode 100644 index 00000000..327ef430 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/PercentComplete.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.PercentComplete (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.PercentComplete

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Postalcode.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Postalcode.html new file mode 100644 index 00000000..aeb48659 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Postalcode.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Postalcode (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Postalcode

    +
    +
    No usage of net.fortuna.ical4j.model.property.Postalcode
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Priority.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Priority.html new file mode 100644 index 00000000..83310b35 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Priority.html @@ -0,0 +1,207 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Priority (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Priority

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ProdId.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ProdId.html new file mode 100644 index 00000000..89753dd2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/ProdId.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.ProdId (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.ProdId

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RDate.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RDate.html new file mode 100644 index 00000000..670920b8 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RDate.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.RDate (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.RDate

    +
    +
    No usage of net.fortuna.ical4j.model.property.RDate
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RRule.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RRule.html new file mode 100644 index 00000000..55603b96 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RRule.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.RRule (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.RRule

    +
    +
    No usage of net.fortuna.ical4j.model.property.RRule
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RecurrenceId.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RecurrenceId.html new file mode 100644 index 00000000..7f62ef04 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RecurrenceId.html @@ -0,0 +1,167 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.RecurrenceId (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.RecurrenceId

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Region.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Region.html new file mode 100644 index 00000000..c0484c9b --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Region.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Region (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Region

    +
    +
    No usage of net.fortuna.ical4j.model.property.Region
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RelatedTo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RelatedTo.html new file mode 100644 index 00000000..e7b71773 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RelatedTo.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.RelatedTo (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.RelatedTo

    +
    +
    No usage of net.fortuna.ical4j.model.property.RelatedTo
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Repeat.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Repeat.html new file mode 100644 index 00000000..33189a22 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Repeat.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Repeat (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Repeat

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RequestStatus.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RequestStatus.html new file mode 100644 index 00000000..414490d0 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/RequestStatus.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.RequestStatus (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.RequestStatus

    +
    +
    No usage of net.fortuna.ical4j.model.property.RequestStatus
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Resources.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Resources.html new file mode 100644 index 00000000..56c96eab --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Resources.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Resources (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Resources

    +
    +
    No usage of net.fortuna.ical4j.model.property.Resources
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Sequence.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Sequence.html new file mode 100644 index 00000000..bd9c81c5 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Sequence.html @@ -0,0 +1,167 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Sequence (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Sequence

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Status.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Status.html new file mode 100644 index 00000000..2add8f55 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Status.html @@ -0,0 +1,247 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Status (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Status

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/StreetAddress.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/StreetAddress.html new file mode 100644 index 00000000..915143f9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/StreetAddress.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.StreetAddress (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.StreetAddress

    +
    +
    No usage of net.fortuna.ical4j.model.property.StreetAddress
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Summary.html new file mode 100644 index 00000000..e9b3d3df --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Summary.html @@ -0,0 +1,173 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Summary (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Summary

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Tel.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Tel.html new file mode 100644 index 00000000..61eef4d1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Tel.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Tel (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Tel

    +
    +
    No usage of net.fortuna.ical4j.model.property.Tel
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Transp.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Transp.html new file mode 100644 index 00000000..446b491f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Transp.html @@ -0,0 +1,191 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Transp (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Transp

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Trigger.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Trigger.html new file mode 100644 index 00000000..f3ebcfd1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Trigger.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Trigger (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Trigger

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzId.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzId.html new file mode 100644 index 00000000..1bcc5994 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzId.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.TzId (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.TzId

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzName.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzName.html new file mode 100644 index 00000000..78e0c5a4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzName.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.TzName (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.TzName

    +
    +
    No usage of net.fortuna.ical4j.model.property.TzName
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetFrom.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetFrom.html new file mode 100644 index 00000000..591ccce9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetFrom.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.TzOffsetFrom (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.TzOffsetFrom

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetTo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetTo.html new file mode 100644 index 00000000..59e42070 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzOffsetTo.html @@ -0,0 +1,161 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.TzOffsetTo (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.TzOffsetTo

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzUrl.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzUrl.html new file mode 100644 index 00000000..477484d2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/TzUrl.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.TzUrl (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.TzUrl

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Uid.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Uid.html new file mode 100644 index 00000000..97edb008 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Uid.html @@ -0,0 +1,209 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Uid (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Uid

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Url.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Url.html new file mode 100644 index 00000000..d9d7d733 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Url.html @@ -0,0 +1,171 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Url (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Url

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/UtcProperty.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/UtcProperty.html new file mode 100644 index 00000000..1eb8c196 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/UtcProperty.html @@ -0,0 +1,205 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.UtcProperty (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.UtcProperty

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Packages that use UtcProperty 
      PackageDescription
      net.fortuna.ical4j.model.property +
      Contains types used to represent the iCalendar property model.
      +
      +
    • +
    • +
        +
      • + + +

        Uses of UtcProperty in net.fortuna.ical4j.model.property

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Subclasses of UtcProperty in net.fortuna.ical4j.model.property 
        Modifier and TypeClass and Description
        class Completed +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a COMPLETED iCalendar component property.
        +
        class Created +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a CREATED iCalendar component property.
        +
        class DtStamp +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTAMP iCalendar component property.
        +
        class LastModified +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a LAST-MODIFIED iCalendar component property.
        +
        class Trigger +
        $Id$ + + Created: [Apr 6, 2004] + + Defines a TRIGGER iCalendar component property.
        +
        +
      • +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Version.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Version.html new file mode 100644 index 00000000..69753f37 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/Version.html @@ -0,0 +1,187 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.Version (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.Version

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/XProperty.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/XProperty.html new file mode 100644 index 00000000..4da6ba8e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/class-use/XProperty.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.model.property.XProperty (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.model.property.XProperty

    +
    +
    No usage of net.fortuna.ical4j.model.property.XProperty
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-frame.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-frame.html new file mode 100644 index 00000000..348a603e --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-frame.html @@ -0,0 +1,80 @@ + + + + + + +net.fortuna.ical4j.model.property (iCal4j 1.0.5 API) + + + + +

    net.fortuna.ical4j.model.property

    + + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-summary.html new file mode 100644 index 00000000..4b98aaa1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-summary.html @@ -0,0 +1,750 @@ + + + + + + +net.fortuna.ical4j.model.property (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Package net.fortuna.ical4j.model.property

    +

    +

    Contains types used to represent the iCalendar property model.
    +

    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      Action +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ACTION iCalendar component property.
      +
      Attach +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTACH iCalendar component property.
      +
      Attendee +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTENDEE iCalendar component property.
      +
      BusyType +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a BUSYTYPE iCalendar component property.
      +
      CalScale +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CALSCALE iCalendar property.
      +
      Categories +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CATEGORIES iCalendar component property.
      +
      Clazz +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CLASS iCalendar property.
      +
      Comment +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a COMMENT iCalendar component property.
      +
      Completed +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a COMPLETED iCalendar component property.
      +
      Contact +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CONTACT iCalendar component property.
      +
      Country +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
      +
      Created +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CREATED iCalendar component property.
      +
      DateListProperty +
      $Id$ + + Created on 11/08/2005 + + Base class for properties with a list of dates as a value.
      +
      DateProperty +
      $Id$ + + Created on 9/07/2005 + + Base class for properties with a DATE or DATE-TIME value.
      +
      Description +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DESCRIPTION iCalendar component property.
      +
      DtEnd +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTEND iCalendar component property.
      +
      DtStamp +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTAMP iCalendar component property.
      +
      DtStart +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTART iCalendar component property.
      +
      Due +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DUE iCalendar component property.
      +
      Duration +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DURATION iCalendar component property.
      +
      ExDate +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a EXDATE iCalendar component property.
      +
      ExRule +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a EXRULE iCalendar component property.
      +
      ExtendedAddress +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a EXTENDED_ADDRESS iCalendar component property.
      +
      FreeBusy +
      $Id$ + + Created: [Apr 14, 2004] + + Defines a FREEBUSY iCalendar component property.
      +
      Geo +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a GEO iCalendar component property.
      +
      LastModified +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LAST-MODIFIED iCalendar component property.
      +
      Locality +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCALITY iCalendar component property.
      +
      Location +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION iCalendar component property.
      +
      LocationType +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION_TYPE iCalendar component property.
      +
      Method +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a METHOD iCalendar property.
      +
      Name +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a NAME iCalendar component property.
      +
      Organizer +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ORGANIZER iCalendar component property.
      +
      PercentComplete +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PERCENT-COMPLETE iCalendar component property.
      +
      Postalcode +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a POSTALCODE iCalendar component property.
      +
      Priority +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PRIORITY iCalendar component property.
      +
      ProdId +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PRODID iCalendar property.
      +
      RDate +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an RDATE iCalendar component property.
      +
      RecurrenceId +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a RECURRENCE-ID iCalendar component property.
      +
      Region +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REGION iCalendar component property.
      +
      RelatedTo +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a RELATED-TO iCalendar component property.
      +
      Repeat +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REPEAT iCalendar component property.
      +
      RequestStatus +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REQUEST-STATUS iCalendar component property.
      +
      Resources +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a RESOURCES iCalendar component property.
      +
      RRule +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an RRULE iCalendar component property.
      +
      Sequence +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a SEQUENCE iCalendar component property.
      +
      Status +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a STATUS iCalendar component property.
      +
      StreetAddress +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a STREET_ADDRESS iCalendar component property.
      +
      Summary +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a SUMMARY iCalendar component property.
      +
      Tel +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TEL iCalendar component property.
      +
      Transp +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TRANSP iCalendar component property.
      +
      Trigger +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TRIGGER iCalendar component property.
      +
      TzId +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZID iCalendar component property.
      +
      TzName +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZNAME iCalendar component property.
      +
      TzOffsetFrom +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETFROM iCalendar component property.
      +
      TzOffsetTo +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETTO iCalendar component property.
      +
      TzUrl +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZURL iCalendar component property.
      +
      Uid +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a UID iCalendar component property.
      +
      Url +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a URL iCalendar component property.
      +
      UtcProperty +
      $Id$ + + Created on 8/08/2005 + + Superclass for all properties with date-time values that must be specified in UTC time.
      +
      Version +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a VERSION iCalendar property.
      +
      XProperty +
      $Id$ + + Created: [15/06/2004] + + Defines an extension property.
      +
      +
    • +
    + + + +

    Package net.fortuna.ical4j.model.property Description

    +
    Contains types used to represent the iCalendar property model.
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-tree.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-tree.html new file mode 100644 index 00000000..09e37883 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-tree.html @@ -0,0 +1,207 @@ + + + + + + +net.fortuna.ical4j.model.property Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Hierarchy For Package net.fortuna.ical4j.model.property

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • net.fortuna.ical4j.model.Content (implements java.io.Serializable) +
          +
        • net.fortuna.ical4j.model.Property +
            +
          • net.fortuna.ical4j.model.property.Action
          • +
          • net.fortuna.ical4j.model.property.Attach
          • +
          • net.fortuna.ical4j.model.property.Attendee
          • +
          • net.fortuna.ical4j.model.property.BusyType
          • +
          • net.fortuna.ical4j.model.property.CalScale
          • +
          • net.fortuna.ical4j.model.property.Categories
          • +
          • net.fortuna.ical4j.model.property.Clazz
          • +
          • net.fortuna.ical4j.model.property.Comment (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Contact (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Country (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.DateListProperty +
              +
            • net.fortuna.ical4j.model.property.ExDate
            • +
            • net.fortuna.ical4j.model.property.RDate
            • +
            +
          • +
          • net.fortuna.ical4j.model.property.DateProperty +
              +
            • net.fortuna.ical4j.model.property.DtEnd
            • +
            • net.fortuna.ical4j.model.property.DtStart
            • +
            • net.fortuna.ical4j.model.property.Due
            • +
            • net.fortuna.ical4j.model.property.RecurrenceId
            • +
            • net.fortuna.ical4j.model.property.UtcProperty +
                +
              • net.fortuna.ical4j.model.property.Completed
              • +
              • net.fortuna.ical4j.model.property.Created
              • +
              • net.fortuna.ical4j.model.property.DtStamp
              • +
              • net.fortuna.ical4j.model.property.LastModified
              • +
              • net.fortuna.ical4j.model.property.Trigger
              • +
              +
            • +
            +
          • +
          • net.fortuna.ical4j.model.property.Description (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Duration
          • +
          • net.fortuna.ical4j.model.property.ExRule
          • +
          • net.fortuna.ical4j.model.property.ExtendedAddress (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.FreeBusy
          • +
          • net.fortuna.ical4j.model.property.Geo
          • +
          • net.fortuna.ical4j.model.property.Locality (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Location (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.LocationType
          • +
          • net.fortuna.ical4j.model.property.Method
          • +
          • net.fortuna.ical4j.model.property.Name (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Organizer
          • +
          • net.fortuna.ical4j.model.property.PercentComplete
          • +
          • net.fortuna.ical4j.model.property.Postalcode (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Priority
          • +
          • net.fortuna.ical4j.model.property.ProdId (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Region (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.RelatedTo (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Repeat
          • +
          • net.fortuna.ical4j.model.property.RequestStatus
          • +
          • net.fortuna.ical4j.model.property.Resources
          • +
          • net.fortuna.ical4j.model.property.RRule
          • +
          • net.fortuna.ical4j.model.property.Sequence
          • +
          • net.fortuna.ical4j.model.property.Status
          • +
          • net.fortuna.ical4j.model.property.StreetAddress (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Summary (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Tel (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Transp
          • +
          • net.fortuna.ical4j.model.property.TzId (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.TzName (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.TzOffsetFrom
          • +
          • net.fortuna.ical4j.model.property.TzOffsetTo
          • +
          • net.fortuna.ical4j.model.property.TzUrl
          • +
          • net.fortuna.ical4j.model.property.Uid (implements net.fortuna.ical4j.model.Escapable)
          • +
          • net.fortuna.ical4j.model.property.Url
          • +
          • net.fortuna.ical4j.model.property.Version
          • +
          • net.fortuna.ical4j.model.property.XProperty (implements net.fortuna.ical4j.model.Escapable)
          • +
          +
        • +
        +
      • +
      +
    • +
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-use.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-use.html new file mode 100644 index 00000000..38811633 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/model/property/package-use.html @@ -0,0 +1,644 @@ + + + + + + +Uses of Package net.fortuna.ical4j.model.property (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Package
    net.fortuna.ical4j.model.property

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + + + + + +
      Packages that use net.fortuna.ical4j.model.property 
      PackageDescription
      net.fortuna.ical4j.model +
      Contains core types used to define the iCalendar model.
      +
      net.fortuna.ical4j.model.component +
      Contains types used to represent the iCalendar component model.
      +
      net.fortuna.ical4j.model.property +
      Contains types used to represent the iCalendar property model.
      +
      net.fortuna.ical4j.util +
      Contains utility types that provide supporting functionality for iCal4j.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model.property used by net.fortuna.ical4j.model 
      Class and Description
      CalScale +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CALSCALE iCalendar property.
      +
      Method +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a METHOD iCalendar property.
      +
      ProdId +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PRODID iCalendar property.
      +
      Version +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a VERSION iCalendar property.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model.property used by net.fortuna.ical4j.model.component 
      Class and Description
      Action +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ACTION iCalendar component property.
      +
      Attach +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ATTACH iCalendar component property.
      +
      Clazz +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CLASS iCalendar property.
      +
      Completed +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a COMPLETED iCalendar component property.
      +
      Contact +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CONTACT iCalendar component property.
      +
      Created +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CREATED iCalendar component property.
      +
      Description +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DESCRIPTION iCalendar component property.
      +
      DtEnd +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTEND iCalendar component property.
      +
      DtStamp +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTAMP iCalendar component property.
      +
      DtStart +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DTSTART iCalendar component property.
      +
      Due +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DUE iCalendar component property.
      +
      Duration +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a DURATION iCalendar component property.
      +
      Geo +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a GEO iCalendar component property.
      +
      LastModified +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LAST-MODIFIED iCalendar component property.
      +
      Location +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a LOCATION iCalendar component property.
      +
      Method +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a METHOD iCalendar property.
      +
      Organizer +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ORGANIZER iCalendar component property.
      +
      PercentComplete +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PERCENT-COMPLETE iCalendar component property.
      +
      Priority +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PRIORITY iCalendar component property.
      +
      RecurrenceId +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a RECURRENCE-ID iCalendar component property.
      +
      Repeat +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a REPEAT iCalendar component property.
      +
      Sequence +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a SEQUENCE iCalendar component property.
      +
      Status +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a STATUS iCalendar component property.
      +
      Summary +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a SUMMARY iCalendar component property.
      +
      Transp +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TRANSP iCalendar component property.
      +
      Trigger +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TRIGGER iCalendar component property.
      +
      TzId +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZID iCalendar component property.
      +
      TzOffsetFrom +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETFROM iCalendar component property.
      +
      TzOffsetTo +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZOFFSETTO iCalendar component property.
      +
      TzUrl +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TZURL iCalendar component property.
      +
      Uid +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a UID iCalendar component property.
      +
      Url +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a URL iCalendar component property.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model.property used by net.fortuna.ical4j.model.property 
      Class and Description
      Action +
      $Id$ + + Created: [Apr 6, 2004] + + Defines an ACTION iCalendar component property.
      +
      BusyType +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a BUSYTYPE iCalendar component property.
      +
      CalScale +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CALSCALE iCalendar property.
      +
      Clazz +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a CLASS iCalendar property.
      +
      DateListProperty +
      $Id$ + + Created on 11/08/2005 + + Base class for properties with a list of dates as a value.
      +
      DateProperty +
      $Id$ + + Created on 9/07/2005 + + Base class for properties with a DATE or DATE-TIME value.
      +
      Method +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a METHOD iCalendar property.
      +
      Priority +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a PRIORITY iCalendar component property.
      +
      Status +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a STATUS iCalendar component property.
      +
      Transp +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a TRANSP iCalendar component property.
      +
      UtcProperty +
      $Id$ + + Created on 8/08/2005 + + Superclass for all properties with date-time values that must be specified in UTC time.
      +
      Version +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a VERSION iCalendar property.
      +
      +
    • +
    • + + + + + + + + + + + + +
      Classes in net.fortuna.ical4j.model.property used by net.fortuna.ical4j.util 
      Class and Description
      Uid +
      $Id$ + + Created: [Apr 6, 2004] + + Defines a UID iCalendar component property.
      +
      +
    • +
    +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/PublishTransformer.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/PublishTransformer.html new file mode 100644 index 00000000..797e2e78 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/PublishTransformer.html @@ -0,0 +1,286 @@ + + + + + + +PublishTransformer (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.transform

    +

    Class PublishTransformer

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class PublishTransformer
      +extends Transformer
      +
      $Id$ + + Created: 26/09/2004 + + Transforms a calendar for publishing.
      +
      Author:
      +
      benfortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PublishTransformer

          +
          public PublishTransformer()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          transform

          +
          public final Calendar transform(Calendar calendar)
          +
          Transforms the specified calendar according to the implementation of this method. By definition this method will + modify the existing calendar instance and return it for convenience.
          +
          +
          Specified by:
          +
          transform in class Transformer
          +
          Parameters:
          calendar - a calendar to transform
          +
          Returns:
          a transformed calendar
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/Transformer.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/Transformer.html new file mode 100644 index 00000000..385a7cf7 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/Transformer.html @@ -0,0 +1,293 @@ + + + + + + +Transformer (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.transform

    +

    Class Transformer

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      PublishTransformer
      +
      +
      +
      +
      public abstract class Transformer
      +extends Object
      +
      $Id$ + + Created: 23/09/2004 + + Base class of calendar transformations.
      +
      Author:
      +
      benfortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Transformer

          +
          public Transformer()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          transform

          +
          public abstract Calendar transform(Calendar calendar)
          +
          Transforms the specified calendar according to the implementation of this method. By definition this method will + modify the existing calendar instance and return it for convenience.
          +
          Parameters:
          calendar - a calendar to transform
          +
          Returns:
          a transformed calendar
          +
        • +
        + + + +
          +
        • +

          transform

          +
          public final Calendar transform(Component component)
          +
          Transforms the specified component according to the transformer implementation.
          +
          Parameters:
          component - a component to transform
          +
          Returns:
          a calendar containing the transformed component
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/class-use/PublishTransformer.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/class-use/PublishTransformer.html new file mode 100644 index 00000000..c99d8267 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/class-use/PublishTransformer.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.transform.PublishTransformer (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.transform.PublishTransformer

    +
    +
    No usage of net.fortuna.ical4j.transform.PublishTransformer
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/class-use/Transformer.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/class-use/Transformer.html new file mode 100644 index 00000000..da4d6fdc --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/class-use/Transformer.html @@ -0,0 +1,165 @@ + + + + + + +Uses of Class net.fortuna.ical4j.transform.Transformer (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.transform.Transformer

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-frame.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-frame.html new file mode 100644 index 00000000..da2ddd43 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-frame.html @@ -0,0 +1,21 @@ + + + + + + +net.fortuna.ical4j.transform (iCal4j 1.0.5 API) + + + + +

    net.fortuna.ical4j.transform

    + + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-summary.html new file mode 100644 index 00000000..f1527ed4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-summary.html @@ -0,0 +1,160 @@ + + + + + + +net.fortuna.ical4j.transform (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Package net.fortuna.ical4j.transform

    +

    +

    Contains types used to transform an iCalendar component model according to RFC2446.
    +

    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      PublishTransformer +
      $Id$ + + Created: 26/09/2004 + + Transforms a calendar for publishing.
      +
      Transformer +
      $Id$ + + Created: 23/09/2004 + + Base class of calendar transformations.
      +
      +
    • +
    + + + +

    Package net.fortuna.ical4j.transform Description

    +
    Contains types used to transform an iCalendar component model according to RFC2446.
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-tree.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-tree.html new file mode 100644 index 00000000..b4145d61 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-tree.html @@ -0,0 +1,134 @@ + + + + + + +net.fortuna.ical4j.transform Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Hierarchy For Package net.fortuna.ical4j.transform

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-use.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-use.html new file mode 100644 index 00000000..7f1b1b68 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/transform/package-use.html @@ -0,0 +1,158 @@ + + + + + + +Uses of Package net.fortuna.ical4j.transform (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Package
    net.fortuna.ical4j.transform

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Calendars.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Calendars.html new file mode 100644 index 00000000..683cbed3 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Calendars.html @@ -0,0 +1,365 @@ + + + + + + +Calendars (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class Calendars

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class Calendars
      +extends Object
      +
      $Id$ + + Created on 10/11/2006 + + Utility method for working with Calendars.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          load

          +
          public static Calendar load(String filename)
          +                     throws IOException,
          +                            ParserException
          +
          Loads a calendar from the specified file.
          +
          Parameters:
          filename - the name of the file from which to load calendar data
          +
          Returns:
          returns a new calendar instance initialised from the specified file
          +
          Throws:
          +
          IOException - occurs when there is an error reading the specified file
          +
          ParserException - occurs when the data in the specified file is invalid
          +
        • +
        + + + +
          +
        • +

          load

          +
          public static Calendar load(URL url)
          +                     throws IOException,
          +                            ParserException
          +
          Loads a calendar from the specified URL.
          +
          Parameters:
          url - the URL from which to load calendar data
          +
          Returns:
          returns a new calendar instance initialised from the specified URL
          +
          Throws:
          +
          IOException - occurs when there is an error reading from the specified URL
          +
          ParserException - occurs when the data in the specified URL is invalid
          +
        • +
        + + + +
          +
        • +

          merge

          +
          public static Calendar merge(Calendar c1,
          +             Calendar c2)
          +
          Merge all properties and components from two specified calendars into one instance. + Note that the merge process is not very sophisticated, and may result in invalid calendar + data (e.g. multiple properties of a type that should only be specified once).
          +
          Parameters:
          c1 - the first calendar to merge
          c2 - the second calendar to merge
          +
          Returns:
          a Calendar instance containing all properties and components from both of the specified calendars
          +
        • +
        + + + +
          +
        • +

          wrap

          +
          public static Calendar wrap(Component component)
          +
          Wraps a component in a calendar.
          +
          Parameters:
          component - the component to wrap with a calendar
          +
          Returns:
          a calendar containing the specified component
          +
        • +
        + + + +
          +
        • +

          split

          +
          public static Calendar[] split(Calendar calendar)
          +
          Splits a calendar object into distinct calendar objects for unique + identifers (UID).
          +
          Parameters:
          calendar - a calendar instance
          +
          Returns:
          an array of calendar objects
          +
        • +
        + + + +
          +
        • +

          getUid

          +
          public static Uid getUid(Calendar calendar)
          +                  throws ConstraintViolationException
          +
          Returns a unique identifier as specified by components in the provided calendar.
          +
          Parameters:
          calendar - a calendar instance
          +
          Returns:
          the UID property
          +
          Throws:
          +
          ConstraintViolationException - if zero or more than one unique identifer is found in the specified calendar
          +
        • +
        + + + +
          +
        • +

          getContentType

          +
          public static String getContentType(Calendar calendar,
          +                    Charset charset)
          +
          Returns an appropriate MIME Content-Type for the specified calendar object.
          +
          Parameters:
          calendar - a calendar instance
          charset - an optional encoding
          +
          Returns:
          a content type string
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html new file mode 100644 index 00000000..5ff4804f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html @@ -0,0 +1,394 @@ + + + + + + +CompatibilityHints (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class CompatibilityHints

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class CompatibilityHints
      +extends Object
      +
      $Id$ + + Created on 9/03/2006 + + A set of keys used to enable compatibility features.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          KEY_RELAXED_UNFOLDING

          +
          public static final String KEY_RELAXED_UNFOLDING
          +
          A system property key to enable relaxed unfolding. Relaxed unfolding is enabled by setting this system property + to "true".
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          KEY_RELAXED_PARSING

          +
          public static final String KEY_RELAXED_PARSING
          +
          A system property key to enable relaxed parsing. Relaxed parsing is enabled by setting this system property to + "true".
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          KEY_RELAXED_VALIDATION

          +
          public static final String KEY_RELAXED_VALIDATION
          +
          A system property key to enable relaxed validation. Relaxed validation disables validation of certain conformance + rules that many iCalendar implementations do not conform to. Relaxed validation is enabled by setting this system + property to "true".
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          KEY_OUTLOOK_COMPATIBILITY

          +
          public static final String KEY_OUTLOOK_COMPATIBILITY
          +
          A system property key used to enable compatibility with Outlook/Exchange-generated iCalendar files. Outlook + compatibility is enabled by setting this system property to "true".
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          KEY_NOTES_COMPATIBILITY

          +
          public static final String KEY_NOTES_COMPATIBILITY
          +
          A system property key used to enable compatibility with Lotus Notes-generated iCalendar files. Notes + compatibility is enabled by setting this system property to "true".
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          KEY_VCARD_COMPATIBILITY

          +
          public static final String KEY_VCARD_COMPATIBILITY
          +
          Support for vCard features that are not necessarily compatible with the iCalendar standard.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setHintEnabled

          +
          public static void setHintEnabled(String key,
          +                  boolean enabled)
          +
          Parameters:
          key - a compatibility hint key
          enabled - indicates whether to enable or disable the compatibility hint
          +
        • +
        + + + +
          +
        • +

          clearHintEnabled

          +
          public static void clearHintEnabled(String key)
          +
          Parameters:
          key - a compatibility hint key
          +
        • +
        + + + +
          +
        • +

          isHintEnabled

          +
          public static boolean isHintEnabled(String key)
          +
          Parameters:
          key - a compatibility hint key
          +
          Returns:
          true if the specified compatibility hint is enabled, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ComponentValidator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ComponentValidator.html new file mode 100644 index 00000000..faa45b64 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ComponentValidator.html @@ -0,0 +1,251 @@ + + + + + + +ComponentValidator (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class ComponentValidator

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class ComponentValidator
      +extends Object
      +
      Author:
      +
      Ben
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          assertNone

          +
          public static void assertNone(String componentName,
          +              ComponentList components)
          +                       throws ValidationException
          +
          Parameters:
          componentName - a component name used in the assertion
          components - a list of components
          +
          Throws:
          +
          ValidationException - where the assertion fails
          +
        • +
        + + + +
          +
        • +

          assertOneOrLess

          +
          public static void assertOneOrLess(String componentName,
          +                   ComponentList components)
          +                            throws ValidationException
          +
          Parameters:
          componentName - a component name used in the assertion
          components - a list of components
          +
          Throws:
          +
          ValidationException - where the assertion fails
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Configurator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Configurator.html new file mode 100644 index 00000000..7ace7572 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Configurator.html @@ -0,0 +1,234 @@ + + + + + + +Configurator (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class Configurator

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class Configurator
      +extends Object
      +
      $Id$ + + Created on 06/02/2008 + + Provides configuration properties specified either as system properties + or in an ical4j.properties configuration file.
      +
      Author:
      +
      Ben
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getProperty

          +
          public static String getProperty(String key)
          +
          Parameters:
          key - a compatibility hint key
          +
          Returns:
          true if the specified compatibility hint is enabled, otherwise false
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Constants.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Constants.html new file mode 100644 index 00000000..8b1141b8 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Constants.html @@ -0,0 +1,241 @@ + + + + + + +Constants (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class Constants

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class Constants
      +extends Object
      +
      $Id$ + + Created on 5/07/2005 + + Provides some convenience methods for working with constant + parameters and properties.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          forProperty

          +
          public static Property forProperty(Property property)
          +
          Returns a constant equivalent to the specified property + if one is applicable. Otherwise will return the specified + property.
          +
          Parameters:
          property - a property instance
          +
          Returns:
          an equivalent constant property, or the specified property if no equivalent + constant exists
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Dates.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Dates.html new file mode 100644 index 00000000..2cfcd2d4 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Dates.html @@ -0,0 +1,606 @@ + + + + + + +Dates (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class Dates

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class Dates
      +extends Object
      +
      $Id$ + + Created on 26/06/2005 + + Implements a collection of utility methods relevant to date processing.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeField and Description
        static intDAYS_PER_WEEK +
        Number of days in one week.
        +
        static intMAX_DAYS_PER_MONTH +
        Maximum number of days per month.
        +
        static intMAX_DAYS_PER_YEAR +
        Maximum number of days per year.
        +
        static intMAX_WEEKS_PER_YEAR +
        Maximum number of weeks per year.
        +
        static longMILLIS_PER_DAY +
        Number of milliseconds in one day.
        +
        static longMILLIS_PER_HOUR +
        Number of milliseconds in one hour.
        +
        static longMILLIS_PER_MINUTE +
        Number of milliseconds in one minute.
        +
        static longMILLIS_PER_SECOND +
        Number of milliseconds in one second.
        +
        static longMILLIS_PER_WEEK +
        Number of milliseconds in one week.
        +
        static intPRECISION_DAY +
        Constant indicating precision to the day.
        +
        static intPRECISION_SECOND +
        Constant indicating precision to the second.
        +
        +
      • +
      + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Methods 
        Modifier and TypeMethod and Description
        static intgetAbsMonthDay(Date date, + int monthDay) +
        Returns the absolute month day for the month specified by the + supplied date.
        +
        static intgetAbsWeekNo(Date date, + int weekNo) +
        Returns the absolute week number for the year specified by the + supplied date.
        +
        static intgetAbsYearDay(Date date, + int yearDay) +
        Returns the absolute year day for the year specified by the + supplied date.
        +
        static CalendargetCalendarInstance(Date date) +
        Returns an instance of java.util.Calendar that is suitably + initialised for working with the specified date.
        +
        static longgetCurrentTimeRounded() +
        Returns the System.currentTimeMillis(), rounded to the second.
        +
        static DategetInstance(Date date, + Value type) +
        Returns a new date instance of the specified type.
        +
        static longround(long time, + int precision) +
        Deprecated.  +
        It is not all that useful to perform rounding without specifying an + explicit timezone.
        +
        +
        static longround(long time, + int precision, + TimeZone tz) +
        Rounds a time value to remove any precision smaller than specified.
        +
        + +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          MILLIS_PER_SECOND

          +
          public static final long MILLIS_PER_SECOND
          +
          Number of milliseconds in one second.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MILLIS_PER_MINUTE

          +
          public static final long MILLIS_PER_MINUTE
          +
          Number of milliseconds in one minute.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MILLIS_PER_HOUR

          +
          public static final long MILLIS_PER_HOUR
          +
          Number of milliseconds in one hour.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MILLIS_PER_DAY

          +
          public static final long MILLIS_PER_DAY
          +
          Number of milliseconds in one day.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MILLIS_PER_WEEK

          +
          public static final long MILLIS_PER_WEEK
          +
          Number of milliseconds in one week.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          DAYS_PER_WEEK

          +
          public static final int DAYS_PER_WEEK
          +
          Number of days in one week.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          PRECISION_SECOND

          +
          public static final int PRECISION_SECOND
          +
          Constant indicating precision to the second.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          PRECISION_DAY

          +
          public static final int PRECISION_DAY
          +
          Constant indicating precision to the day.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MAX_WEEKS_PER_YEAR

          +
          public static final int MAX_WEEKS_PER_YEAR
          +
          Maximum number of weeks per year.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MAX_DAYS_PER_YEAR

          +
          public static final int MAX_DAYS_PER_YEAR
          +
          Maximum number of days per year.
          +
          See Also:
          Constant Field Values
          +
        • +
        + + + +
          +
        • +

          MAX_DAYS_PER_MONTH

          +
          public static final int MAX_DAYS_PER_MONTH
          +
          Maximum number of days per month.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getAbsWeekNo

          +
          public static int getAbsWeekNo(Date date,
          +               int weekNo)
          +
          Returns the absolute week number for the year specified by the + supplied date. Note that a value of zero (0) is invalid for the + weekNo parameter and an IllegalArgumentException + will be thrown.
          +
          Parameters:
          date - a date instance representing a week of the year
          weekNo - a week number offset
          +
          Returns:
          the absolute week of the year for the specified offset
          +
        • +
        + + + +
          +
        • +

          getAbsYearDay

          +
          public static int getAbsYearDay(Date date,
          +                int yearDay)
          +
          Returns the absolute year day for the year specified by the + supplied date. Note that a value of zero (0) is invalid for the + yearDay parameter and an IllegalArgumentException + will be thrown.
          +
          Parameters:
          date - a date instance representing a day of the year
          yearDay - a day of year offset
          +
          Returns:
          the absolute day of month for the specified offset
          +
        • +
        + + + +
          +
        • +

          getAbsMonthDay

          +
          public static int getAbsMonthDay(Date date,
          +                 int monthDay)
          +
          Returns the absolute month day for the month specified by the + supplied date. Note that a value of zero (0) is invalid for the + monthDay parameter and an IllegalArgumentException + will be thrown.
          +
          Parameters:
          date - a date instance representing a day of the month
          monthDay - a day of month offset
          +
          Returns:
          the absolute day of month for the specified offset
          +
        • +
        + + + +
          +
        • +

          getInstance

          +
          public static Date getInstance(Date date,
          +               Value type)
          +
          Returns a new date instance of the specified type. If no type is + specified a DateTime instance is returned.
          +
          Parameters:
          date - a seed Java date instance
          type - the type of date instance
          +
          Returns:
          an instance of net.fortuna.ical4j.model.Date
          +
        • +
        + + + +
          +
        • +

          getCalendarInstance

          +
          public static Calendar getCalendarInstance(Date date)
          +
          Returns an instance of java.util.Calendar that is suitably + initialised for working with the specified date.
          +
          Parameters:
          date - a date instance
          +
          Returns:
          a java.util.Calendar
          +
        • +
        + + + +
          +
        • +

          round

          +
          public static long round(long time,
          +         int precision)
          +
          Deprecated. It is not all that useful to perform rounding without specifying an + explicit timezone.
          +
          Parameters:
          time - the time value to round
          precision - the rounding precision
          +
          Returns:
          a round time value
          +
        • +
        + + + +
          +
        • +

          round

          +
          public static long round(long time,
          +         int precision,
          +         TimeZone tz)
          +
          Rounds a time value to remove any precision smaller than specified.
          +
          Parameters:
          time - the time value to round
          precision - the rounding precision
          tz - the timezone of the rounded value
          +
          Returns:
          a round time value
          +
        • +
        + + + +
          +
        • +

          getCurrentTimeRounded

          +
          public static long getCurrentTimeRounded()
          +
          Returns the System.currentTimeMillis(), rounded to the second. +

          By doing a rough rounding here, we avoid an expensive java.util.Calendar based + rounding later on.

          +
          Returns:
          the current time in millisec.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DecoderFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DecoderFactory.html new file mode 100644 index 00000000..bc6b3379 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DecoderFactory.html @@ -0,0 +1,356 @@ + + + + + + +DecoderFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class DecoderFactory

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      DefaultDecoderFactory
      +
      +
      +
      +
      public abstract class DecoderFactory
      +extends Object
      +
      Abstract base class for decoder factory implementations. + + $Id$ + + Created on 13/05/2006
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          KEY_FACTORY_CLASS

          +
          public static final String KEY_FACTORY_CLASS
          +
          The system property used to specify an alternate + DecoderFactory implementation.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DecoderFactory

          +
          public DecoderFactory()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getInstance

          +
          public static final DecoderFactory getInstance()
          +
          Returns:
          Returns the instance.
          +
        • +
        + + + +
          +
        • +

          createBinaryDecoder

          +
          public abstract org.apache.commons.codec.BinaryDecoder createBinaryDecoder(Encoding encoding)
          +                                                                    throws UnsupportedEncodingException
          +
          Returns a new BinaryDecoder for the specified encoding.
          +
          Parameters:
          encoding - an encoding type
          +
          Returns:
          a BinaryDecoder instance
          +
          Throws:
          +
          UnsupportedEncodingException - where an encoder supporting the + specified encoding is not available.
          +
        • +
        + + + +
          +
        • +

          createStringDecoder

          +
          public abstract org.apache.commons.codec.StringDecoder createStringDecoder(Encoding encoding)
          +                                                                    throws UnsupportedEncodingException
          +
          Returns a new StringDecoder for the specified encoding.
          +
          Parameters:
          encoding - an encoding type
          +
          Returns:
          a StringDecoder instance
          +
          Throws:
          +
          UnsupportedEncodingException - where an encoder supporting the + specified encoding is not available.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DefaultDecoderFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DefaultDecoderFactory.html new file mode 100644 index 00000000..32daae67 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DefaultDecoderFactory.html @@ -0,0 +1,329 @@ + + + + + + +DefaultDecoderFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class DefaultDecoderFactory

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class DefaultDecoderFactory
      +extends DecoderFactory
      +
      Default decoder factory implementation. + + $Id$ + + Created on 13/05/2006
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DefaultDecoderFactory

          +
          public DefaultDecoderFactory()
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DefaultEncoderFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DefaultEncoderFactory.html new file mode 100644 index 00000000..78e7d37d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/DefaultEncoderFactory.html @@ -0,0 +1,329 @@ + + + + + + +DefaultEncoderFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class DefaultEncoderFactory

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class DefaultEncoderFactory
      +extends EncoderFactory
      +
      Default encoder factory implementation. + + $Id$ + + Created on 13/05/2006
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DefaultEncoderFactory

          +
          public DefaultEncoderFactory()
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/EncoderFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/EncoderFactory.html new file mode 100644 index 00000000..7461b9da --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/EncoderFactory.html @@ -0,0 +1,356 @@ + + + + + + +EncoderFactory (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class EncoderFactory

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      DefaultEncoderFactory
      +
      +
      +
      +
      public abstract class EncoderFactory
      +extends Object
      +
      Abstract base class for encoder factory implementations. + + $Id$ + + Created on 13/05/2006
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          KEY_FACTORY_CLASS

          +
          public static final String KEY_FACTORY_CLASS
          +
          The system property used to specify an alternate + EncoderFactory implementation.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          EncoderFactory

          +
          public EncoderFactory()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getInstance

          +
          public static final EncoderFactory getInstance()
          +
          Returns:
          Returns the instance.
          +
        • +
        + + + +
          +
        • +

          createBinaryEncoder

          +
          public abstract org.apache.commons.codec.BinaryEncoder createBinaryEncoder(Encoding encoding)
          +                                                                    throws UnsupportedEncodingException
          +
          Returns a new BinaryEncoder for the specified encoding.
          +
          Parameters:
          encoding - an encoding type
          +
          Returns:
          a BinaryEncoder instance
          +
          Throws:
          +
          UnsupportedEncodingException - where an encoder supporting the + specified encoding is not available.
          +
        • +
        + + + +
          +
        • +

          createStringEncoder

          +
          public abstract org.apache.commons.codec.StringEncoder createStringEncoder(Encoding encoding)
          +                                                                    throws UnsupportedEncodingException
          +
          Returns a new StringEncoder for the specified encoding.
          +
          Parameters:
          encoding - an encoding type
          +
          Returns:
          a StringEncoder instance
          +
          Throws:
          +
          UnsupportedEncodingException - where an encoder supporting the + specified encoding is not available.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/HostInfo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/HostInfo.html new file mode 100644 index 00000000..810676bb --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/HostInfo.html @@ -0,0 +1,216 @@ + + + + + + +HostInfo (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Interface HostInfo

    +
    +
    +
    +
      +
    • +
      +
      All Known Implementing Classes:
      +
      InetAddressHostInfo, SimpleHostInfo
      +
      +
      +
      +
      public interface HostInfo
      +
      Provides platform-independent host information.
      +
      Author:
      +
      fortuna
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + +
        Methods 
        Modifier and TypeMethod and Description
        StringgetHostName() 
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getHostName

          +
          String getHostName()
          +
          Returns:
          a name for the host machine
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/InetAddressHostInfo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/InetAddressHostInfo.html new file mode 100644 index 00000000..5c7bfa51 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/InetAddressHostInfo.html @@ -0,0 +1,285 @@ + + + + + + +InetAddressHostInfo (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class InetAddressHostInfo

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      HostInfo
      +
      +
      +
      +
      public class InetAddressHostInfo
      +extends Object
      +implements HostInfo
      +
      Author:
      +
      fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          InetAddressHostInfo

          +
          public InetAddressHostInfo()
          +                    throws SocketException
          +
          Throws:
          +
          SocketException - where an error occurs identifying the host address
          +
        • +
        + + + +
          +
        • +

          InetAddressHostInfo

          +
          public InetAddressHostInfo(InetAddress address)
          +
          Parameters:
          address - a host address
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getHostName

          +
          public String getHostName()
          +
          +
          Specified by:
          +
          getHostName in interface HostInfo
          +
          Returns:
          a name for the host machine
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Numbers.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Numbers.html new file mode 100644 index 00000000..e4aa9372 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Numbers.html @@ -0,0 +1,238 @@ + + + + + + +Numbers (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class Numbers

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class Numbers
      +extends Object
      +
      $Id$ + + Created on 6/08/2005 + + A utility class for number processing.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          parseInt

          +
          public static int parseInt(String value)
          +
          Wraps java.lang.Integer.parseInt() to accept values with + a PLUS character (i.e. "+2").
          +
          Parameters:
          value - an integer string
          +
          Returns:
          a parsed integer value
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ParameterValidator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ParameterValidator.html new file mode 100644 index 00000000..f51045f1 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ParameterValidator.html @@ -0,0 +1,317 @@ + + + + + + +ParameterValidator (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class ParameterValidator

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class ParameterValidator
      +extends Object
      +
      $Id$ [15-May-2004] + + Defines methods for validating parameters and parameter + lists.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          assertOneOrLess

          +
          public void assertOneOrLess(String paramName,
          +                   ParameterList parameters)
          +                     throws ValidationException
          +
          Ensure a parameter occurs no more than once.
          +
          Parameters:
          paramName - the parameter name
          parameters - a list of parameters to query
          +
          Throws:
          +
          ValidationException - when the specified parameter occurs more than once
          +
        • +
        + + + +
          +
        • +

          assertOne

          +
          public void assertOne(String paramName,
          +             ParameterList parameters)
          +               throws ValidationException
          +
          Ensure a parameter occurs once.
          +
          Parameters:
          paramName - the parameter name
          parameters - a list of parameters to query
          +
          Throws:
          +
          ValidationException - when the specified parameter does not occur once
          +
        • +
        + + + +
          +
        • +

          assertNone

          +
          public void assertNone(String paramName,
          +              ParameterList parameters)
          +                throws ValidationException
          +
          Ensure a parameter doesn't occur in the specified list.
          +
          Parameters:
          paramName - the name of a parameter
          parameters - a list of parameters
          +
          Throws:
          +
          ValidationException - thrown when the specified property + is found in the list of properties
          +
        • +
        + + + + + + + +
          +
        • +

          getInstance

          +
          public static ParameterValidator getInstance()
          +
          Returns:
          Returns the instance.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/PropertyValidator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/PropertyValidator.html new file mode 100644 index 00000000..3c866d98 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/PropertyValidator.html @@ -0,0 +1,319 @@ + + + + + + +PropertyValidator (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class PropertyValidator

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class PropertyValidator
      +extends Object
      +
      $Id$ [15-May-2004] + + Defines methods for validating properties and property lists.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          assertOneOrLess

          +
          public void assertOneOrLess(String propertyName,
          +                   PropertyList properties)
          +                     throws ValidationException
          +
          Ensure a property occurs no more than once.
          +
          Parameters:
          propertyName - the property name
          properties - a list of properties to query
          +
          Throws:
          +
          ValidationException - when the specified property occurs more than once
          +
        • +
        + + + +
          +
        • +

          assertOneOrMore

          +
          public void assertOneOrMore(String propertyName,
          +                   PropertyList properties)
          +                     throws ValidationException
          +
          Ensure a property occurs at least once.
          +
          Parameters:
          propertyName - the property name
          properties - a list of properties to query
          +
          Throws:
          +
          ValidationException - when the specified property occurs more than once
          +
        • +
        + + + +
          +
        • +

          assertOne

          +
          public void assertOne(String propertyName,
          +             PropertyList properties)
          +               throws ValidationException
          +
          Ensure a property occurs once.
          +
          Parameters:
          propertyName - the property name
          properties - a list of properties to query
          +
          Throws:
          +
          ValidationException - when the specified property does not occur once
          +
        • +
        + + + +
          +
        • +

          assertNone

          +
          public void assertNone(String propertyName,
          +              PropertyList properties)
          +                throws ValidationException
          +
          Ensure a property doesn't occur in the specified list.
          +
          Parameters:
          propertyName - the name of a property
          properties - a list of properties
          +
          Throws:
          +
          ValidationException - thrown when the specified property + is found in the list of properties
          +
        • +
        + + + +
          +
        • +

          getInstance

          +
          public static PropertyValidator getInstance()
          +
          Returns:
          Returns the instance.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ResourceLoader.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ResourceLoader.html new file mode 100644 index 00000000..1ee71a79 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/ResourceLoader.html @@ -0,0 +1,285 @@ + + + + + + +ResourceLoader (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class ResourceLoader

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class ResourceLoader
      +extends Object
      +
      Author:
      +
      fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ResourceLoader

          +
          public ResourceLoader()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getResource

          +
          public static URL getResource(String name)
          +
          Load a resource via the thread context classloader. If security permissions don't allow + this fallback to loading via current classloader.
          +
          Parameters:
          name - a resource name
          +
          Returns:
          a URL or null if resource is not found
          +
        • +
        + + + +
          +
        • +

          getResourceAsStream

          +
          public static InputStream getResourceAsStream(String name)
          +
          Load a resource via the thread context classloader. If security permissions don't allow + this fallback to loading via current classloader.
          +
          Parameters:
          name - a resource name
          +
          Returns:
          an InputStream or null if resource is not found
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/SimpleHostInfo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/SimpleHostInfo.html new file mode 100644 index 00000000..5ee0dcff --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/SimpleHostInfo.html @@ -0,0 +1,270 @@ + + + + + + +SimpleHostInfo (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class SimpleHostInfo

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      HostInfo
      +
      +
      +
      +
      public class SimpleHostInfo
      +extends Object
      +implements HostInfo
      +
      Author:
      +
      fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getHostName

          +
          public String getHostName()
          +
          +
          Specified by:
          +
          getHostName in interface HostInfo
          +
          Returns:
          a name for the host machine
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Strings.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Strings.html new file mode 100644 index 00000000..0111764d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Strings.html @@ -0,0 +1,451 @@ + + + + + + +Strings (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class Strings

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class Strings
      +extends Object
      +
      $Id$ [23-Apr-2004] + + Utility methods for working with parameters.
      +
      Author:
      +
      Ben Fortuna +
      + 4.3.11 Text
      + 
      +    Value Name: TEXT
      + 
      +    Purpose This value type is used to identify values that contain human
      +    readable text.
      + 
      +    Formal Definition: The character sets supported by this revision of
      +    iCalendar are UTF-8 and US ASCII thereof. The applicability to other
      +    character sets is for future work. The value type is defined by the
      +    following notation.
      + 
      +      text       = *(TSAFE-CHAR / ":" / DQUOTE / ESCAPED-CHAR)
      +      ; Folded according to description above
      + 
      +      ESCAPED-CHAR = "\\" / "\;" / "\," / "\N" / "\n")
      +         ; \\ encodes \, \N or \n encodes newline
      +         ; \; encodes ;, \, encodes ,
      + 
      +      TSAFE-CHAR = %x20-21 / %x23-2B / %x2D-39 / %x3C-5B
      +                   %x5D-7E / NON-US-ASCII
      +         ; Any character except CTLs not needed by the current
      +         ; character set, DQUOTE, ";", ":", "\", ","
      + 
      +      Note: Certain other character sets may require modification of the
      +      above definitions, but this is beyond the scope of this document.
      + 
      +    Description: If the property permits, multiple "text" values are
      +    specified by a COMMA character (US-ASCII decimal 44) separated list
      +    of values.
      + 
      +    The language in which the text is represented can be controlled by
      +    the "LANGUAGE" property parameter.
      + 
      +    An intentional formatted text line break MUST only be included in a
      +    "TEXT" property value by representing the line break with the
      +    character sequence of BACKSLASH (US-ASCII decimal 92), followed by a
      +    LATIN SMALL LETTER N (US-ASCII decimal 110) or a LATIN CAPITAL LETTER
      +    N (US-ASCII decimal 78), that is "\n" or "\N".
      + 
      +    The "TEXT" property values may also contain special characters that
      +    are used to signify delimiters, such as a COMMA character for lists
      +    of values or a SEMICOLON character for structured values. In order to
      +    support the inclusion of these special characters in "TEXT" property
      +    values, they MUST be escaped with a BACKSLASH character. A BACKSLASH
      +    character (US-ASCII decimal 92) in a "TEXT" property value MUST be
      +    escaped with another BACKSLASH character. A COMMA character in a
      +    "TEXT" property value MUST be escaped with a BACKSLASH character
      +    (US-ASCII decimal 92). A SEMICOLON character in a "TEXT" property
      +    value MUST be escaped with a BACKSLASH character (US-ASCII decimal
      +    92).  However, a COLON character in a "TEXT" property value SHALL NOT
      +    be escaped with a BACKSLASH character.Example: A multiple line value
      +    of:
      + 
      +      Project XYZ Final Review
      +      Conference Room - 3B
      +      Come Prepared.
      + 
      +    would be represented as:
      + 
      +      Project XYZ Final Review\nConference Room - 3B\nCome Prepared.
      + 
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          PARAM_QUOTE_PATTERN

          +
          public static final Pattern PARAM_QUOTE_PATTERN
          +
          Defines a regular expression representing all parameter strings that + should be quoted.
          +
        • +
        + + + +
          +
        • +

          LINE_SEPARATOR

          +
          public static final String LINE_SEPARATOR
          +
          A string used to denote the start (and end) of iCalendar content lines.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          quote

          +
          public static String quote(Object aValue)
          +
          Convenience method for adding quotes. The specified + object is converted to a string representation by + calling its toString() method.
          +
          Parameters:
          aValue - an object to quote
          +
          Returns:
          a quoted string
          +
        • +
        + + + +
          +
        • +

          unquote

          +
          public static String unquote(String aValue)
          +
          Convenience method for removing surrounding quotes + from a string value.
          +
          Parameters:
          aValue - a string to remove quotes from
          +
          Returns:
          an un-quoted string
          +
        • +
        + + + +
          +
        • +

          escape

          +
          public static String escape(String aValue)
          +
          Convenience method for escaping special characters.
          +
          Parameters:
          aValue - a string value to escape
          +
          Returns:
          an escaped representation of the specified + string
          +
        • +
        + + + +
          +
        • +

          unescape

          +
          public static String unescape(String aValue)
          +
          Convenience method for replacing escaped special characters + with their original form.
          +
          Parameters:
          aValue - a string value to unescape
          +
          Returns:
          a string representation of the specified + string with escaped characters replaced with their + original form
          +
        • +
        + + + +
          +
        • +

          escapeNewline

          +
          public static String escapeNewline(String value)
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static String valueOf(Object object)
          +
          Wraps java.lang.String.valueOf() to return an empty string + where the specified object is null.
          +
          Parameters:
          object - an object instance
          +
          Returns:
          a string representation of the object
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/TimeZones.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/TimeZones.html new file mode 100644 index 00000000..9b7c2399 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/TimeZones.html @@ -0,0 +1,351 @@ + + + + + + +TimeZones (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class TimeZones

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class TimeZones
      +extends Object
      +
      $Id$ [5/07/2004] + + Utility methods relevant to Java timezones.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + + + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isUtc

          +
          public static boolean isUtc(TimeZone timezone)
          +
          Indicates whether the specified timezone is equivalent to + UTC time.
          +
          Parameters:
          timezone - a timezone instance
          +
          Returns:
          true if the timezone is UTC time, otherwise false
          +
        • +
        + + + +
          +
        • +

          getDateTimeZone

          +
          public static TimeZone getDateTimeZone()
          +
          Although timezones are not really applicable to DATE instances in iCalendar, the implementation + in iCal4j requires the use of a timezone. Dates in iCal4j may be either "floating", in that they + use the default Java timezone, or alternatively will use UTC (this is the default). + + The use of floating dates may be configured by specifying the following as a system property or in + a file called "ical4j.properties" in the classpath: + +
          net.fortuna.ical4j.timezone.date.floating=true
          +
          Returns:
          the timezone used for date instances
          +
        • +
        + + + +
          +
        • +

          getUtcTimeZone

          +
          public static TimeZone getUtcTimeZone()
          +
          Get the UTC Timezone.
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/UidGenerator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/UidGenerator.html new file mode 100644 index 00000000..670be773 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/UidGenerator.html @@ -0,0 +1,285 @@ + + + + + + +UidGenerator (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class UidGenerator

    +
    +
    + +
    +
      +
    • +
      +
      +
      public class UidGenerator
      +extends Object
      +
      $Id$ + + Created on 11/03/2007 + + Generates Uid properties in a similar fashion to that recommended in section 4.8.4.7 of the specification.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UidGenerator

          +
          public UidGenerator(String pid)
          +             throws SocketException
          +
          Parameters:
          pid - a unique process identifier for the host machine
          +
          Throws:
          +
          SocketException - where host information cannot be retrieved
          +
        • +
        + + + +
          +
        • +

          UidGenerator

          +
          public UidGenerator(HostInfo hostInfo,
          +            String pid)
          +
          Parameters:
          hostInfo - custom host information
          pid - a unique process identifier for the host machine
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          generateUid

          +
          public Uid generateUid()
          +
          Returns:
          a unique component identifier
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Uris.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Uris.html new file mode 100644 index 00000000..6f5b6507 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/Uris.html @@ -0,0 +1,326 @@ + + + + + + +Uris (iCal4j 1.0.5 API) + + + + + + + + + + + +
    +

    net.fortuna.ical4j.util

    +

    Class Uris

    +
    +
    + +
    +
      +
    • +
      +
      +
      public final class Uris
      +extends Object
      +
      $Id$ + + Created on 11/09/2005 + + Utility methods for working with URIs.
      +
      Author:
      +
      Ben Fortuna
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          INVALID_SCHEME

          +
          public static final String INVALID_SCHEME
          +
          URI Scheme used when relaxed parsing is enabled and the given input stream lead to an invalid URI.
          +
          See Also:
          Constant Field Values
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          encode

          +
          public static String encode(String s)
          +
          Encodes the specified URI string using the UTF-8 charset. In the event that an exception is thrown, the specifed + URI string is returned unmodified.
          +
          Parameters:
          s - a URI string
          +
          Returns:
          an encoded URI string
          +
        • +
        + + + +
          +
        • +

          decode

          +
          public static String decode(String s)
          +
          Decodes the specified URI string using the UTF-8 charset. In the event that an exception is thrown, the specifed + URI string is returned unmodified.
          +
          Parameters:
          s - a URI string
          +
          Returns:
          an encoded URI string
          +
        • +
        + + + +
          +
        • +

          create

          +
          public static URI create(String s)
          +                  throws URISyntaxException
          +
          Attempts to create a URI instance and will optionally swallow any resulting URISyntaxException depending on + configured CompatibilityHints. Will also automatically attempt encoding of the string representation for + greater compatibility. +

          When relaxed parsing is enabled and if the string representation is not valid, a second URI creation attempt is made + by extracting the scheme from the scheme specific part and URI encoding that later part. For example, + "mailto: joe smith@example.com" becomes "mailto:joe%20smith@example.com".

          +

          If the second attempts also leads to a URISyntaxException, an opaque URI is constructed with a scheme + of Uris.INVALID_SCHEME and a value corresponding to the initial representation.

          +
          Parameters:
          s - a string representation of a URI.
          +
          Returns:
          a URI instance, which may not correspond to the URI string if a valid + URI string is not specified and relaxed parsing is enabled.
          +
          Throws:
          +
          URISyntaxException - if a valid URI string is not specified and relaxed parsing is disabled
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Calendars.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Calendars.html new file mode 100644 index 00000000..b61c694c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Calendars.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.Calendars (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.Calendars

    +
    +
    No usage of net.fortuna.ical4j.util.Calendars
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/CompatibilityHints.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/CompatibilityHints.html new file mode 100644 index 00000000..c0dd98a7 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/CompatibilityHints.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.CompatibilityHints (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.CompatibilityHints

    +
    +
    No usage of net.fortuna.ical4j.util.CompatibilityHints
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ComponentValidator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ComponentValidator.html new file mode 100644 index 00000000..20757997 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ComponentValidator.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.ComponentValidator (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.ComponentValidator

    +
    +
    No usage of net.fortuna.ical4j.util.ComponentValidator
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Configurator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Configurator.html new file mode 100644 index 00000000..022e35ab --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Configurator.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.Configurator (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.Configurator

    +
    +
    No usage of net.fortuna.ical4j.util.Configurator
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Constants.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Constants.html new file mode 100644 index 00000000..3ee03ec2 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Constants.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.Constants (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.Constants

    +
    +
    No usage of net.fortuna.ical4j.util.Constants
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Dates.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Dates.html new file mode 100644 index 00000000..d55aba78 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Dates.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.Dates (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.Dates

    +
    +
    No usage of net.fortuna.ical4j.util.Dates
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DecoderFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DecoderFactory.html new file mode 100644 index 00000000..2eee3158 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DecoderFactory.html @@ -0,0 +1,174 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.DecoderFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.DecoderFactory

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultDecoderFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultDecoderFactory.html new file mode 100644 index 00000000..dc9de6df --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultDecoderFactory.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.DefaultDecoderFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.DefaultDecoderFactory

    +
    +
    No usage of net.fortuna.ical4j.util.DefaultDecoderFactory
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultEncoderFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultEncoderFactory.html new file mode 100644 index 00000000..a544e683 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/DefaultEncoderFactory.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.DefaultEncoderFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.DefaultEncoderFactory

    +
    +
    No usage of net.fortuna.ical4j.util.DefaultEncoderFactory
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/EncoderFactory.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/EncoderFactory.html new file mode 100644 index 00000000..59c97f0a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/EncoderFactory.html @@ -0,0 +1,174 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.EncoderFactory (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.EncoderFactory

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/HostInfo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/HostInfo.html new file mode 100644 index 00000000..52df8d79 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/HostInfo.html @@ -0,0 +1,175 @@ + + + + + + +Uses of Interface net.fortuna.ical4j.util.HostInfo (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Interface
    net.fortuna.ical4j.util.HostInfo

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/InetAddressHostInfo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/InetAddressHostInfo.html new file mode 100644 index 00000000..6961c6ef --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/InetAddressHostInfo.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.InetAddressHostInfo (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.InetAddressHostInfo

    +
    +
    No usage of net.fortuna.ical4j.util.InetAddressHostInfo
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Numbers.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Numbers.html new file mode 100644 index 00000000..77bea57f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Numbers.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.Numbers (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.Numbers

    +
    +
    No usage of net.fortuna.ical4j.util.Numbers
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ParameterValidator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ParameterValidator.html new file mode 100644 index 00000000..71e6f0fc --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ParameterValidator.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.ParameterValidator (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.ParameterValidator

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/PropertyValidator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/PropertyValidator.html new file mode 100644 index 00000000..11745f3a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/PropertyValidator.html @@ -0,0 +1,159 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.PropertyValidator (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.PropertyValidator

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ResourceLoader.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ResourceLoader.html new file mode 100644 index 00000000..5ed11d01 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/ResourceLoader.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.ResourceLoader (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.ResourceLoader

    +
    +
    No usage of net.fortuna.ical4j.util.ResourceLoader
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/SimpleHostInfo.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/SimpleHostInfo.html new file mode 100644 index 00000000..5f791e4d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/SimpleHostInfo.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.SimpleHostInfo (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.SimpleHostInfo

    +
    +
    No usage of net.fortuna.ical4j.util.SimpleHostInfo
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Strings.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Strings.html new file mode 100644 index 00000000..f7f44717 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Strings.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.Strings (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.Strings

    +
    +
    No usage of net.fortuna.ical4j.util.Strings
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/TimeZones.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/TimeZones.html new file mode 100644 index 00000000..c986e9a9 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/TimeZones.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.TimeZones (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.TimeZones

    +
    +
    No usage of net.fortuna.ical4j.util.TimeZones
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/UidGenerator.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/UidGenerator.html new file mode 100644 index 00000000..1f9d8a84 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/UidGenerator.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.UidGenerator (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.UidGenerator

    +
    +
    No usage of net.fortuna.ical4j.util.UidGenerator
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Uris.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Uris.html new file mode 100644 index 00000000..c76e000a --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/class-use/Uris.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class net.fortuna.ical4j.util.Uris (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Class
    net.fortuna.ical4j.util.Uris

    +
    +
    No usage of net.fortuna.ical4j.util.Uris
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-frame.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-frame.html new file mode 100644 index 00000000..5f76acde --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-frame.html @@ -0,0 +1,43 @@ + + + + + + +net.fortuna.ical4j.util (iCal4j 1.0.5 API) + + + + +

    net.fortuna.ical4j.util

    + + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-summary.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-summary.html new file mode 100644 index 00000000..f4d06e4d --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-summary.html @@ -0,0 +1,312 @@ + + + + + + +net.fortuna.ical4j.util (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Package net.fortuna.ical4j.util

    +

    +

    Contains utility types that provide supporting functionality for iCal4j.
    +

    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Interface Summary 
      InterfaceDescription
      HostInfo +
      Provides platform-independent host information.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      Calendars +
      $Id$ + + Created on 10/11/2006 + + Utility method for working with Calendars.
      +
      CompatibilityHints +
      $Id$ + + Created on 9/03/2006 + + A set of keys used to enable compatibility features.
      +
      ComponentValidator 
      Configurator +
      $Id$ + + Created on 06/02/2008 + + Provides configuration properties specified either as system properties + or in an ical4j.properties configuration file.
      +
      Constants +
      $Id$ + + Created on 5/07/2005 + + Provides some convenience methods for working with constant + parameters and properties.
      +
      Dates +
      $Id$ + + Created on 26/06/2005 + + Implements a collection of utility methods relevant to date processing.
      +
      DecoderFactory +
      Abstract base class for decoder factory implementations.
      +
      DefaultDecoderFactory +
      Default decoder factory implementation.
      +
      DefaultEncoderFactory +
      Default encoder factory implementation.
      +
      EncoderFactory +
      Abstract base class for encoder factory implementations.
      +
      InetAddressHostInfo 
      Numbers +
      $Id$ + + Created on 6/08/2005 + + A utility class for number processing.
      +
      ParameterValidator +
      $Id$ [15-May-2004] + + Defines methods for validating parameters and parameter + lists.
      +
      PropertyValidator +
      $Id$ [15-May-2004] + + Defines methods for validating properties and property lists.
      +
      ResourceLoader 
      SimpleHostInfo 
      Strings +
      $Id$ [23-Apr-2004] + + Utility methods for working with parameters.
      +
      TimeZones +
      $Id$ [5/07/2004] + + Utility methods relevant to Java timezones.
      +
      UidGenerator +
      $Id$ + + Created on 11/03/2007 + + Generates Uid properties in a similar fashion to that recommended in section 4.8.4.7 of the specification.
      +
      Uris +
      $Id$ + + Created on 11/09/2005 + + Utility methods for working with URIs.
      +
      +
    • +
    + + + +

    Package net.fortuna.ical4j.util Description

    +
    Contains utility types that provide supporting functionality for iCal4j.
    +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-tree.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-tree.html new file mode 100644 index 00000000..33cacf0c --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-tree.html @@ -0,0 +1,159 @@ + + + + + + +net.fortuna.ical4j.util Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Hierarchy For Package net.fortuna.ical4j.util

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +

    Interface Hierarchy

    + +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-use.html b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-use.html new file mode 100644 index 00000000..8526f2bd --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/net/fortuna/ical4j/util/package-use.html @@ -0,0 +1,179 @@ + + + + + + +Uses of Package net.fortuna.ical4j.util (iCal4j 1.0.5 API) + + + + + + + + + + +
    +

    Uses of Package
    net.fortuna.ical4j.util

    +
    +
    + +
    + + + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/overview-frame.html b/libs/ical4j-1.0.5/docs/apidocs/overview-frame.html new file mode 100644 index 00000000..fb5e0a18 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/overview-frame.html @@ -0,0 +1,28 @@ + + + + + + +Overview List (iCal4j 1.0.5 API) + + + + + + +

     

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/overview-summary.html b/libs/ical4j-1.0.5/docs/apidocs/overview-summary.html new file mode 100644 index 00000000..3d182a4f --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/overview-summary.html @@ -0,0 +1,188 @@ + + + + + + +Overview (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    iCal4j 1.0.5 API

    +
    +
    +

    +

    A Java library for reading and writing iCalendar (*.ics) files
    +

    +

    See: Description

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Packages 
    PackageDescription
    net.fortuna.ical4j.data +
    Contains types providing RFC2445 input, output and parsing functionality.
    +
    net.fortuna.ical4j.filter +
    Filtering rules that may be used on lists of components, properties or parameters.
    +
    net.fortuna.ical4j.model +
    Contains core types used to define the iCalendar model.
    +
    net.fortuna.ical4j.model.component +
    Contains types used to represent the iCalendar component model.
    +
    net.fortuna.ical4j.model.parameter +
    Contains types used to represent the iCalendar parameter model.
    +
    net.fortuna.ical4j.model.property +
    Contains types used to represent the iCalendar property model.
    +
    net.fortuna.ical4j.transform +
    Contains types used to transform an iCalendar component model according to RFC2446.
    +
    net.fortuna.ical4j.util +
    Contains utility types that provide supporting functionality for iCal4j.
    +
    +
    + + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/overview-tree.html b/libs/ical4j-1.0.5/docs/apidocs/overview-tree.html new file mode 100644 index 00000000..f9278374 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/overview-tree.html @@ -0,0 +1,454 @@ + + + + + + +Class Hierarchy (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + + +
    +

    Class Hierarchy

    + +

    Interface Hierarchy

    + +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.4/docs/apidocs/package-list b/libs/ical4j-1.0.5/docs/apidocs/package-list similarity index 100% rename from libs/ical4j-1.0.4/docs/apidocs/package-list rename to libs/ical4j-1.0.5/docs/apidocs/package-list diff --git a/libs/biweekly-0.3.1-javadoc/resources/inherit.gif b/libs/ical4j-1.0.5/docs/apidocs/resources/inherit.gif similarity index 100% rename from libs/biweekly-0.3.1-javadoc/resources/inherit.gif rename to libs/ical4j-1.0.5/docs/apidocs/resources/inherit.gif diff --git a/libs/ical4j-1.0.5/docs/apidocs/serialized-form.html b/libs/ical4j-1.0.5/docs/apidocs/serialized-form.html new file mode 100644 index 00000000..2d77bcfe --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/serialized-form.html @@ -0,0 +1,3003 @@ + + + + + + +Serialized Form (iCal4j 1.0.5 API) + + + + + + + +
    + + + + + +
    + + +
    +

    Serialized Form

    +
    +
    + +
    + +
    + + + + + +
    + + +

    Copyright © 2004-2013 Micronode. All Rights Reserved.

    + + diff --git a/libs/ical4j-1.0.5/docs/apidocs/stylesheet.css b/libs/ical4j-1.0.5/docs/apidocs/stylesheet.css new file mode 100644 index 00000000..73bab366 --- /dev/null +++ b/libs/ical4j-1.0.5/docs/apidocs/stylesheet.css @@ -0,0 +1,439 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ +* { + margin:0; + padding:0; +} +body { + font-family:Helvetica, Arial, sans-serif; + color:#000000; +} +p { + margin:20px 0; +} +pre { + font-size:1.0em; +} +h1 { + font-size:1.4em; +} +h2 { + font-size:1.35em; +} +h3 { + font-size:1.3em; +} +h4 { + font-size:1.25em; +} +ul { + margin:10px 0 10px 20px; +} +li { + list-style:disc; +} +dl dt { + font-size:0.95em; + font-weight:bold; + margin:10px 0 0 0; +} +dl dd { + margin:10px 0 10px 20px; +} +dl dd ul { + margin-left:0; +} +dl dd ul li { + list-style:none; + margin:10px 0 10px 0; +} +caption { + background: #CCCCFF; + color:#000000; + text-align: left; + font-size: 150%; + font-weight: bold; + border-left: 2px ridge; + border-right: 2px ridge; + border-top: 2px ridge; + padding-left: 5px; + width:auto; +} +/* +Document title and Copyright styles +*/ +.aboutLanguage { + float:right; + font-size:0.9em; + color:#000000; +} +.legalCopy { + margin:7px; +} +.bar { + font-size:1em; + margin:10px 0 0 10px; +} +.bar a { + font-weight:normal; +} +/* +Navigation bar styles +*/ +.topNav { + border-top:2px solid #C0C0C0; + margin:7px; + padding:7px 0; + height:2.8em; + width:99%; + min-width:600px; +} +.bottomNav { + border-top:2px solid #C0C0C0; + margin:7px; + padding:7px 0; + height:2.8em; + width:99%; +} +.subNav { + border-bottom:2px solid #C0C0C0; + float:left; + width:99%; + margin:7px; + min-width:600px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 2px; + width:100%; +} +.topNav a:link,.topNav a:active, .topNav a:visited, .topNav a:hover, +.bottomNav a:link,.bottomNav a:active, .bottomNav a:visited, .bottomNav a:hover { + color:#000000; + font-weight:bold; + text-decoration:underline; + font-size:1em; +} +/* Navigation bar list styles */ +.topNav ul.navList, .bottomNav ul.navList { + background-color:#EEEEFF; + padding:7px 5px; + margin:0; + float:left; + width:80%; +} +ul.navList li{ + list-style:none; + float:left; + padding:3px 4px; + color:#000000; + font-size:0.98em; +} +ul.navList li.navBarCell1Rev { + background-color:#00008B; + color:#FFFFFF; + font-weight:bold; + font-size:0.97em; +} +/* Sub-navigation bar list styles */ +.subNav ul.navList { + float:left; + margin:0; + font-size:0.7em; + width:350px; +} +ul.subNavList { + float:left; + margin:0; + font-size:0.7em; + width:350px; +} +ul.subNavList li{ + list-style:none; + float:left; + font-size:90%; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 7px; +} +.indexHeader { + font-size:0.9em; + margin:10px 0 7px 10px; +} +.header ul { + padding-left:20px; +} +/* Header and footer title styles */ +.header h1.title { + font-size:1.4em; + text-align:center; + margin:0; +} +.header h2.title { + font-size:1.35em; + margin:0; +} +.subTitle { + margin:0; + padding-top:10px; + font-size:0.75em; + font-weight:bold; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, +.constantValuesContainer { + clear:both; + padding:10px 10px; + position:relative; +} +.indexContainer { + padding:0 0 10px 10px; + font-size:0.9em; +} +/* +Class inheritance information styles +*/ +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + background-image:url(resources/inherit.gif); + background-repeat:no-repeat; + padding-left:15px; + padding-top:1px; +} +/* +Heading styles +*/ +.indexContainer h2 { + font-weight:normal; + font-size:1.0em; + padding:10px 0 0 0; +} +.contentContainer h2 { + margin:10px 0; +} +.constantValuesContainer h2 { + background:#CCCCFF; + border:2px ridge; + padding:3px; + margin:0 0 10px 0; +} +.serializedFormContainer ul.blockList li.blockList h2 { + background:#EEEEFF; + border:2px ridge; + padding:3px; + margin:0 0 15px 0; + text-align:center; +} +.classUseContainer ul li ul li h3 { + margin-bottom:30px; + padding:3px; +} +.serializedFormContainer ul.blockList li.blockList ul.blockList li.blockList h3 { + background:#EEEEFF; + margin:0 0 15px 0; + padding:3px; +} +.serializedFormContainer ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockList h3 { + background:#CCCCFF; + margin:0 0 15px 0; + padding:3px; + border:2px ridge; +} +ul.blockList ul.blockList li.blockList h3, ul.blockList ul.blockList li.blockList h3 { + background:#CCCCFF; + border:2px ridge; + padding-left:5px; +} +div.summary ul.blockList ul.blockList li.blockList h3 { + background:#CCCCFF; + border:0; + border:2px ridge; + padding-left:5px; +} +div.summary ul.blockList ul.blockList ul.blockList li.blockList h3 { + background:#EEEEFF; + border:0; + border-bottom:2px ridge; +} +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, +div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + font-size:1.15em; + font-weight:bold; + padding:0 0 10px 0; +} +/* +Table styles +*/ +.contentContainer table { + border-collapse: collapse ; + width:100%; +} +.contentContainer table td, .contentContainer table th { + border:2px ridge; + padding:3px; +} +/* Constant values page table styles */ +.constantValuesContainer table { + border-collapse: collapse ; + margin:0 0 10px 0; +} +.constantValuesContainer table caption{ + font-size:0.95em; + padding:3px; + background:#EEEEFF; +} +.constantValuesContainer table td, .constantValuesContainer table th { + border:2px ridge; + padding:3px; +} +/* Class-use/Package-use page table styles */ +.classUseContainer table { + border-collapse: collapse ; + width:100%; + margin:0 0 15px 0; +} +.classUseContainer ul li ul li table { + margin-bottom:30px; +} +.classUseContainer ul li ul li table caption{ + font-size:0.95em; + padding:3px; + background:#EEEEFF; +} +.classUseContainer table td, .classUseContainer table th { + border:2px ridge; + padding:3px; +} +/* Summary table styles */ +ul.blockList li.blockList table.overviewSummary { + margin:0; + margin-bottom:15px; +} +ul.blockList li.blockList table caption { + padding:3px; +} +ul.blockList li.blockList table.overviewSummary td.colFirst{ + text-align:right; +} +table.packageSummary td.colFirst, table.overviewSummary th.colFirst { + width:15%; +} +div.summary ul.blockList ul.blockList li.blockList caption { + display:none; +} +div.summary ul.blockList li.blockList ul.blockList li.blockList table.overviewSummary th { + border-top:0; +} +/* Table column block styles */ +ul.blockList li.blockList table.overviewSummary td.colLast div.block{ + padding:0; + padding-left:40px; +} +ul.blockList li.blockList table.overviewSummary td.colOne div.block{ + padding:0; + padding-left:40px; +} +.contentContainer ul.blockList li.blockList table .colOne div.block{ + padding-left:40px; +} +.classUseContainer ul li ul li table .colLast div.block, +.classUseContainer ul li ul li table .colOne div.block{ + padding-left:40px; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +/* Container specific list styles */ +.indexContainer ul { + margin:0; +} +.indexContainer ul li { + list-style:none; +} +.serializedFormContainer ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockList { + border:0; +} +.serializedFormContainer ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockList { + list-style:none; + border:0; + border-bottom:2px ridge; +} +.serializedFormContainer ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockListLast { + list-style:none; +} +/* General list styles */ +ul.blockList, ul.blockListLast { + margin-left:0; + padding-left:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:25px; +} +ul.blockList ul.blockList ul.blockList li.blockList { + border:2px ridge; +} +div.details ul.blockList ul.blockList ul.blockList li.blockList { + border:0; + border-bottom:2px ridge; +} +/* Definition list styles */ +ul.blockList li.blockList dl{ + margin-bottom:15px; +} +ul.blockList li.blockList dl dd{ + margin:0 0 0 30px; +} +ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockList dl, +ul.blockList li.blockList ul.blockList li.blockList ul.blockListLast li.blockList dl{ + padding:0 0 10px 35px; +} +dl.nameValue dt, dl.nameValue dd{ + display:inline; +} +ul.blockList li.blockList pre{ + margin:0 0 15px 0; +} +/* List content styles */ +ul.blockList li.blockList ul.blockList li.blockList pre{ + margin:10px 0 15px 0; +} +ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockList pre, +ul.blockList li.blockList ul.blockList li.blockList ul.blockListLast li.blockList pre{ + padding:0 0 10px 0; +} +ul.blockList li.blockList ul.blockList li.blockList ul.blockList li.blockList div.block, +ul.blockList li.blockList ul.blockList li.blockList ul.blockListLast li.blockList div.block{ + padding:0 0 10px 35px; +} +/* +Formatting effect styles +*/ +.strong { + font-weight:bold; +} +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} diff --git a/libs/ical4j-1.0.4/docs/css/default.css b/libs/ical4j-1.0.5/docs/css/default.css similarity index 100% rename from libs/ical4j-1.0.4/docs/css/default.css rename to libs/ical4j-1.0.5/docs/css/default.css diff --git a/libs/ical4j-1.0.4/docs/index.html b/libs/ical4j-1.0.5/docs/index.html similarity index 100% rename from libs/ical4j-1.0.4/docs/index.html rename to libs/ical4j-1.0.5/docs/index.html diff --git a/libs/ical4j-1.0.4/docs/introduction.html b/libs/ical4j-1.0.5/docs/introduction.html similarity index 100% rename from libs/ical4j-1.0.4/docs/introduction.html rename to libs/ical4j-1.0.5/docs/introduction.html diff --git a/libs/ical4j-1.0.4/docs/license.html b/libs/ical4j-1.0.5/docs/license.html similarity index 100% rename from libs/ical4j-1.0.4/docs/license.html rename to libs/ical4j-1.0.5/docs/license.html diff --git a/libs/ical4j-1.0.4/etc/FAQ b/libs/ical4j-1.0.5/etc/FAQ similarity index 100% rename from libs/ical4j-1.0.4/etc/FAQ rename to libs/ical4j-1.0.5/etc/FAQ diff --git a/libs/ical4j-1.0.4/etc/TODO b/libs/ical4j-1.0.5/etc/TODO similarity index 100% rename from libs/ical4j-1.0.4/etc/TODO rename to libs/ical4j-1.0.5/etc/TODO diff --git a/libs/ical4j-1.0.4/etc/rfc2445.txt b/libs/ical4j-1.0.5/etc/rfc2445.txt similarity index 100% rename from libs/ical4j-1.0.4/etc/rfc2445.txt rename to libs/ical4j-1.0.5/etc/rfc2445.txt diff --git a/libs/ical4j-1.0.4/etc/rfc2446.txt b/libs/ical4j-1.0.5/etc/rfc2446.txt similarity index 100% rename from libs/ical4j-1.0.4/etc/rfc2446.txt rename to libs/ical4j-1.0.5/etc/rfc2446.txt diff --git a/libs/ical4j-1.0.4/etc/samples/hcalendar/example1.html b/libs/ical4j-1.0.5/etc/samples/hcalendar/example1.html similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/hcalendar/example1.html rename to libs/ical4j-1.0.5/etc/samples/hcalendar/example1.html diff --git a/libs/ical4j-1.0.4/etc/samples/hcalendar/example1.ics b/libs/ical4j-1.0.5/etc/samples/hcalendar/example1.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/hcalendar/example1.ics rename to libs/ical4j-1.0.5/etc/samples/hcalendar/example1.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/0.ics b/libs/ical4j-1.0.5/etc/samples/invalid/0.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/0.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/0.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/13-MoonPhase.ics b/libs/ical4j-1.0.5/etc/samples/invalid/13-MoonPhase.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/13-MoonPhase.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/13-MoonPhase.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/CalendarDataFile.ics b/libs/ical4j-1.0.5/etc/samples/invalid/CalendarDataFile.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/CalendarDataFile.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/CalendarDataFile.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/boeing.ics b/libs/ical4j-1.0.5/etc/samples/invalid/boeing.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/boeing.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/boeing.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/calconnect.ics b/libs/ical4j-1.0.5/etc/samples/invalid/calconnect.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/calconnect.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/calconnect.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/core.ics b/libs/ical4j-1.0.5/etc/samples/invalid/core.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/core.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/core.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/eli_courtwright.ics b/libs/ical4j-1.0.5/etc/samples/invalid/eli_courtwright.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/eli_courtwright.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/eli_courtwright.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/eli_test.ics b/libs/ical4j-1.0.5/etc/samples/invalid/eli_test.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/eli_test.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/eli_test.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/google_aus_holidays.ics b/libs/ical4j-1.0.5/etc/samples/invalid/google_aus_holidays.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/google_aus_holidays.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/google_aus_holidays.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/groupwise.ics b/libs/ical4j-1.0.5/etc/samples/invalid/groupwise.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/groupwise.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/groupwise.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/lastfm.ics b/libs/ical4j-1.0.5/etc/samples/invalid/lastfm.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/lastfm.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/lastfm.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/multiple_calendars.ics b/libs/ical4j-1.0.5/etc/samples/invalid/multiple_calendars.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/multiple_calendars.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/multiple_calendars.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/overlaps.ics b/libs/ical4j-1.0.5/etc/samples/invalid/overlaps.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/overlaps.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/overlaps.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/phpicalendar_sample.ics b/libs/ical4j-1.0.5/etc/samples/invalid/phpicalendar_sample.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/phpicalendar_sample.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/phpicalendar_sample.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/schedule-unstable.ics b/libs/ical4j-1.0.5/etc/samples/invalid/schedule-unstable.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/schedule-unstable.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/schedule-unstable.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/smallcluster.ics b/libs/ical4j-1.0.5/etc/samples/invalid/smallcluster.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/smallcluster.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/smallcluster.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/twinkle.ics b/libs/ical4j-1.0.5/etc/samples/invalid/twinkle.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/twinkle.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/twinkle.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/twinkle_orig.ics b/libs/ical4j-1.0.5/etc/samples/invalid/twinkle_orig.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/twinkle_orig.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/twinkle_orig.ics diff --git a/libs/ical4j-1.0.4/etc/samples/invalid/zidestoreical4jbomb.ics b/libs/ical4j-1.0.5/etc/samples/invalid/zidestoreical4jbomb.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/invalid/zidestoreical4jbomb.ics rename to libs/ical4j-1.0.5/etc/samples/invalid/zidestoreical4jbomb.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/1106817412.ics b/libs/ical4j-1.0.5/etc/samples/valid/1106817412.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/1106817412.ics rename to libs/ical4j-1.0.5/etc/samples/valid/1106817412.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/2207678.ics b/libs/ical4j-1.0.5/etc/samples/valid/2207678.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/2207678.ics rename to libs/ical4j-1.0.5/etc/samples/valid/2207678.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/3.ics b/libs/ical4j-1.0.5/etc/samples/valid/3.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/3.ics rename to libs/ical4j-1.0.5/etc/samples/valid/3.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/4.ics b/libs/ical4j-1.0.5/etc/samples/valid/4.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/4.ics rename to libs/ical4j-1.0.5/etc/samples/valid/4.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/6.ics b/libs/ical4j-1.0.5/etc/samples/valid/6.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/6.ics rename to libs/ical4j-1.0.5/etc/samples/valid/6.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/7.ics b/libs/ical4j-1.0.5/etc/samples/valid/7.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/7.ics rename to libs/ical4j-1.0.5/etc/samples/valid/7.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/ArgentinaHolidays.ics b/libs/ical4j-1.0.5/etc/samples/valid/ArgentinaHolidays.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/ArgentinaHolidays.ics rename to libs/ical4j-1.0.5/etc/samples/valid/ArgentinaHolidays.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Australian32Holidays.ics b/libs/ical4j-1.0.5/etc/samples/valid/Australian32Holidays.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Australian32Holidays.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Australian32Holidays.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Australian_TV_Melbourne.ics b/libs/ical4j-1.0.5/etc/samples/valid/Australian_TV_Melbourne.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Australian_TV_Melbourne.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Australian_TV_Melbourne.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/BCP321928.ics b/libs/ical4j-1.0.5/etc/samples/valid/BCP321928.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/BCP321928.ics rename to libs/ical4j-1.0.5/etc/samples/valid/BCP321928.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Belgische32feestdagen.ics b/libs/ical4j-1.0.5/etc/samples/valid/Belgische32feestdagen.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Belgische32feestdagen.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Belgische32feestdagen.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Buddhist.ics b/libs/ical4j-1.0.5/etc/samples/valid/Buddhist.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Buddhist.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Buddhist.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Christian32Holidays.ics b/libs/ical4j-1.0.5/etc/samples/valid/Christian32Holidays.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Christian32Holidays.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Christian32Holidays.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Dryway.ics b/libs/ical4j-1.0.5/etc/samples/valid/Dryway.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Dryway.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Dryway.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/EXDATE.ics b/libs/ical4j-1.0.5/etc/samples/valid/EXDATE.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/EXDATE.ics rename to libs/ical4j-1.0.5/etc/samples/valid/EXDATE.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Earth32Seasons.ics b/libs/ical4j-1.0.5/etc/samples/valid/Earth32Seasons.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Earth32Seasons.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Earth32Seasons.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/EstoniaHolidays.ics b/libs/ical4j-1.0.5/etc/samples/valid/EstoniaHolidays.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/EstoniaHolidays.ics rename to libs/ical4j-1.0.5/etc/samples/valid/EstoniaHolidays.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Misc.History.ics b/libs/ical4j-1.0.5/etc/samples/valid/Misc.History.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Misc.History.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Misc.History.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/New Years Day.ics b/libs/ical4j-1.0.5/etc/samples/valid/New Years Day.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/New Years Day.ics rename to libs/ical4j-1.0.5/etc/samples/valid/New Years Day.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/OZMovies.ics b/libs/ical4j-1.0.5/etc/samples/valid/OZMovies.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/OZMovies.ics rename to libs/ical4j-1.0.5/etc/samples/valid/OZMovies.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Packers.ics b/libs/ical4j-1.0.5/etc/samples/valid/Packers.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Packers.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Packers.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Session6.ics b/libs/ical4j-1.0.5/etc/samples/valid/Session6.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Session6.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Session6.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/Standup.ics b/libs/ical4j-1.0.5/etc/samples/valid/Standup.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/Standup.ics rename to libs/ical4j-1.0.5/etc/samples/valid/Standup.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/SwedishHolidays2003-2006.ics b/libs/ical4j-1.0.5/etc/samples/valid/SwedishHolidays2003-2006.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/SwedishHolidays2003-2006.ics rename to libs/ical4j-1.0.5/etc/samples/valid/SwedishHolidays2003-2006.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/THFC.ics b/libs/ical4j-1.0.5/etc/samples/valid/THFC.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/THFC.ics rename to libs/ical4j-1.0.5/etc/samples/valid/THFC.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/afl2004.ics b/libs/ical4j-1.0.5/etc/samples/valid/afl2004.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/afl2004.ics rename to libs/ical4j-1.0.5/etc/samples/valid/afl2004.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/bears.ics b/libs/ical4j-1.0.5/etc/samples/valid/bears.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/bears.ics rename to libs/ical4j-1.0.5/etc/samples/valid/bears.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/blalor.ics b/libs/ical4j-1.0.5/etc/samples/valid/blalor.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/blalor.ics rename to libs/ical4j-1.0.5/etc/samples/valid/blalor.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect10.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect10.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect10.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect10.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect2.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect2.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect2.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect2.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect3.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect3.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect3.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect3.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect4.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect4.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect4.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect4.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect5.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect5.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect5.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect5.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect6.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect6.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect6.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect6.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect7.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect7.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect7.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect7.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect8.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect8.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect8.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect8.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/calconnect9.ics b/libs/ical4j-1.0.5/etc/samples/valid/calconnect9.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/calconnect9.ics rename to libs/ical4j-1.0.5/etc/samples/valid/calconnect9.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/canada.ics b/libs/ical4j-1.0.5/etc/samples/valid/canada.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/canada.ics rename to libs/ical4j-1.0.5/etc/samples/valid/canada.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/categories.ics b/libs/ical4j-1.0.5/etc/samples/valid/categories.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/categories.ics rename to libs/ical4j-1.0.5/etc/samples/valid/categories.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/classify.ics b/libs/ical4j-1.0.5/etc/samples/valid/classify.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/classify.ics rename to libs/ical4j-1.0.5/etc/samples/valid/classify.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/custom_component.ics b/libs/ical4j-1.0.5/etc/samples/valid/custom_component.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/custom_component.ics rename to libs/ical4j-1.0.5/etc/samples/valid/custom_component.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/derryn.ics b/libs/ical4j-1.0.5/etc/samples/valid/derryn.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/derryn.ics rename to libs/ical4j-1.0.5/etc/samples/valid/derryn.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/evolution.ics b/libs/ical4j-1.0.5/etc/samples/valid/evolution.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/evolution.ics rename to libs/ical4j-1.0.5/etc/samples/valid/evolution.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/friday13-NOT.ics b/libs/ical4j-1.0.5/etc/samples/valid/friday13-NOT.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/friday13-NOT.ics rename to libs/ical4j-1.0.5/etc/samples/valid/friday13-NOT.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/friday13.ics b/libs/ical4j-1.0.5/etc/samples/valid/friday13.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/friday13.ics rename to libs/ical4j-1.0.5/etc/samples/valid/friday13.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/incoming.ics b/libs/ical4j-1.0.5/etc/samples/valid/incoming.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/incoming.ics rename to libs/ical4j-1.0.5/etc/samples/valid/incoming.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/japan_west.ics b/libs/ical4j-1.0.5/etc/samples/valid/japan_west.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/japan_west.ics rename to libs/ical4j-1.0.5/etc/samples/valid/japan_west.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/korganizer-lowercase.ics b/libs/ical4j-1.0.5/etc/samples/valid/korganizer-lowercase.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/korganizer-lowercase.ics rename to libs/ical4j-1.0.5/etc/samples/valid/korganizer-lowercase.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/korganizer.ics b/libs/ical4j-1.0.5/etc/samples/valid/korganizer.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/korganizer.ics rename to libs/ical4j-1.0.5/etc/samples/valid/korganizer.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/korganizer_sample.ics b/libs/ical4j-1.0.5/etc/samples/valid/korganizer_sample.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/korganizer_sample.ics rename to libs/ical4j-1.0.5/etc/samples/valid/korganizer_sample.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/lotr-updated.ics b/libs/ical4j-1.0.5/etc/samples/valid/lotr-updated.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/lotr-updated.ics rename to libs/ical4j-1.0.5/etc/samples/valid/lotr-updated.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/lotr.ics b/libs/ical4j-1.0.5/etc/samples/valid/lotr.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/lotr.ics rename to libs/ical4j-1.0.5/etc/samples/valid/lotr.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/mansour.ics b/libs/ical4j-1.0.5/etc/samples/valid/mansour.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/mansour.ics rename to libs/ical4j-1.0.5/etc/samples/valid/mansour.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/mathBirthdays.ics b/libs/ical4j-1.0.5/etc/samples/valid/mathBirthdays.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/mathBirthdays.ics rename to libs/ical4j-1.0.5/etc/samples/valid/mathBirthdays.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/miked.ics b/libs/ical4j-1.0.5/etc/samples/valid/miked.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/miked.ics rename to libs/ical4j-1.0.5/etc/samples/valid/miked.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/multiple_calendars.ics b/libs/ical4j-1.0.5/etc/samples/valid/multiple_calendars.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/multiple_calendars.ics rename to libs/ical4j-1.0.5/etc/samples/valid/multiple_calendars.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/oracle-personal-notes-test-empty.ics b/libs/ical4j-1.0.5/etc/samples/valid/oracle-personal-notes-test-empty.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/oracle-personal-notes-test-empty.ics rename to libs/ical4j-1.0.5/etc/samples/valid/oracle-personal-notes-test-empty.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/oracle-personal-notes-test.ics b/libs/ical4j-1.0.5/etc/samples/valid/oracle-personal-notes-test.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/oracle-personal-notes-test.ics rename to libs/ical4j-1.0.5/etc/samples/valid/oracle-personal-notes-test.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/php-flp.ics b/libs/ical4j-1.0.5/etc/samples/valid/php-flp.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/php-flp.ics rename to libs/ical4j-1.0.5/etc/samples/valid/php-flp.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.4.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.4.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.4.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.4.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.1.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.1.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.1.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.1.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.2.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.2.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.2.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.2.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.3.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.3.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.3.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.3.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.4.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.4.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.4.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.4.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.5.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.5.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.5.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.5.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.6.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.6.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec3.6.6.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec3.6.6.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.1.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.1.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.1.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.1.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.2.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.2.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.2.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.2.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.3.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.3.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.3.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.3.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.4.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.4.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.4.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.4.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.5.ics b/libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.5.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/rfc5545-sec4.5.ics rename to libs/ical4j-1.0.5/etc/samples/valid/rfc5545-sec4.5.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/sunbird_sample.ics b/libs/ical4j-1.0.5/etc/samples/valid/sunbird_sample.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/sunbird_sample.ics rename to libs/ical4j-1.0.5/etc/samples/valid/sunbird_sample.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/talios.ics b/libs/ical4j-1.0.5/etc/samples/valid/talios.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/talios.ics rename to libs/ical4j-1.0.5/etc/samples/valid/talios.ics diff --git a/libs/ical4j-1.0.4/etc/samples/valid/tmeher.ics b/libs/ical4j-1.0.5/etc/samples/valid/tmeher.ics similarity index 100% rename from libs/ical4j-1.0.4/etc/samples/valid/tmeher.ics rename to libs/ical4j-1.0.5/etc/samples/valid/tmeher.ics diff --git a/libs/ical4j-1.0.4/etc/standard_deviations.txt b/libs/ical4j-1.0.5/etc/standard_deviations.txt similarity index 100% rename from libs/ical4j-1.0.4/etc/standard_deviations.txt rename to libs/ical4j-1.0.5/etc/standard_deviations.txt diff --git a/libs/ical4j-1.0.4/etc/zoneinfo-outlook-global/readme.txt b/libs/ical4j-1.0.5/etc/zoneinfo-outlook-global/readme.txt similarity index 100% rename from libs/ical4j-1.0.4/etc/zoneinfo-outlook-global/readme.txt rename to libs/ical4j-1.0.5/etc/zoneinfo-outlook-global/readme.txt diff --git a/libs/ical4j-1.0.4/etc/zoneinfo-outlook/readme.txt b/libs/ical4j-1.0.5/etc/zoneinfo-outlook/readme.txt similarity index 100% rename from libs/ical4j-1.0.4/etc/zoneinfo-outlook/readme.txt rename to libs/ical4j-1.0.5/etc/zoneinfo-outlook/readme.txt diff --git a/libs/ical4j-1.0.4/lib/backport-util-concurrent-3.1.jar b/libs/ical4j-1.0.5/lib/backport-util-concurrent-3.1.jar similarity index 100% rename from libs/ical4j-1.0.4/lib/backport-util-concurrent-3.1.jar rename to libs/ical4j-1.0.5/lib/backport-util-concurrent-3.1.jar diff --git a/libs/ical4j-1.0.5/lib/commons-codec-1.8.jar b/libs/ical4j-1.0.5/lib/commons-codec-1.8.jar new file mode 100644 index 0000000000000000000000000000000000000000..32f84c92b7bda2904ae0ff464351e2016438774d GIT binary patch literal 263865 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

    u3ZpN-*>ImFkg8&rLFZ$# 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 z89�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�?h~ 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 H%0v2pHnRMiFs8~*cB_IvZD6R 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 literal 0 HcmV?d00001 diff --git a/libs/ical4j-1.0.4/lib/groovy-all-1.8.6.jar b/libs/ical4j-1.0.5/lib/groovy-all-2.1.1.jar similarity index 51% rename from libs/ical4j-1.0.4/lib/groovy-all-1.8.6.jar rename to libs/ical4j-1.0.5/lib/groovy-all-2.1.1.jar index 89c36c78681528c97f246c931523e088213511cf..122df1df6d7b8db4c7f69da90fef512a2dcb6996 100644 GIT binary patch delta 4551299 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

    SIB(BcJX4HL^;I5-c~yak5* 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%0A2EGBhHeLX%Dl4pY9&F`3Lw;K6Y2|Hd#qT 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Ν(!7bsC2s|^lD!#Dax{?8`CXfKSv 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%0Au2rv*-YVEnr0DW86Zz1F z*wXDKj#8K{0{Ro7-D}1~h9yMkv@XuO%w3d?jgIk0xO2QtMq^93B}Yc%VW z6;j8j6^_V9j+t>ZiGX#i5@Zu~YQ=I@hO2N1psw7*C?jQLwphTAZDOg|;-&i1zeumd ze^O=?#Rw8*xGK^au7U(bMgkV(ppq3B^nQR^J@;gK?#*1v2i;7`=oX>PRiYgxYI&FI z04sBHrII=ru)tm(D}g^r5fP$Xgo)o$*M%}r%f`BuuTTWD(1j9PXpP1V+sLLYy7`it zfTQ?4(!<^;d^toqyD;o#EkV5iqi?ic@q2GyY_8dz@gyjAqILdiUa5vZ-Ew|Yvma%J z#)<0BC)#xN(!6r9d9a?twPv)Uxi80DNnjDd=^!E^I85j4HL%IAP}JYL8D$`nc7V>^ za`$2~HOc|4W5$%nU(p4hvkT*P$kh3A0C9WkJ}fL2CSTjE3P*2BGgWX9+LAp59>bW2 zwq4=jKZg1748XT%AUjg+J4H!}Pw38ubkTS}TDnFeJ0AA-@Cf5?$k;59b8>xy&?g9o zU2Jng7Lh)>*H&(iyv)suL%#IrS!92Xra?I?aP31RtY%&l{cXXl-!ca)(z1n(4?Oee zVPI~FwJNvfaeT!#v9YNc3qi*o$evdqC8x3w*wY{*_w4D?zjC~3iIaLbXu%uxa_%m% z8juC9i5woCxpaPr{F+Z(%=u*diaIoJMAv>Ugh}&9sKPt$p3$=Y9-T)xbZXArEUt@& z_gaz%{Mae|BZ}}?$6F#W0gtpC2k3QTC~~uF`{)Ci^$JI)FDRP?AZZAl?0LK$ePmQt zW7Hu(jRvVY4nLxK+u$W*Zx*f0Vn*`JRB84+T-)>f3?=^%r2ya_fH~RL4W%TA9okWR z9d>G$5IZld%5nO(9Gzp)iELJS@5=Kn$|x>pMEjm|P#Te8-YeAzRnO}K8j!e8rK+si zHyUpd;GlDU()TKE9VXS-Vk|AE{Iwx~R9eps`u+-;sVn0;2fkk)s^|+@*K?OCuMtR%=r^ALM=_(qrDvgZ zjUGAcyXaoU`}ci40$Xu{r9k&blJDma-F`U*jV=Q73kNSZPY;+sUw@T<)2>6z{5@ej zwTeL1(8#uBeM3UUeGyndURmz`oSB{cO}iCY*K5%xr@pc6*S_m@?C#g&2++Gw@wc#Vrf<%PSrB@$r@rA< zf>)-T?h?kyKLf2zwzQP|mm|!SL5&GE?c3FyLR=SNHZ`@9IrZUc$U)cy%0ABA>^01? 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

    L^z0*JqY(ur)s0qqSDKd{7N8*=r$xaT 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

    m^cO(j{Kz`8%%#}w-TlQE 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 z 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

    WUe2N$a%yHdMBn7ZLe-eCp3)zL`)bv|Z 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%0A+;0HRI1j@1>WkZ*~+x+WRS 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�KG~c}WgEmb-7e2Fl0_rNne*Lql3HZox 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

      0348IYX5(@I>+ElgDwrnww;M>+qP}np5%>f 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

      O6sor@Q+7*Ha4?fx`r@5q(kLP5Ox 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

      8FYQ29RmL3W-4pe^gUIF^+wy092$1~% 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 )pq_7 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

      5nYcSE<&J4E@Uwj2 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 z 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%0D6J4z23$S!{6pg5mW=_2Dy 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

      -Qt;nTTol}NR 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

      ^2x9`CG|?a;5AIE*_+i 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 !vkAM$e^> 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%0D0pV^7r*bVhX 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

    #j~NG8}#F({Q-1b1WUjoI2{;#XF==> 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

    sj!%S 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⪙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ô){NQ8Eb@=H<`%eX+YWdTK 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�VVJ%vvejSji$u&Q&>E8E|ZZ@BE&6ADUCU)d{%u7 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