@Override public WaveletBasedConversationBlip appendBlip() { checkIsUsable(); return appendBlipWithContent(null); }
/** * Invalidates this thread. It may no longer be accessed. */ void invalidate() { checkIsUsable(); manifestThread.removeListener(this); isUsable = false; }
@Override protected void assertThreadValid(ConversationThread thread) { ((WaveletBasedConversationThread)thread).checkIsUsable(); }
@Override protected void assertThreadValid(ConversationThread thread) { ((WaveletBasedConversationThread)thread).checkIsUsable(); }
@Override public WaveletBasedConversationBlip appendBlip(DocInitialization content) { Preconditions.checkNotNull(content, "initialization is null"); checkIsUsable(); return appendBlipWithContent(content); }
@Override protected void assertThreadInvalid(ConversationThread thread) { try { ((WaveletBasedConversationThread)thread).checkIsUsable(); fail("Expected thread to be invalid"); } catch (IllegalStateException expected) { } }
@Override protected void assertThreadInvalid(ConversationThread thread) { try { ((WaveletBasedConversationThread)thread).checkIsUsable(); fail("Expected thread to be invalid"); } catch (IllegalStateException expected) { } }
@Override public WaveletBasedConversationBlip insertBlip(ConversationBlip successor) { checkIsUsable(); if (!blips.containsKey(successor.getId())) { Preconditions.illegalArgument( "Can't insert blip before blip " + successor + " not from this thread"); } WaveletBasedConversationBlip insertBefore = (WaveletBasedConversationBlip) successor; int index = manifestThread.indexOf(insertBefore.getManifestBlip()); Blip blip = helper.createBlip(null); String blipId = blip.getId(); manifestThread.insertBlip(index, blipId); return blips.get(blipId); }