package com.brightgenerous.zxing.deleg.javase; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import com.brightgenerous.zxing.DecodeArguments; import com.brightgenerous.zxing.javase.BufferedImageDecodeArguments; import com.google.zxing.LuminanceSource; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; class LuminanceSourceCreaterImpl implements LuminanceSourceCreater { { check(); } private static void check() { try { Class.forName(ImageIO.class.getName()); Class.forName(BufferedImage.class.getName()); Class.forName(BufferedImageLuminanceSource.class.getName()); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } @Override public boolean useful(DecodeArguments args) { if (args == null) { return false; } if (args instanceof BufferedImageDecodeArguments) { return true; } return false; } @Override public LuminanceSource create(DecodeArguments args) { if ((args != null) && (args instanceof BufferedImageDecodeArguments)) { return new BufferedImageLuminanceSource( ((BufferedImageDecodeArguments) args).getBufferedImage()); } return null; } }