Coverage Report - org.yaml.snakeyaml.extensions.compactnotation.PackageCompactConstructor
 
Classes in this File Line Coverage Branch Coverage Complexity
PackageCompactConstructor
100%
8/8
100%
2/2
2.5
 
 1  
 /**
 2  
  * Copyright (c) 2008-2012, http://www.snakeyaml.org
 3  
  *
 4  
  * Licensed under the Apache License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  *     http://www.apache.org/licenses/LICENSE-2.0
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.yaml.snakeyaml.extensions.compactnotation;
 17  
 
 18  
 public class PackageCompactConstructor extends CompactConstructor {
 19  
     private String packageName;
 20  
 
 21  15
     public PackageCompactConstructor(String packageName) {
 22  15
         this.packageName = packageName;
 23  15
     }
 24  
 
 25  
     @Override
 26  
     protected Class<?> getClassForName(String name) throws ClassNotFoundException {
 27  25
         if (name.indexOf('.') < 0) {
 28  
             try {
 29  22
                 Class<?> clazz = Class.forName(packageName + "." + name);
 30  21
                 return clazz;
 31  1
             } catch (ClassNotFoundException e) {
 32  
                 // use super implementation
 33  
             }
 34  
         }
 35  4
         return super.getClassForName(name);
 36  
     }
 37  
 }