1 /* 2 * $Id: RRule.java [Apr 6, 2004] 3 * 4 * Copyright (c) 2004, Ben Fortuna 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 11 * o Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 14 * o Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 18 * o Neither the name of Ben Fortuna nor the names of any other contributors 19 * may be used to endorse or promote products derived from this software 20 * without specific prior written permission. 21 * 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 26 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 27 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 28 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 29 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 30 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 31 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 */ 34 package net.fortuna.ical4j.model.property; 35 36 import java.text.ParseException; 37 38 import net.fortuna.ical4j.model.ParameterList; 39 import net.fortuna.ical4j.model.Property; 40 import net.fortuna.ical4j.model.Recur; 41 42 /*** 43 * Defines an RRULE iCalendar component property. 44 * 45 * @author benf 46 */ 47 public class RRule extends Property { 48 49 private Recur recur; 50 51 /*** 52 * @param aList 53 * a list of parameters for this component 54 * @param aValue 55 * a value string for this component 56 * @throws ParseException 57 * thrown when the specified string is not a valid representaton 58 * of a recurrence 59 * @see Recur#Recur(String) 60 */ 61 public RRule(final ParameterList aList, final String aValue) 62 throws ParseException { 63 this(aList, new Recur(aValue)); 64 } 65 66 /*** 67 * @param aList 68 * a list of parameters for this component 69 * @param aRecur 70 * a recurrence value 71 */ 72 public RRule(final ParameterList aList, final Recur aRecur) { 73 super(RRULE, aList); 74 75 recur = aRecur; 76 } 77 78 /*** 79 * @return Returns the recur. 80 */ 81 public final Recur getRecur() { 82 return recur; 83 } 84 85 /* 86 * (non-Javadoc) 87 * 88 * @see net.fortuna.ical4j.model.Property#getValue() 89 */ 90 public String getValue() { 91 return getRecur().toString(); 92 } 93 }