private static final Factory getInstance() { final String providerName = System.getProperty("ffi.factory"); Factory factory = null; List<String> providerNames = new ArrayList<String>(); List<Throwable> errors = new ArrayList<Throwable>(); if (providerName != null) { providerNames.add(providerName); } final String prefix = Factory.class.getPackage().getName(); providerNames.add(prefix + ".jffi.Factory"); for (String className : providerNames) { try { factory = (Factory) Class.forName(className, true, Ruby.getClassLoader()).newInstance(); break; } catch (Throwable ex) { errors.add(ex); } } if (factory == null) { StringBuilder sb = new StringBuilder(); for (Throwable t : errors) { sb.append(t.getLocalizedMessage()).append('\n'); } factory = new NoImplFactory(sb.toString()); } return factory; } }
private static final Factory getInstance() { final String providerName = System.getProperty("ffi.factory"); Factory factory = null; List<String> providerNames = new ArrayList<String>(); List<Throwable> errors = new ArrayList<Throwable>(); if (providerName != null) { providerNames.add(providerName); } final String prefix = Factory.class.getPackage().getName(); providerNames.add(prefix + ".jffi.Factory"); for (String className : providerNames) { try { factory = (Factory) Class.forName(className, true, Ruby.getClassLoader()).newInstance(); break; } catch (Throwable ex) { errors.add(ex); } } if (factory == null) { StringBuilder sb = new StringBuilder(); for (Throwable t : errors) { sb.append(t.getLocalizedMessage()).append('\n'); } factory = new NoImplFactory(sb.toString()); } return factory; } }
private static final Factory getInstance() { final String providerName = System.getProperty("ffi.factory"); Factory factory = null; List<String> providerNames = new ArrayList<String>(); List<Throwable> errors = new ArrayList<Throwable>(); if (providerName != null) { providerNames.add(providerName); } final String prefix = Factory.class.getPackage().getName(); providerNames.add(prefix + ".jffi.Factory"); for (String className : providerNames) { try { factory = (Factory) Class.forName(className, true, Ruby.getClassLoader()).newInstance(); break; } catch (Throwable ex) { errors.add(ex); } } if (factory == null) { StringBuilder sb = new StringBuilder(); for (Throwable t : errors) { sb.append(t.getLocalizedMessage()).append('\n'); } factory = new NoImplFactory(sb.toString()); } return factory; } }
private static final Factory getInstance() { final String providerName = System.getProperty("ffi.factory"); Factory factory = null; List<String> providerNames = new ArrayList<String>(); List<Throwable> errors = new ArrayList<Throwable>(); if (providerName != null) { providerNames.add(providerName); } final String prefix = Factory.class.getPackage().getName(); providerNames.add(prefix + ".jffi.Factory"); for (String className : providerNames) { try { factory = (Factory) Class.forName(className, true, Ruby.getClassLoader()).newInstance(); break; } catch (Throwable ex) { errors.add(ex); } } if (factory == null) { StringBuilder sb = new StringBuilder(); for (Throwable t : errors) { sb.append(t.getLocalizedMessage()).append('\n'); } factory = new NoImplFactory(sb.toString()); } return factory; } }