All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.objectos.way.sql.JoinInfoBuilderPojo Maven / Gradle / Ivy

package br.com.objectos.way.sql;

import com.google.common.base.Optional;

@javax.annotation.Generated("br.com.objectos.way.auto.pojo.AutoPojoProcessor")
final class JoinInfoBuilderPojo
    implements 
    JoinInfoBuilder, 
    JoinInfoBuilder.JoinInfoBuilderLeft, 
    JoinInfoBuilder.JoinInfoBuilderKind, 
    JoinInfoBuilder.JoinInfoBuilderRight, 
    JoinInfoBuilder.JoinInfoBuilderCondition { 

  private CanBeJoined left;
  private JoinKind kind;
  private CanBeJoined right;
  private Optional condition;
  
  public JoinInfoBuilderPojo() {
  }
  
  @Override
  public JoinInfo build() {
    return new JoinInfoPojo(this);
  }

  @Override
  public JoinInfoBuilderLeft left(CanBeJoined left) {  
    if (left == null) {
      throw new NullPointerException();
    }
    this.left = left;
    return this;
  }
  
  @Override
  public JoinInfoBuilderKind kind(JoinKind kind) {  
    if (kind == null) {
      throw new NullPointerException();
    }
    this.kind = kind;
    return this;
  }
  
  @Override
  public JoinInfoBuilderRight right(CanBeJoined right) {  
    if (right == null) {
      throw new NullPointerException();
    }
    this.right = right;
    return this;
  }
  
  @Override
  public JoinInfoBuilderCondition condition(Optional condition) {  
    if (condition == null) {
      throw new NullPointerException();
    }
    this.condition = condition;
    return this;
  }
  
  CanBeJoined left() {
    return left;
  }
  
  JoinKind kind() {
    return kind;
  }
  
  CanBeJoined right() {
    return right;
  }
  
  Optional condition() {
    return condition;
  }
  
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy