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

br.com.objectos.way.orm.compiler.OrmPojoInfoPojo Maven / Gradle / Ivy

The newest version!
package br.com.objectos.way.orm.compiler;

import br.com.objectos.way.lazy.Lazy;
import br.com.objectos.way.pojo.plugin.PojoInfo;
import br.com.objectos.way.testable.Equality;
import br.com.objectos.way.testable.Tester;
import com.squareup.javapoet.ParameterSpec;
import java.util.List;
import javax.annotation.Generated;

@Generated({
    "br.com.objectos.way.lazy.LazyPojoPlugin",
    "br.com.objectos.way.pojo.compiler.PojoCompiler",
    "br.com.objectos.way.pojo.plugin.StandardPojoPropertyAction",
    "br.com.objectos.way.testable.TestablePlugin"
})
final class OrmPojoInfoPojo extends OrmPojoInfo {
  private static final Tester ___TESTER___ = Tester.of(OrmPojoInfo.class)
      .add("pojoInfo", o -> o.pojoInfo())
      .add("propertyList", o -> o.propertyList())
      .add("columnPropertyList", o -> o.columnPropertyList())
      .add("foreignKeyPropertyList", o -> o.foreignKeyPropertyList())
      .add("queryMethodList", o -> o.queryMethodList())
      .add("tableInfoMap", o -> o.tableInfoMap())
      .add("insertable", o -> o.insertable())
      .build();

  private final PojoInfo pojoInfo;

  private final List propertyList;

  private final List columnPropertyList;

  private final List foreignKeyPropertyList;

  private final List queryMethodList;

  private final TableInfoMap tableInfoMap;

  private final OrmInsertable insertable;

  private final Lazy> constructorContextList = new LazyConstructorContextList();

  private final Lazy> foreignKeyParameterSpecList = new LazyForeignKeyParameterSpecList();

  private final Lazy inject = new LazyInject();

  public OrmPojoInfoPojo(OrmPojoInfoBuilderPojo builder) {
    super();
    pojoInfo = builder.___get___pojoInfo();
    propertyList = builder.___get___propertyList();
    columnPropertyList = builder.___get___columnPropertyList();
    foreignKeyPropertyList = builder.___get___foreignKeyPropertyList();
    queryMethodList = builder.___get___queryMethodList();
    tableInfoMap = builder.___get___tableInfoMap();
    insertable = builder.___get___insertable();
  }

  @Override
  public Equality isEqualTo(Object that) {
    return ___TESTER___.test(this, that);
  }

  @Override
  PojoInfo pojoInfo() {
    return pojoInfo;
  }

  @Override
  List propertyList() {
    return propertyList;
  }

  @Override
  List columnPropertyList() {
    return columnPropertyList;
  }

  @Override
  List foreignKeyPropertyList() {
    return foreignKeyPropertyList;
  }

  @Override
  List queryMethodList() {
    return queryMethodList;
  }

  @Override
  TableInfoMap tableInfoMap() {
    return tableInfoMap;
  }

  @Override
  OrmInsertable insertable() {
    return insertable;
  }

  @Override
  public List constructorContextList() {
    return constructorContextList.get();
  }

  @Override
  public List foreignKeyParameterSpecList() {
    return foreignKeyParameterSpecList.get();
  }

  @Override
  public OrmInject inject() {
    return inject.get();
  }

  private class LazyConstructorContextList extends Lazy> {
    @Override
    protected List compute() {
      return OrmPojoInfoPojo.super.constructorContextList();
    }
  }

  private class LazyForeignKeyParameterSpecList extends Lazy> {
    @Override
    protected List compute() {
      return OrmPojoInfoPojo.super.foreignKeyParameterSpecList();
    }
  }

  private class LazyInject extends Lazy {
    @Override
    protected OrmInject compute() {
      return OrmPojoInfoPojo.super.inject();
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy