Browse Source

Record 添加 modifyFlag、_getModifyFlag()、clearModify()为新增modifyFlag功能做准备

James 3 years ago
parent
commit
95b1a45242
1 changed files with 23 additions and 0 deletions
  1. 23 0
      src/main/java/com/jfinal/plugin/activerecord/Record.java

+ 23 - 0
src/main/java/com/jfinal/plugin/activerecord/Record.java

@@ -38,6 +38,29 @@ public class Record implements IRow<Record>, Serializable {
 	private Map<String, Object> columns;	// = getColumnsMap();	// getConfig().containerFactory.getColumnsMap();	// new HashMap<String, Object>();
 	
 	/**
+	 * Flag of column has been modified. update need this flag
+	 */
+	Set<String> modifyFlag;
+	
+	@SuppressWarnings("unchecked")
+	protected Set<String> _getModifyFlag() {
+		if (modifyFlag == null) {
+			Config config = DbKit.getConfig();
+			if (config == null)
+				modifyFlag = DbKit.brokenConfig.containerFactory.getModifyFlagSet();
+			else
+				modifyFlag = config.containerFactory.getModifyFlagSet();
+		}
+		return modifyFlag;
+	}
+	
+	void clearModifyFlag() {
+		if (modifyFlag != null) {
+			modifyFlag.clear();
+		}
+	}
+	
+	/**
 	 * Set the containerFactory by configName.
 	 * Only the containerFactory of the config used by Record for getColumnsMap()
 	 * @param configName the config name