1 /* 2 * $Id: Resources.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 net.fortuna.ical4j.model.Parameter; 37 import net.fortuna.ical4j.model.ParameterList; 38 import net.fortuna.ical4j.model.Property; 39 import net.fortuna.ical4j.model.ResourceList; 40 import net.fortuna.ical4j.model.ValidationException; 41 import net.fortuna.ical4j.util.ParameterValidator; 42 43 /*** 44 * Defines a RESOURCES iCalendar component property. 45 * 46 * @author benf 47 */ 48 public class Resources extends Property { 49 50 private ResourceList resources; 51 52 /*** 53 * @param aList 54 * a list of parameters for this component 55 * @param aValue 56 * a value string for this component 57 */ 58 public Resources(final ParameterList aList, final String aValue) { 59 this(aList, new ResourceList(aValue)); 60 } 61 62 /*** 63 * @param aList 64 * a list of parameters for this component 65 * @param rList 66 * a list of resources 67 */ 68 public Resources(final ParameterList aList, final ResourceList rList) { 69 super(RESOURCES, aList); 70 71 resources = rList; 72 } 73 74 /*** 75 * @see net.fortuna.ical4j.model.Property#validate() 76 */ 77 public final void validate() throws ValidationException { 78 79 /* 80 * ; the following are optional, ; but MUST NOT occur more than once 81 * 82 * (";" altrepparam) / (";" languageparam) / 83 */ 84 ParameterValidator.getInstance().validateOneOrLess(Parameter.ALTREP, 85 getParameters()); 86 ParameterValidator.getInstance().validateOneOrLess(Parameter.LANGUAGE, 87 getParameters()); 88 89 /* 90 * ; the following is optional, ; and MAY occur more than once 91 * 92 * (";" xparam) 93 */ 94 } 95 96 /*** 97 * @return Returns the resources. 98 */ 99 public final ResourceList getResources() { 100 return resources; 101 } 102 103 /* 104 * (non-Javadoc) 105 * 106 * @see net.fortuna.ical4j.model.Property#getValue() 107 */ 108 public String getValue() { 109 return getResources().toString(); 110 } 111 }