Coverage Report - com.mattunderscore.filter.contentnegotiation.variantsource.VariantSAXHandler
 
Classes in this File Line Coverage Branch Coverage Complexity
VariantSAXHandler
50%
1/2
N/A
1.5
 
 1  
 /* Copyright © 2013 Matthew Champion
 2  
 All rights reserved.
 3  
 
 4  
 Redistribution and use in source and binary forms, with or without
 5  
 modification, are permitted provided that the following conditions are met:
 6  
  * Redistributions of source code must retain the above copyright
 7  
       notice, this list of conditions and the following disclaimer.
 8  
  * Redistributions in binary form must reproduce the above copyright
 9  
       notice, this list of conditions and the following disclaimer in the
 10  
       documentation and/or other materials provided with the distribution.
 11  
  * Neither the name of mattunderscore.com nor the
 12  
       names of its contributors may be used to endorse or promote products
 13  
       derived from this software without specific prior written permission.
 14  
 
 15  
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 16  
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 17  
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 18  
 DISCLAIMED. IN NO EVENT SHALL MATTHEW CHAMPION BE LIABLE FOR ANY
 19  
 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 20  
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 21  
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 22  
 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 23  
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 24  
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
 25  
 
 26  
 package com.mattunderscore.filter.contentnegotiation.variantsource;
 27  
 
 28  
 import java.util.List;
 29  
 
 30  
 import javax.xml.validation.Schema;
 31  
 
 32  
 import org.xml.sax.helpers.DefaultHandler;
 33  
 
 34  
 import com.mattunderscore.filter.contentnegotiation.parser.Variant;
 35  
 
 36  
 /**
 37  
  * A SAX handler that creates a list of {@link Variant} objects from XML. It also optionally returns
 38  
  * an XML schema that can be used to verify the XML file.
 39  
  * 
 40  
  * @author Matt Champion
 41  
  * @since 0.2.0
 42  
  */
 43  34
 public abstract class VariantSAXHandler extends DefaultHandler
 44  
 {
 45  
     /**
 46  
      * Returns the variants created by the parser.
 47  
      * 
 48  
      * @return List of variants
 49  
      * @since 0.2.0
 50  
      */
 51  
     public abstract List<Variant> getVariants();
 52  
 
 53  
     /**
 54  
      * Return the schema that will be used by the BaseVariantXMLSource to verify the XML input. This
 55  
      * method should throw a NoSchemaException if no validation is required.
 56  
      * 
 57  
      * @throws NoSchemaException Exception thrown if no schema is available
 58  
      * @return The XML Schema
 59  
      * @since 0.2.3
 60  
      */
 61  
     public Schema getSchema() throws NoSchemaException
 62  
     {
 63  0
         throw new NoSchemaException();
 64  
     }
 65  
 }