@Override @SuppressWarnings("unchecked") public <L,R>IBeanConverter<L,R>getBeanConverter(Class<L> lClass,Class<R> rClass){ int index = getIndex(lClass, rClass); if(index<0){ throw new IllegalArgumentException( String.format("not found converter for (%s,%s)" ,null==lClass?"null":lClass.getSimpleName() ,null==rClass?"null":rClass.getSimpleName())); } return (IBeanConverter<L, R>) CONVERTERS.get(index)[2]; }
@Override @SuppressWarnings("unchecked") public <L,R>IBeanConverter<L,R>getBeanConverter(Class<L> lClass,Class<R> rClass){ int index = getIndex(lClass, rClass); if(index<0){ throw new IllegalArgumentException( String.format("not found converter for (%s,%s)" ,null==lClass?"null":lClass.getSimpleName() ,null==rClass?"null":rClass.getSimpleName())); } return (IBeanConverter<L, R>) CONVERTERS.get(index)[2]; }
@Override public <L,R>void setBeanConverter(Class<L> lClass,Class<R> rClass,IBeanConverter<L,R>converter){ if(null == lClass || null == rClass || null == converter){ throw new NullPointerException(); } synchronized(this){ Object[] c = new Object[]{lClass,rClass,converter}; int index = getIndex(lClass, rClass); if(index<0){ CONVERTERS.add(c); }else{ CONVERTERS.set(index, c); } } } @Override
@Override public <L,R>void setBeanConverter(Class<L> lClass,Class<R> rClass,IBeanConverter<L,R>converter){ if(null == lClass || null == rClass || null == converter){ throw new NullPointerException(); } synchronized(this){ Object[] c = new Object[]{lClass,rClass,converter}; int index = getIndex(lClass, rClass); if(index<0){ CONVERTERS.add(c); }else{ CONVERTERS.set(index, c); } } } @Override