changed 'as' from DomainType method status to function

This commit is contained in:
Timo Westkämper 2008-02-22 19:47:13 +00:00
parent 1af282b845
commit 19238ab45d
6 changed files with 128 additions and 124 deletions

View File

@ -2,90 +2,90 @@ package com.mysema.query.test.domain;
public class Domain {
public static class qAuditLog<T extends AuditLog> extends com.mysema.query.grammar.Types.DomainType<T>{
private qItem<Item> item;
qAuditLog(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qAuditLog(String path) {super(path);}
public qItem<Item> item() {
if (item == null) item = new qItem<Item>(this,"item");
public static class _AuditLog<T extends AuditLog> extends com.mysema.query.grammar.Types.DomainType<T>{
private _Item<Item> item;
_AuditLog(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_AuditLog(String path) {super(path);}
public _Item<Item> item() {
if (item == null) item = new _Item<Item>(this,"item");
return item;
}
}
public static class qCat<T extends Cat> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Cat<T extends Cat> extends com.mysema.query.grammar.Types.DomainType<T>{
public final com.mysema.query.grammar.Types.BooleanProperty alive = _boolean("alive");
public final com.mysema.query.grammar.Types.Reference<Integer> bodyWeight = _prop("bodyWeight",Integer.class);
private qCat<Cat> kittens;
private qCat<Cat> mate;
private _Cat<Cat> kittens;
private _Cat<Cat> mate;
public final com.mysema.query.grammar.Types.Reference<String> name = _prop("name",String.class);
qCat(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qCat(String path) {super(path);}
public final qCat<Cat> kittens(){
if (kittens == null) kittens = new qCat<Cat>(this,"kittens");
_Cat(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Cat(String path) {super(path);}
public final _Cat<Cat> kittens(){
if (kittens == null) kittens = new _Cat<Cat>(this,"kittens");
return kittens;
}
public final qCat<Cat> mate(){
if (mate == null) mate = new qCat<Cat>(this,"mate");
public final _Cat<Cat> mate(){
if (mate == null) mate = new _Cat<Cat>(this,"mate");
return mate;
}
}
public static class qCompany<T extends Company> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Company<T extends Company> extends com.mysema.query.grammar.Types.DomainType<T>{
public final com.mysema.query.grammar.Types.Reference<Long> id = _prop("id",Long.class);
public final com.mysema.query.grammar.Types.Reference<String> name = _prop("name",String.class);
qCompany(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qCompany(String path) {super(path);}
_Company(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Company(String path) {super(path);}
}
public static class qCustomer<T extends Customer> extends com.mysema.query.grammar.Types.DomainType<T>{
private qName<Name> name;
qCustomer(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qCustomer(String path) {super(path);}
public final qName<Name> name(){
if (name == null) name = new qName<Name>(this, "name");
public static class _Customer<T extends Customer> extends com.mysema.query.grammar.Types.DomainType<T>{
private _Name<Name> name;
_Customer(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Customer(String path) {super(path);}
public final _Name<Name> name(){
if (name == null) name = new _Name<Name>(this, "name");
return name;
}
}
public static class qDocument<T extends Document> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Document<T extends Document> extends com.mysema.query.grammar.Types.DomainType<T>{
public final com.mysema.query.grammar.Types.Reference<String> name = _prop("name",String.class);
public final com.mysema.query.grammar.Types.Reference<java.util.Date> validTo = _prop("validTo",java.util.Date.class);
qDocument(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qDocument(String path){super(path);}
_Document(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Document(String path){super(path);}
}
public static class qDomesticCat<T extends DomesticCat> extends qCat<T>{
qDomesticCat(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qDomesticCat(String path) {super(path);}
public static class _DomesticCat<T extends DomesticCat> extends _Cat<T>{
_DomesticCat(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_DomesticCat(String path) {super(path);}
}
public static class qItem<T extends Item> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Item<T extends Item> extends com.mysema.query.grammar.Types.DomainType<T>{
public com.mysema.query.grammar.Types.Reference<String> id = _prop("id",String.class);
qItem(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qItem(String path){super(path);}
_Item(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Item(String path){super(path);}
}
public static class qName<T extends Name> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Name<T extends Name> extends com.mysema.query.grammar.Types.DomainType<T>{
public final com.mysema.query.grammar.Types.Reference<String> firstName = _prop("firstName",String.class);
qName(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qName(String path){super(path);}
_Name(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Name(String path){super(path);}
}
public static class qPayment<T extends Payment> extends qItem<T>{
qPayment(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qPayment(String path){super(path);}
public static class _Payment<T extends Payment> extends _Item<T>{
_Payment(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Payment(String path){super(path);}
}
public static class qUser<T extends User> extends com.mysema.query.grammar.Types.DomainType<T>{
private qCompany<Company> company;
public static class _User<T extends User> extends com.mysema.query.grammar.Types.DomainType<T>{
private _Company<Company> company;
public final com.mysema.query.grammar.Types.Reference<String> firstName = _prop("firstName",String.class);
public final com.mysema.query.grammar.Types.Reference<Long> id = _prop("id",Long.class);
public final com.mysema.query.grammar.Types.Reference<String> lastName = _prop("lastName",String.class);
public final com.mysema.query.grammar.Types.Reference<String> userName = _prop("userName",String.class);
qUser(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qUser(String path) {super(path);}
public final qCompany<Company> company(){
if (company == null) company = new qCompany<Company>(this,"company");
_User(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_User(String path) {super(path);}
public final _Company<Company> company(){
if (company == null) company = new _Company<Company>(this,"company");
return company;
}
}

View File

@ -90,15 +90,19 @@ public class Grammar {
// NOTE : basically same as gt
return _binOp(DateOp.AFTER, left, _const(right));
}
public static <A extends Comparable<A>> BooleanExpr after(Expr<A> left, Expr<A> right){
// NOTE : signature is for Comparables to support other than Java's date types
// NOTE : basically same as gt
return _binOp(DateOp.AFTER, left, right);
}
public static BooleanExpr and(BooleanExpr left, BooleanExpr right){
return _binOp(BoOp.AND, left, right);
}
public static <D> EntityExpr<D> as(DomainType<D> from, DomainType<D> to){
return new Alias<D>(from, to);
}
public static <A extends Comparable<A>> OrderSpecifier<A> asc(Expr<A> target){

View File

@ -91,9 +91,9 @@ public class Types {
super(type+"."+path);
}
protected DomainType(String path) {super(path);}
public EntityExpr<D> as(DomainType<D> to){
return new Alias<D>(this, to);
}
// public EntityExpr<D> as(DomainType<D> to){
// return new Alias<D>(this, to);
// }
protected BooleanProperty _boolean(String path){
return new BooleanProperty(this+"."+path);
}

View File

@ -38,7 +38,7 @@ public class QueryTest extends QueryBase{
select(lower(cat.name)).from(cat).where(eq(substr(cat.name,0,2),"Mi"));
select(upper(cat.name)).from(cat);
select(concat(lower(cat.name),cat.mate().name)).from(cat);
cat.as(kitten);
as(cat,kitten);
// cat.as(company); // not allowed
// asc(cust.name()); // not allowed
asc(cust.name().firstName);
@ -68,7 +68,7 @@ public class QueryTest extends QueryBase{
public void testCat1(){
// from Cat as cat left join cat.kittens as kitten
// with kitten.bodyWeight > 10.0
from(cat).leftJoin(cat.kittens().as(kitten))
from(cat).leftJoin(as(cat.kittens(),kitten))
.with(gt(kitten.bodyWeight,10));
}
@ -77,7 +77,7 @@ public class QueryTest extends QueryBase{
// from Cat as cat inner join fetch cat.mate
// left join fetch cat.kittens child left join fetch child.kittens
from(cat).innerJoin(cat.mate())
.leftJoin(cat.kittens().as(child)).leftJoin(child.kittens());
.leftJoin(as(cat.kittens(),child)).leftJoin(child.kittens());
}
@Test

View File

@ -2,90 +2,90 @@ package com.mysema.query.test.domain;
public class Domain {
public static class qAuditLog<T extends AuditLog> extends com.mysema.query.grammar.Types.DomainType<T>{
private qItem<Item> item;
qAuditLog(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qAuditLog(String path) {super(path);}
public qItem<Item> item() {
if (item == null) item = new qItem<Item>(this,"item");
public static class _AuditLog<T extends AuditLog> extends com.mysema.query.grammar.Types.DomainType<T>{
private _Item<Item> item;
_AuditLog(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_AuditLog(String path) {super(path);}
public _Item<Item> item() {
if (item == null) item = new _Item<Item>(this,"item");
return item;
}
}
public static class qCat<T extends Cat> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Cat<T extends Cat> extends com.mysema.query.grammar.Types.DomainType<T>{
public final com.mysema.query.grammar.Types.BooleanProperty alive = _boolean("alive");
public final com.mysema.query.grammar.Types.Reference<Integer> bodyWeight = _prop("bodyWeight",Integer.class);
private qCat<Cat> kittens;
private qCat<Cat> mate;
private _Cat<Cat> kittens;
private _Cat<Cat> mate;
public final com.mysema.query.grammar.Types.Reference<String> name = _prop("name",String.class);
qCat(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qCat(String path) {super(path);}
public final qCat<Cat> kittens(){
if (kittens == null) kittens = new qCat<Cat>(this,"kittens");
_Cat(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Cat(String path) {super(path);}
public final _Cat<Cat> kittens(){
if (kittens == null) kittens = new _Cat<Cat>(this,"kittens");
return kittens;
}
public final qCat<Cat> mate(){
if (mate == null) mate = new qCat<Cat>(this,"mate");
public final _Cat<Cat> mate(){
if (mate == null) mate = new _Cat<Cat>(this,"mate");
return mate;
}
}
public static class qCompany<T extends Company> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Company<T extends Company> extends com.mysema.query.grammar.Types.DomainType<T>{
public final com.mysema.query.grammar.Types.Reference<Long> id = _prop("id",Long.class);
public final com.mysema.query.grammar.Types.Reference<String> name = _prop("name",String.class);
qCompany(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qCompany(String path) {super(path);}
_Company(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Company(String path) {super(path);}
}
public static class qCustomer<T extends Customer> extends com.mysema.query.grammar.Types.DomainType<T>{
private qName<Name> name;
qCustomer(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qCustomer(String path) {super(path);}
public final qName<Name> name(){
if (name == null) name = new qName<Name>(this, "name");
public static class _Customer<T extends Customer> extends com.mysema.query.grammar.Types.DomainType<T>{
private _Name<Name> name;
_Customer(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Customer(String path) {super(path);}
public final _Name<Name> name(){
if (name == null) name = new _Name<Name>(this, "name");
return name;
}
}
public static class qDocument<T extends Document> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Document<T extends Document> extends com.mysema.query.grammar.Types.DomainType<T>{
public final com.mysema.query.grammar.Types.Reference<String> name = _prop("name",String.class);
public final com.mysema.query.grammar.Types.Reference<java.util.Date> validTo = _prop("validTo",java.util.Date.class);
qDocument(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qDocument(String path){super(path);}
_Document(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Document(String path){super(path);}
}
public static class qDomesticCat<T extends DomesticCat> extends qCat<T>{
qDomesticCat(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qDomesticCat(String path) {super(path);}
public static class _DomesticCat<T extends DomesticCat> extends _Cat<T>{
_DomesticCat(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_DomesticCat(String path) {super(path);}
}
public static class qItem<T extends Item> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Item<T extends Item> extends com.mysema.query.grammar.Types.DomainType<T>{
public com.mysema.query.grammar.Types.Reference<String> id = _prop("id",String.class);
qItem(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qItem(String path){super(path);}
_Item(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Item(String path){super(path);}
}
public static class qName<T extends Name> extends com.mysema.query.grammar.Types.DomainType<T>{
public static class _Name<T extends Name> extends com.mysema.query.grammar.Types.DomainType<T>{
public final com.mysema.query.grammar.Types.Reference<String> firstName = _prop("firstName",String.class);
qName(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qName(String path){super(path);}
_Name(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Name(String path){super(path);}
}
public static class qPayment<T extends Payment> extends qItem<T>{
qPayment(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qPayment(String path){super(path);}
public static class _Payment<T extends Payment> extends _Item<T>{
_Payment(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_Payment(String path){super(path);}
}
public static class qUser<T extends User> extends com.mysema.query.grammar.Types.DomainType<T>{
private qCompany<Company> company;
public static class _User<T extends User> extends com.mysema.query.grammar.Types.DomainType<T>{
private _Company<Company> company;
public final com.mysema.query.grammar.Types.Reference<String> firstName = _prop("firstName",String.class);
public final com.mysema.query.grammar.Types.Reference<Long> id = _prop("id",Long.class);
public final com.mysema.query.grammar.Types.Reference<String> lastName = _prop("lastName",String.class);
public final com.mysema.query.grammar.Types.Reference<String> userName = _prop("userName",String.class);
qUser(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
qUser(String path) {super(path);}
public final qCompany<Company> company(){
if (company == null) company = new qCompany<Company>(this,"company");
_User(com.mysema.query.grammar.Types.DomainType<?> type, String path) {super(type,path);}
_User(String path) {super(path);}
public final _Company<Company> company(){
if (company == null) company = new _Company<Company>(this,"company");
return company;
}
}

View File

@ -11,46 +11,46 @@ import com.mysema.query.test.domain.Domain.*;
public class Instances {
// AuditLog
public static final qAuditLog<AuditLog> log = new qAuditLog<AuditLog>("log");
public static final _AuditLog<AuditLog> log = new _AuditLog<AuditLog>("log");
// Cat
public static final qCat<Cat> cat = new qCat<Cat>("cat");
public static final qCat<Cat> cat1 = new qCat<Cat>("cat1");
public static final qCat<Cat> cat2 = new qCat<Cat>("cat2");
public static final qCat<Cat> cat3 = new qCat<Cat>("cat3");
public static final qCat<Cat> cat4 = new qCat<Cat>("cat4");
public static final qCat<Cat> cat5 = new qCat<Cat>("cat5");
public static final _Cat<Cat> cat = new _Cat<Cat>("cat");
public static final _Cat<Cat> cat1 = new _Cat<Cat>("cat1");
public static final _Cat<Cat> cat2 = new _Cat<Cat>("cat2");
public static final _Cat<Cat> cat3 = new _Cat<Cat>("cat3");
public static final _Cat<Cat> cat4 = new _Cat<Cat>("cat4");
public static final _Cat<Cat> cat5 = new _Cat<Cat>("cat5");
public static final qCat<Cat> kitten = new qCat<Cat>("kitten");
public static final qCat<Cat> child = new qCat<Cat>("child");
public static final qCat<Cat> mate = new qCat<Cat>("mate");
public static final _Cat<Cat> kitten = new _Cat<Cat>("kitten");
public static final _Cat<Cat> child = new _Cat<Cat>("child");
public static final _Cat<Cat> mate = new _Cat<Cat>("mate");
// Company
public static final qCompany<Company> company = new qCompany<Company>("company");
public static final qCompany<Company> company1 = new qCompany<Company>("company1");
public static final qCompany<Company> company2 = new qCompany<Company>("company2");
public static final qCompany<Company> company3 = new qCompany<Company>("company3");
public static final qCompany<Company> company4 = new qCompany<Company>("company4");
public static final qCompany<Company> company5 = new qCompany<Company>("company5");
public static final _Company<Company> company = new _Company<Company>("company");
public static final _Company<Company> company1 = new _Company<Company>("company1");
public static final _Company<Company> company2 = new _Company<Company>("company2");
public static final _Company<Company> company3 = new _Company<Company>("company3");
public static final _Company<Company> company4 = new _Company<Company>("company4");
public static final _Company<Company> company5 = new _Company<Company>("company5");
// Customer
public static final qCustomer<Customer> cust = new qCustomer<Customer>("cust");
public static final _Customer<Customer> cust = new _Customer<Customer>("cust");
// Document
public static final qDocument<Document> doc = new qDocument<Document>("doc");
public static final _Document<Document> doc = new _Document<Document>("doc");
// DomesticCat
public static final qDomesticCat<DomesticCat> domesticCat = new qDomesticCat<DomesticCat>("domesticCat");
public static final _DomesticCat<DomesticCat> domesticCat = new _DomesticCat<DomesticCat>("domesticCat");
// Payment
public static final qPayment<Payment> payment = new qPayment<Payment>("payment");
public static final _Payment<Payment> payment = new _Payment<Payment>("payment");
// User
public static final qUser<User> user = new qUser<User>("user");
public static final qUser<User> user1 = new qUser<User>("user1");
public static final qUser<User> user2 = new qUser<User>("user2");
public static final qUser<User> user3 = new qUser<User>("user3");
public static final qUser<User> user4 = new qUser<User>("user4");
public static final qUser<User> user5 = new qUser<User>("user5");
public static final _User<User> user = new _User<User>("user");
public static final _User<User> user1 = new _User<User>("user1");
public static final _User<User> user2 = new _User<User>("user2");
public static final _User<User> user3 = new _User<User>("user3");
public static final _User<User> user4 = new _User<User>("user4");
public static final _User<User> user5 = new _User<User>("user5");
}