From f9325048496d7cdbcad233f8a6b84c88e79adcc2 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 17 Sep 2019 20:11:47 -0400 Subject: [PATCH] Rename link2master to link2support. --- FileObject.java | 41 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 40 insertions(+), 1 deletions(-) diff --git a/FileObject.java b/FileObject.java index e7042e6..e899a71 100644 --- a/FileObject.java +++ b/FileObject.java @@ -19,15 +19,37 @@ boolean HasBigData() { - return false; + return filecontent != null; } void ExtractBigData(java.util.Hashtable<java.util.UUID, Object3D> hashtable) { + Object3D o; + + if (hashtable.containsKey(GetUUID())) + { + o = hashtable.get(GetUUID()); + + //Grafreed.Assert(this.filecontent == ((FileObject)o).filecontent); + } + else + { + o = new Object3D("copy of " + this.name); + + hashtable.put(GetUUID(), o); + } + + ExtractBigData(o); } void RestoreBigData(java.util.Hashtable<java.util.UUID, Object3D> hashtable) { + if (!hashtable.containsKey(GetUUID())) + return; + + Object3D o = hashtable.get(GetUUID()); + + RestoreBigData(o); } boolean IsStatic() @@ -94,6 +116,23 @@ this.objfile = objfile; } + void ExtractBigData(Object3D o) + { + super.ExtractBigData(o); + + o.savefilecontent = this.filecontent; + + // filecontent is transient + this.filecontent = null; + } + + void RestoreBigData(Object3D o) + { + super.RestoreBigData(o); + + this.filecontent = o.savefilecontent; + } + Object3D deepCopy() { FileObject e = new FileObject(name, objfile); -- Gitblit v1.6.2