A subclass may want to use this method to release handles that are
caching reuse information. Make it protected so they can override
it and update themselves.
Change-Id: I2277a56ad28560d2d2d97961cbc74bc7405a70d4
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
super(obj);
}
+ @Override
+ protected void clearReuseAsIs() {
+ super.clearReuseAsIs();
+ pack = null;
+ }
+
@Override
public void select(StoredObjectRepresentation ref) {
LocalObjectRepresentation ptr = (LocalObjectRepresentation) ref;
flags |= REUSE_AS_IS;
}
- void clearReuseAsIs() {
+ /**
+ * Forget the reuse information previously stored.
+ * <p>
+ * Implementations may subclass this method, but they must also invoke the
+ * super version with {@code super.clearReuseAsIs()} to ensure the flag is
+ * properly cleared for the writer.
+ */
+ protected void clearReuseAsIs() {
flags &= ~REUSE_AS_IS;
}