package org.hibernate.sql;
import org.hibernate.HibernateException;
/**
* @author Strong Liu
*/
public enum JoinType {
NONE( -666 ),
INNER_JOIN( 0 ),
LEFT_OUTER_JOIN( 1 ),
RIGHT_OUTER_JOIN( 2 ),
FULL_JOIN( 4 );
private int joinTypeValue;
JoinType(int joinTypeValue) {
this.joinTypeValue = joinTypeValue;
}
public int getJoinTypeValue() {
return joinTypeValue;
}
public static JoinType parse(int joinType){
if(joinType<0){
return NONE;
}
switch ( joinType ){
case 0:
return INNER_JOIN;
case 1:
return LEFT_OUTER_JOIN;
case 2:
return RIGHT_OUTER_JOIN;
case 4:
return FULL_JOIN;
default:
throw new HibernateException( "unknown join type: "+joinType );
}
}
}