added CustomMixin

This commit is contained in:
Timo Westkämper 2009-12-02 07:41:21 +00:00
parent 142cfc1a9f
commit 7bea266d6a
6 changed files with 74 additions and 44 deletions

View File

@ -25,13 +25,10 @@ public class CBoolean extends EBoolean implements Custom<Boolean> {
return new CBoolean(args, template);
}
private final List<Expr<?>> args;
private final Template template;
private final Custom<Boolean> customMixin;
public CBoolean(List<Expr<?>> args, Template template){
this.args = args;
this.template = template;
customMixin = new CustomMixin<Boolean>(args, template);
}
@Override
@ -41,16 +38,16 @@ public class CBoolean extends EBoolean implements Custom<Boolean> {
@Override
public Expr<?> getArg(int index) {
return getArgs().get(index);
return customMixin.getArg(index);
}
@Override
public List<Expr<?>> getArgs() {
return args;
return customMixin.getArgs();
}
@Override
public Template getTemplate() {
return template;
return customMixin.getTemplate();
}
}

View File

@ -26,14 +26,11 @@ public class CComparable<T extends Comparable<?>> extends EComparable<T> impleme
return new CComparable<T>(type, args, template);
}
private final List<Expr<?>> args;
private final Template template;
private final Custom<T> customMixin;
public CComparable(Class<T> type, List<Expr<?>> args, Template template) {
super(type);
this.args = args;
this.template = template;
customMixin = new CustomMixin<T>(args, template);
}
@Override
@ -43,16 +40,17 @@ public class CComparable<T extends Comparable<?>> extends EComparable<T> impleme
@Override
public Expr<?> getArg(int index) {
return getArgs().get(index);
return customMixin.getArg(index);
}
@Override
public List<Expr<?>> getArgs() {
return args;
return customMixin.getArgs();
}
@Override
public Template getTemplate() {
return template;
return customMixin.getTemplate();
}
}

View File

@ -26,14 +26,11 @@ public class CNumber<T extends Number & Comparable<?>> extends ENumber<T> implem
return new CNumber<T>(type, args, template);
}
private final List<Expr<?>> args;
private final Template template;
private final Custom<T> customMixin;
public CNumber(Class<T> type, List<Expr<?>> args, Template template) {
super(type);
this.args = args;
this.template = template;
customMixin = new CustomMixin<T>(args, template);
}
@Override
@ -43,16 +40,16 @@ public class CNumber<T extends Number & Comparable<?>> extends ENumber<T> implem
@Override
public Expr<?> getArg(int index) {
return getArgs().get(index);
return customMixin.getArg(index);
}
@Override
public List<Expr<?>> getArgs() {
return args;
return customMixin.getArgs();
}
@Override
public Template getTemplate() {
return template;
return customMixin.getTemplate();
}
}

View File

@ -25,14 +25,11 @@ public class CSimple<T> extends Expr<T> implements Custom<T> {
return new CSimple<T>(type, args, template);
}
private final List<Expr<?>> args;
private final Template template;
private final Custom<T> customMixin;
public CSimple(Class<? extends T> type, List<Expr<?>> args, Template template) {
super(type);
this.args = args;
this.template = template;
customMixin = new CustomMixin<T>(args, template);
}
@Override
@ -42,16 +39,16 @@ public class CSimple<T> extends Expr<T> implements Custom<T> {
@Override
public Expr<?> getArg(int index) {
return getArgs().get(index);
return customMixin.getArg(index);
}
@Override
public List<Expr<?>> getArgs() {
return args;
return customMixin.getArgs();
}
@Override
public Template getTemplate() {
return template;
return customMixin.getTemplate();
}
}

View File

@ -25,13 +25,10 @@ public class CString extends EString implements Custom<String> {
return new CString(args, template);
}
private final List<Expr<?>> args;
private final Template template;
private final Custom<String> customMixin;
public CString(List<Expr<?>> args, Template template){
this.args = args;
this.template = template;
customMixin = new CustomMixin<String>(args, template);
}
@Override
@ -41,16 +38,16 @@ public class CString extends EString implements Custom<String> {
@Override
public Expr<?> getArg(int index) {
return getArgs().get(index);
return customMixin.getArg(index);
}
@Override
public List<Expr<?>> getArgs() {
return args;
return customMixin.getArgs();
}
@Override
public Template getTemplate() {
return template;
return customMixin.getTemplate();
}
}

View File

@ -0,0 +1,44 @@
/*
* Copyright (c) 2009 Mysema Ltd.
* All rights reserved.
*
*/
package com.mysema.query.types.custom;
import java.util.List;
import com.mysema.query.types.Template;
import com.mysema.query.types.expr.Expr;
/**
* @author tiwe
*
* @param <T>
*/
class CustomMixin<T> implements Custom<T> {
private final List<Expr<?>> args;
private final Template template;
public CustomMixin(List<Expr<?>> args, Template template){
this.args = args;
this.template = template;
}
@Override
public Expr<?> getArg(int index) {
return getArgs().get(index);
}
@Override
public List<Expr<?>> getArgs() {
return args;
}
@Override
public Template getTemplate() {
return template;
}
}