src/net/fortuna/ical4j/model/component/CalendarComponent.java

Tue, 10 Feb 2015 19:58:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 10 Feb 2015 19:58:00 +0100
changeset 4
45d57ecba757
permissions
-rw-r--r--

Upgrade the upgraded ical4j component to use org.apache.commons.lang3.

     1 /**
     2  * Copyright (c) 2012, Ben Fortuna
     3  * All rights reserved.
     4  *
     5  * Redistribution and use in source and binary forms, with or without
     6  * modification, are permitted provided that the following conditions
     7  * are met:
     8  *
     9  *  o Redistributions of source code must retain the above copyright
    10  * notice, this list of conditions and the following disclaimer.
    11  *
    12  *  o Redistributions in binary form must reproduce the above copyright
    13  * notice, this list of conditions and the following disclaimer in the
    14  * documentation and/or other materials provided with the distribution.
    15  *
    16  *  o Neither the name of Ben Fortuna nor the names of any other contributors
    17  * may be used to endorse or promote products derived from this software
    18  * without specific prior written permission.
    19  *
    20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    31  */
    32 package net.fortuna.ical4j.model.component;
    34 import net.fortuna.ical4j.model.Component;
    35 import net.fortuna.ical4j.model.PropertyList;
    36 import net.fortuna.ical4j.model.ValidationException;
    37 import net.fortuna.ical4j.model.Validator;
    38 import net.fortuna.ical4j.model.property.Method;
    40 /**
    41  * $Id$
    42  *
    43  * Created on 26/02/2006
    44  *
    45  * Base class for components that may be added to a calendar.
    46  * @author Ben Fortuna
    47  */
    48 public abstract class CalendarComponent extends Component {
    50     /**
    51      * 
    52      */
    53     private static final long serialVersionUID = -5832972592377720592L;
    55     /**
    56      * Validator instance that does nothing.
    57      */
    58     protected static final Validator EMPTY_VALIDATOR = new EmptyValidator();
    60     /**
    61      * @param name component name
    62      */
    63     public CalendarComponent(final String name) {
    64         super(name);
    65     }
    67     /**
    68      * @param name component name
    69      * @param properties component properties
    70      */
    71     public CalendarComponent(final String name, final PropertyList properties) {
    72         super(name, properties);
    73     }
    75     /**
    76      * Performs method-specific ITIP validation.
    77      * @param method the applicable method
    78      * @throws ValidationException where the component does not comply with RFC2446
    79      */
    80     public final void validate(Method method) throws ValidationException {
    81         final Validator validator = getValidator(method);
    82         if (validator != null) {
    83             validator.validate();
    84         }
    85         else {
    86             throw new ValidationException("Unsupported method: " + method);
    87         }
    88     }
    90     /**
    91      * @param method a method to validate on
    92      * @return a validator for the specified method or null if the method is not supported
    93      */
    94     protected abstract Validator getValidator(Method method);
    96     /**
    97      * Apply validation for METHOD=PUBLISH.
    98      * @throws ValidationException where the component does not comply with RFC2446
    99      * @deprecated
   100      */
   101     public final void validatePublish() throws ValidationException {
   102         validate(Method.PUBLISH);
   103     }
   105     /**
   106      * Apply validation for METHOD=REQUEST.
   107      * @throws ValidationException where the component does not comply with RFC2446
   108      * @deprecated
   109      */
   110     public final void validateRequest() throws ValidationException {
   111         validate(Method.REQUEST);
   112     }
   114     /**
   115      * Apply validation for METHOD=REPLY.
   116      * @throws ValidationException where the component does not comply with RFC2446
   117      * @deprecated
   118      */
   119     public final void validateReply() throws ValidationException {
   120         validate(Method.REPLY);
   121     }
   123     /**
   124      * Apply validation for METHOD=ADD.
   125      * @throws ValidationException where the component does not comply with RFC2446
   126      * @deprecated
   127      */
   128     public final void validateAdd() throws ValidationException {
   129         validate(Method.ADD);
   130     }
   132     /**
   133      * Apply validation for METHOD=CANCEL.
   134      * @throws ValidationException where the component does not comply with RFC2446
   135      * @deprecated
   136      */
   137     public final void validateCancel() throws ValidationException {
   138         validate(Method.CANCEL);
   139     }
   141     /**
   142      * Apply validation for METHOD=REFRESH.
   143      * @throws ValidationException where the component does not comply with RFC2446
   144      * @deprecated
   145      */
   146     public final void validateRefresh() throws ValidationException {
   147         validate(Method.REFRESH);
   148     }
   150     /**
   151      * Apply validation for METHOD=COUNTER.
   152      * @throws ValidationException where the component does not comply with RFC2446
   153      * @deprecated
   154      */
   155     public final void validateCounter() throws ValidationException {
   156         validate(Method.COUNTER);
   157     }
   159     /**
   160      * Apply validation for METHOD=DECLINE-COUNTER.
   161      * @throws ValidationException where the component does not comply with RFC2446
   162      * @deprecated
   163      */
   164     public final void validateDeclineCounter() throws ValidationException {
   165         validate(Method.DECLINE_COUNTER);
   166     }
   168     private static class EmptyValidator implements Validator {
   170 		private static final long serialVersionUID = 1L;
   172         public void validate() throws ValidationException {
   173             // TODO Auto-generated method stub
   175         }
   176     }
   177 }

mercurial