001package net.gdface.utils; 002 003import static com.google.common.base.Preconditions.checkNotNull; 004 005import com.google.common.base.Function; 006 007/** 008 * æžšä¸¾ç±»åž‹è½¬æ¢ 009 * @author guyadong 010 * 011 * @param <L> 012 * @param <R> 013 */ 014public class EnumTransformer<L extends Enum<L>,R extends Enum<R>> implements Function<L,R>{ 015 private final Class<R> right; 016 public EnumTransformer(Class<L> left, Class<R> right) { 017 checkNotNull(left,"left is null"); 018 this.right = checkNotNull(right,"right is null"); 019 } 020 @Override 021 public R apply(L input) { 022 return null == input ? null : Enum.valueOf(right, input.name()); 023 } 024}