HHH-6294 use enum instead of constant

This commit is contained in:
Strong Liu 2011-06-07 00:17:18 +08:00
parent 72aedc8682
commit 9c90c25fea
1 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,42 @@
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 );
}
}
}