mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-10-29 08:09:53 +00:00
#919 - io.ebean package initial
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
package io.ebeaninternal.server.deploy;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
|
||||
/**
|
||||
* Persist info for determining if save or delete should be performed.
|
||||
* <p>
|
||||
* This is set to associated Beans, Table joins and List.
|
||||
* </p>
|
||||
*/
|
||||
public class BeanCascadeInfo {
|
||||
|
||||
private boolean delete;
|
||||
|
||||
private boolean save;
|
||||
|
||||
private boolean refresh;
|
||||
|
||||
public void setTypes(CascadeType[] types) {
|
||||
for (CascadeType type : types) {
|
||||
setType(type);
|
||||
}
|
||||
}
|
||||
|
||||
private void setType(CascadeType type) {
|
||||
switch (type) {
|
||||
case ALL:
|
||||
save = true;
|
||||
delete = true;
|
||||
refresh = true;
|
||||
break;
|
||||
case REMOVE:
|
||||
delete = true;
|
||||
break;
|
||||
case REFRESH:
|
||||
refresh = true;
|
||||
break;
|
||||
case PERSIST:
|
||||
save = true;
|
||||
break;
|
||||
case MERGE:
|
||||
save = true;
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected CascadeType " + type);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if refresh should cascade.
|
||||
*/
|
||||
public boolean isRefresh() {
|
||||
return refresh;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if delete should cascade.
|
||||
*/
|
||||
public boolean isDelete() {
|
||||
return delete;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set to true if delete should cascade.
|
||||
*/
|
||||
public void setDelete(boolean delete) {
|
||||
this.delete = delete;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if save should cascade.
|
||||
*/
|
||||
public boolean isSave() {
|
||||
return save;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set cascade save and delete settings.
|
||||
*/
|
||||
public void setSaveDelete(boolean save, boolean delete) {
|
||||
this.save = save;
|
||||
this.delete = delete;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user