/** * Register a new {@link TypeConverterBuilder}. If a {@link TypeConverter} * wraps a Class that is already mapped, the last registered * {@link TypeConverter} will be used. * * @param typeConverterBuilder * @throws OrmConfigurationException */ @Override public void register(final TypeConverterBuilder<?, ?> typeWrapperBuilder) { serviceCatalog.getTypeFactory().addTypeConverter(typeWrapperBuilder); }
@Override public TypeConverterFactory getTypeFactory() { return new TypeConverterFactory(); }
@Override public int[] batchUpdate(final String sql, final Stream<Object[]> args) throws JpoException { return sqlPerformerStrategy.batchUpdate(sql, args.map(values -> { Object[] unwrappedValues = new Object[values.length]; for (int i=0; i<values.length; i++) { Object object = values[i]; if (object!=null) { TypeConverterJdbcReady<Object, Object> typeWrapper = (TypeConverterJdbcReady<Object, Object>) typeFactory.getTypeConverter(object.getClass()); unwrappedValues[i] = typeWrapper.toJdbcType(object); } } return unwrappedValues; })); }
@Override public void set(final PreparedStatement ps) throws SQLException { if (logger.isDebugEnabled()) { logger.debug("Query params: " + Arrays.asList(args)); //$NON-NLS-1$ } int index = 0; for (Object object : args) { if (object!=null) { TypeConverterJdbcReady<Object, Object> typeWrapper = (TypeConverterJdbcReady<Object, Object>) typeFactory.getTypeConverter(object.getClass()); typeWrapper.getJdbcIO().setValueToPreparedStatement( typeWrapper.toJdbcType(object) , ps, ++index); } else { ps.setObject(++index, object); } } } }
/** * Register a new {@link TypeConverter}. If a {@link TypeConverter} wraps a * Class that is already mapped, the last registered {@link TypeConverter} * will be used. * * @param typeConverter * @throws OrmConfigurationException */ @Override public void register(final TypeConverter<?, ?> typeWrapper) { serviceCatalog.getTypeFactory().addTypeConverter(typeWrapper); }
@Override public TypeConverterFactory getTypeFactory() { return new TypeConverterFactory(() -> new DefaultJsonService()); }
@Override public void set(final PreparedStatement ps) throws SQLException { if (logger.isDebugEnabled()) { logger.debug("Query params: " + args); //$NON-NLS-1$ } int index = 0; for (Object object : args) { if (object!=null) { TypeConverterJdbcReady<Object, Object> typeWrapper = (TypeConverterJdbcReady<Object, Object>) typeFactory.getTypeConverter(object.getClass()); typeWrapper.getJdbcIO().setValueToPreparedStatement( typeWrapper.toJdbcType(object) , ps, ++index); } else { ps.setObject(++index, object); } } }
@Override public synchronized JPOConfig register(final TypeConverter<?, ?> typeWrapper) { getTypeFactory().addTypeConverter(typeWrapper); return this; }
public ServiceCatalogImpl() { typeFactory = new TypeConverterFactory(() -> getJsonService()); configService = new ConfigServiceImpl(); classToolMap = new ClassToolMapImpl(new PersistorFactory(typeFactory)); validatorService = new NullValidatorService(); propertiesFactory = new PropertiesFactory(); asyncTaskExecutor = new ThreadPoolAsyncTaskExecutor(10); jsonService = new DefaultJsonService(); }
@SuppressWarnings("unchecked") protected void setToStatement(final int index, final Object value, final Statement statement) { if (value != null) { final TypeConverter<Object, Object> typeWrapper = (TypeConverter<Object, Object>) getTypeFactory().getTypeConverter(value.getClass()); typeWrapper.getJdbcIO().setValueToPreparedStatement(typeWrapper.toJdbcType(value), statement, index); } else { statement.setObject(index, value); } }
@Override public synchronized JPOConfig register(final TypeConverterBuilder<?, ?> typeWrapperBuilder) { getTypeFactory().addTypeConverter(typeWrapperBuilder); return this; }
private void init(final JPOConfig jpOrm) { typeFactory = new TypeConverterFactory(); classToolMap = new ClassToolMapImpl(jpOrm); dbProfile = new UnknownDBProfile(); validatorService = new NullValidatorService(); cacheManager = new SimpleCacheManager(); propertiesFactory = new PropertiesFactory(); cacheStrategy = new CacheStrategyImpl(this); session = new SessionImpl(this, new NullSessionProvider()); crudQueryCache = new SqlCacheImpl(); sessionProvider = new NullSessionProvider(); asyncTaskExecutor = new ThreadPoolAsyncTaskExecutor(10); queryExecutionStrategy = new QueryExecutionStrategySimpleUpdate(); }
/** * Register a new {@link TypeConverter}. If a {@link TypeConverter} wraps a * Class that is already mapped, the last registered {@link TypeConverter} * will be used. * * @param typeConverter * @throws OrmConfigurationException */ @SuppressWarnings("unchecked") public T register(final TypeConverter<?, ?> typeWrapper) { getTypeFactory().addTypeConverter(typeWrapper); return (T) this; }
/** * Register a new {@link TypeConverterBuilder}. If a {@link TypeConverter} * wraps a Class that is already mapped, the last registered * {@link TypeConverter} will be used. * * @param typeConverterBuilder * @throws OrmConfigurationException */ @SuppressWarnings("unchecked") public T register(final TypeConverterBuilder<?, ?> typeWrapperBuilder) { getTypeFactory().addTypeConverter(typeWrapperBuilder); return (T) this; }