Tabnine Logo
JdbiImmutables
Code IndexAdd Tabnine to your IDE (free)

How to use
JdbiImmutables
in
org.jdbi.v3.core.mapper.immutables

Best Java code snippets using org.jdbi.v3.core.mapper.immutables.JdbiImmutables (Showing top 6 results out of 315)

origin: jdbi/jdbi

/**
 * Register bean arguments and row mapping for an {@code Immutable*} value class, expecting the default generated class and builder names.
 * @param spec the specification interface or abstract class
 * @param <S> the specification class
 * @return a plugin that configures type mapping for the given class
 */
public <S> JdbiImmutables registerImmutable(Class<S> spec) {
  final Class<? extends S> impl = classByPrefix("Immutable", spec);
  return registerImmutable(spec, impl, JdbiOptionals.findFirstPresent(
      () -> nullaryMethodOf(spec, "builder"),
      () -> nullaryMethodOf(impl, "builder"))
        .orElseThrow(() -> new IllegalArgumentException("Neither " + spec + " nor " + impl + " have a 'builder' method")));
}
origin: jdbi/jdbi

  @Override
  public JdbiImmutables createCopy() {
    return new JdbiImmutables();
  }
}
origin: jdbi/jdbi

/**
 * Register bean arguments and row mapping for an {@code Modifiable*} value class, expecting the default generated class and public nullary constructor.
 * @param spec the specification interface or abstract class
 * @param <S> the specification class
 * @return a plugin that configures type mapping for the given class
 */
public <S> JdbiImmutables registerModifiable(Class<S> spec) {
  final Class<? extends S> impl = classByPrefix("Modifiable", spec);
  return registerModifiable(spec, impl,
      nullaryMethodOf(impl, "create")
        .orElseGet(() -> constructorOf(impl)));
}
origin: jdbi/jdbi

@Test
public void simpleTest() {
  jdbi.getConfig(JdbiImmutables.class).registerImmutable(Train.class);
  try (Handle handle = jdbi.open()) {
    handle.execute("create table train (name varchar, carriages int, observation_car boolean)");
    assertThat(
      handle.createUpdate("insert into train(name, carriages, observation_car) values (:name, :carriages, :observationCar)")
        .bindPojo(ImmutableTrain.builder().name("Zephyr").carriages(8).observationCar(true).build())
        .execute())
      .isEqualTo(1);
    assertThat(
      handle.createQuery("select * from train")
        .mapTo(Train.class)
        .findOnly())
      .extracting("name", "carriages", "observationCar")
      .containsExactly("Zephyr", 8, true);
  }
}
// end::example[]
origin: jdbi/jdbi

/**
 * Register bean arguments and row mapping for an {@code Modifiable*} value class, using a supplied implementation and constructor.
 * @param spec the specification interface or abstract class
 * @param impl the modifiable class
 * @param constructor a supplier of new Modifiable instances
 * @param <S> the specification class
 * @param <M> the modifiable class
 * @return a plugin that configures type mapping for the given class
 */
public <S, M extends S> JdbiImmutables registerModifiable(Class<S> spec, Class<M> impl, Supplier<?> constructor) {
  return register(spec, impl, ImmutablesPropertiesFactory.modifiable(spec, impl, () -> impl.cast(constructor.get())));
}
origin: jdbi/jdbi

/**
 * Register bean arguments and row mapping for an {@code Immutable*} value class, using a supplied implementation and builder.
 * @param spec the specification interface or abstract class
 * @param impl the generated implementation class
 * @param builder a supplier of new Builder instances
 * @param <S> the specification class
 * @param <I> the implementation class
 * @return a plugin that configures type mapping for the given class
 */
public <S, I extends S> JdbiImmutables registerImmutable(Class<S> spec, Class<I> impl, Supplier<?> builder) {
  return register(spec, impl, ImmutablesPropertiesFactory.immutable(spec, builder));
}
org.jdbi.v3.core.mapper.immutablesJdbiImmutables

Javadoc

Configures support for an Immutables generated Immutable or Modifiable value type.

Most used methods

  • registerImmutable
    Register bean arguments and row mapping for an Immutable* value class, using a supplied implementati
  • <init>
  • classByPrefix
  • constructorOf
  • nullaryMethodOf
  • register
  • registerModifiable
    Register bean arguments and row mapping for an Modifiable* value class, using a supplied implementat

Popular in Java

  • Start an intent from android
  • scheduleAtFixedRate (Timer)
  • addToBackStack (FragmentTransaction)
  • getOriginalFilename (MultipartFile)
    Return the original filename in the client's filesystem.This may contain path information depending
  • DateFormat (java.text)
    Formats or parses dates and times.This class provides factories for obtaining instances configured f
  • Hashtable (java.util)
    A plug-in replacement for JDK1.5 java.util.Hashtable. This version is based on org.cliffc.high_scale
  • Set (java.util)
    A Set is a data structure which does not allow duplicate elements.
  • Stack (java.util)
    Stack is a Last-In/First-Out(LIFO) data structure which represents a stack of objects. It enables u
  • Executors (java.util.concurrent)
    Factory and utility methods for Executor, ExecutorService, ScheduledExecutorService, ThreadFactory,
  • Scheduler (org.quartz)
    This is the main interface of a Quartz Scheduler. A Scheduler maintains a registry of org.quartz.Job
  • Top Vim plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now