1 16 package org.apache.commons.betwixt.strategy; 17 18 import java.util.ArrayList ; 19 import java.util.Iterator ; 20 21 33 public class ListedClassNormalizer extends ClassNormalizer { 34 35 36 private ArrayList normalizations = new ArrayList (); 37 38 private boolean strickCheck = false; 39 40 46 public boolean isStrickCheck() { 47 return strickCheck; 48 } 49 50 57 public void setStrickCheck(boolean strickCheck) { 58 this.strickCheck = strickCheck; 59 } 60 61 67 public void addSubstitution( Class match, Class substitute ) { 68 normalizations.add( new ListEntry( match, substitute )); 69 } 70 71 78 public void addSubstitution( Class substitute ) { 79 addSubstitution( substitute, substitute ); 80 } 81 82 94 public Class normalize( Class clazz ) { 95 Iterator it = normalizations.iterator(); 96 while ( it.hasNext() ) { 97 ListEntry entry = (ListEntry) it.next(); 98 if ( strickCheck ) { 99 if ( entry.match.equals( clazz ) ) { 100 return entry.substitute; 101 } 102 } else { 103 if ( entry.match.isAssignableFrom( clazz )) { 104 return entry.substitute; 105 } 106 } 107 } 108 109 return clazz; 110 } 111 112 113 private class ListEntry { 114 115 Class match; 116 117 Class substitute; 118 119 124 ListEntry( Class match, Class substitute ) { 125 this.match = match; 126 this.substitute = substitute; 127 } 128 } 129 } 130 | Popular Tags |