1 8 14 package jfun.yan.containers; 15 16 import jfun.yan.Component; 17 18 27 public class ComponentTransformers { 28 37 public static ComponentTransformer seq(final ComponentTransformer t1, 38 final ComponentTransformer t2){ 39 return new SeqComponentTransformer(t1, t2); 40 } 41 private static final ComponentTransformer _singletor = new ComponentTransformer(){ 42 public Component transform(Component cc){ 43 return cc.singleton(); 44 } 45 }; 46 private static final ComponentTransformer _proxier = new ComponentTransformer(){ 47 public Component transform(Component cc){ 48 return cc.proxy(); 49 } 50 public Component transform(Object key, Component cc){ 51 if(key instanceof Class ){ 52 final Class type = (Class )key; 53 if(!type.isInterface()){ 54 return cc; 55 } 56 } 57 return transform(cc); 58 } 59 }; 60 64 public static ComponentTransformer singletor(){ 65 return _singletor; 66 } 67 72 public static ComponentTransformer proxier(){ 73 return _proxier; 74 } 75 } 76 | Popular Tags |