
com.querydsl.core.Join Maven / Gradle / Ivy
package com.querydsl.core;
import java.util.Collection;
import com.querydsl.core.types.CollectionExpression;
import com.querydsl.core.types.EntityPath;
import com.querydsl.core.types.Expression;
import com.querydsl.core.types.MapExpression;
import com.querydsl.core.types.Path;
import com.querydsl.core.types.Predicate;
public class Join {
private final JoinType type;
private final Expression> target;
private Path> alias;
private Predicate[] predicates;
private boolean fetchJoin;
private Join(JoinType type, Expression> target) {
this(type, target, null);
}
private Join(JoinType type, Expression> target, Path> alias) {
this.type = type;
this.target = target;
this.alias = alias;
}
public static Join innerJoin(EntityPath> entityPath) {
return new Join(JoinType.INNERJOIN, entityPath);
}
public static Join innerJoin(EntityPath> entityPath, Path> alias) {
return new Join(JoinType.INNERJOIN, entityPath, alias);
}
public static Join innerJoin(CollectionExpression extends Collection>, ?> collectionExpression) {
return new Join(JoinType.INNERJOIN, collectionExpression);
}
public static Join innerJoin(CollectionExpression extends Collection>, ?> collectionExpression, Path> alias) {
return new Join(JoinType.INNERJOIN, collectionExpression, alias);
}
public static Join innerJoin(MapExpression, ?> mapExpression) {
return new Join(JoinType.INNERJOIN, mapExpression);
}
public static Join innerJoin(MapExpression, ?> mapExpression, Path> alias) {
return new Join(JoinType.INNERJOIN, mapExpression, alias);
}
public static Join leftJoin(EntityPath> entityPath) {
return new Join(JoinType.LEFTJOIN, entityPath);
}
public static Join leftJoin(EntityPath> entityPath, Path> alias) {
return new Join(JoinType.LEFTJOIN, entityPath, alias);
}
public static Join leftJoin(CollectionExpression extends Collection>, ?> collectionExpression) {
return new Join(JoinType.LEFTJOIN, collectionExpression);
}
public static Join leftJoin(CollectionExpression extends Collection>, ?> collectionExpression, Path> alias) {
return new Join(JoinType.LEFTJOIN, collectionExpression, alias);
}
public static Join leftJoin(MapExpression, ?> mapExpression) {
return new Join(JoinType.LEFTJOIN, mapExpression);
}
public static Join leftJoin(MapExpression, ?> mapExpression, Path> alias) {
return new Join(JoinType.LEFTJOIN, mapExpression, alias);
}
public static Join rightJoin(EntityPath> entityPath) {
return new Join(JoinType.RIGHTJOIN, entityPath);
}
public static Join rightJoin(EntityPath> entityPath, Path> alias) {
return new Join(JoinType.RIGHTJOIN, entityPath, alias);
}
public static Join rightJoin(CollectionExpression extends Collection>, ?> collectionExpression) {
return new Join(JoinType.RIGHTJOIN, collectionExpression);
}
public static Join rightJoin(CollectionExpression extends Collection>, ?> collectionExpression, Path> alias) {
return new Join(JoinType.RIGHTJOIN, collectionExpression, alias);
}
public static Join rightJoin(MapExpression, ?> mapExpression) {
return new Join(JoinType.RIGHTJOIN, mapExpression);
}
public static Join rightJoin(MapExpression, ?> mapExpression, Path> alias) {
return new Join(JoinType.RIGHTJOIN, mapExpression, alias);
}
public Join on(Predicate... conditions) {
this.predicates = conditions;
return this;
}
public Join fetchJoin() {
this.fetchJoin = true;
return this;
}
public JoinType getJoinType() {
return type;
}
public boolean isFetchJoin() {
return fetchJoin;
}
public Predicate[] getPredicates() {
return predicates;
}
public Path> getAlias() {
return alias;
}
public Expression> getTarget() {
return target;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy