Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011 Objectos, Fábrica de Software LTDA.
   *
   * Licensed under the Apache License, Version 2.0 (the "License"); you may not
   * use this file except in compliance with the License. You may obtain a copy of
   * the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  * License for the specific language governing permissions and limitations under
  * the License.
  */
 package br.com.objectos.way.relational;
 
 import static com.google.common.collect.Lists.newArrayList;
 
 import java.util.List;
 

Author(s):
marcio.endo@objectos.com.br (Marcio Endo)
 
 abstract class NativeSqlImpl implements NativeSql {
 
   private final NativeSqlExec exec;
 
   private final List<Stringparts;
   private final List<ParamValue<?>> params;
 
   private ResultSetLoader<?> loader;
   private int index;
 
 
   public NativeSqlImpl(NativeSqlExec exec) {
     this. = exec;
      = newArrayList();
      = newArrayList();
   }
 
     this. = exec;
      = sql.getParts();
      = sql.getParams();
   }
 
   @Override
   public NativeSql add(String string) {
     Preconditions.checkNotNull(string"SQL part cannot be null");
     .add(string);
 
     return this;
   }
 
   @Override
   public NativeSql add(String templateObject... args) {
     Preconditions.checkNotNull(template"template cannot be null");
     String string = String.format(templateargs);
     return add(string);
   }
 
   @Override
   public AddIf addIf(final String string) {
     return new AddIf() {
       @Override
       public NativeSql isTrue(boolean param) {
         if (param) {
           add(string);
         }
 
         return NativeSqlImpl.this;
       }
 
       @Override
       public NativeSql paramNotNull(Object param) {
         if (param != null && !"".equals(param)) {
           add(string);
           param(param);
         }
 
         return NativeSqlImpl.this;
       }
     };
   }
 
   @Override
   public AddIf addIf(String templateObject... args) {
    Preconditions.checkNotNull(template"template cannot be null");
    String string = String.format(templateargs);
    return addIf(string);
  }
  public NativeSql param(Object value) {
    Preconditions.checkNotNull(value"param cannot be null");
    ParamValue<?> param = ParamValue.valueOf(++value);
    .add(param);
    return this;
  }
  public NativeSql andLoadWith(ResultSetLoader<?> loader) {
    this. = loader;
    return this;
  }
  public NativeSql onGeneratedKey(GeneratedKeyCallback keyCallback) {
    this. = keyCallback;
    return this;
  }
  public NativeSqlImpl limit(Page page) {
    return this;
  }
  public int execute() {
    return .execute(this);
  }
  public <T> java.util.Optional<T> findFirst() {
    T maybe = single();
    return java.util.Optional.ofNullable(maybe);
  }
  public void insert() {
    .insert(this);
  }
  public <T> Iterator<T> iterate() {
    return .iterate(this);
  }
  public <T> List<T> list() {
    return .list(this);
  }
  public <T> List<T> listPage(Page page) {
    return .listPage(thispage);
  }
  public <T> Optional<T> maybe() {
    T maybe = single();
    return Optional.fromNullable(maybe);
  }
  public <T> T single() {
    return .single(this);
  }
  public <T> Stream<T> stream() {
    return .stream(this);
  }
    PreparedStatementWrapper wrapper = new PreparedStatementWrapper(stmt);
    for (ParamValue<?> param : ) {
      param.set(wrapper);
    }
    stmt.addBatch();
    return stmt;
  }
  public PreparedStatement prepare(Connection connectionthrows SQLException {
    String sql = toString();
    PreparedStatementWrapper wrapper = new PreparedStatementWrapper(stmt);
    for (ParamValue<?> param : ) {
      param.set(wrapper);
    }
    return stmt;
  }
  public PreparedStatement prepare(Connection connectionint modethrows SQLException {
    String sql = toString();
    PreparedStatement stmt = connection.prepareStatement(sqlmode);
    PreparedStatementWrapper wrapper = new PreparedStatementWrapper(stmt);
    for (ParamValue<?> param : ) {
      param.set(wrapper);
    }
    return stmt;
  }
    return ;
  }
  public ResultSetLoader<?> getLoader() {
    return ;
  }
  public String toString() {
    return Joiner.on("\n").join();
  }
New to GrepCode? Check out our FAQ X