Coverage Report - org.webslinger.resolver.ArrayResolver
 
Classes in this File Line Coverage Branch Coverage Complexity
ArrayResolver
0%
0/17
0%
0/3
0
 
 1  
 package org.webslinger.resolver;
 2  
 
 3  
 import java.lang.reflect.Array;;
 4  
 
 5  0
 public final class ArrayResolver<T> extends ContainingResolver<T[]> {
 6  
     private final Class<T> type;
 7  
 
 8  0
     public ArrayResolver(Class<T> type) {
 9  0
         this.type = type;
 10  0
     }
 11  
 
 12  
     public boolean contains(T[] object, String name) {
 13  0
         int i = Integer.parseInt(name);
 14  0
         return 0 <= i && i < object.length;
 15  
     }
 16  
 
 17  
     public Object get(T[] object, String name) {
 18  0
         return object[Integer.parseInt(name)];
 19  
     }
 20  
 
 21  
     public void set(T[] object, String name, Object value) {
 22  0
         object[Integer.parseInt(name)] = type.cast(value);
 23  0
     }
 24  
 
 25  
     public String[] list(T[] object) {
 26  0
         String[] keys = new String[object.length];
 27  0
         for (int i = 0; i < keys.length; i++) {
 28  0
             keys[i] = Integer.toString(i);
 29  
         }
 30  0
         return keys;
 31  
     }
 32  
 
 33  
     public boolean hasChildren(T[] object) {
 34  0
         return true;
 35  
     }
 36  
 
 37  
     public Class getType(T[] object, String name) {
 38  0
         Object value = get(object, name);
 39  0
         if (value == null) return Void.TYPE;
 40  0
         return value.getClass();
 41  
     }
 42  
 }