/** * Exposes a document as a collection of per-wavelet read-state objects. * * @param router router for read-state document * @return wavelet read-state. */ private static <E> WaveletReadStateCollection<E> createWaveletReadState( DocumentEventRouter<? super E, E, ?> router, Listener listener) { E container = router.getDocument().getDocumentElement(); return WaveletReadStateCollection.create(router, container, listener); }
/** * Exposes a document as a boolean, suitable for holding muted state. * * @param router router for the muted document * @return muted state. */ private static <E> ObservableBasicValue<Boolean> createCleared( DocumentEventRouter<? super E, E, ?> router) { return DocumentBasedBoolean.create(router, router.getDocument().getDocumentElement(), CLEARED_TAG, CLEARED_ATTR); }
/** * Exposes a document as a boolean, suitable for holding pending-notification state. * * @param router router for the notification document * @return pending notification state. */ private static <E> ObservableBasicValue<Boolean> createPendingNotification( DocumentEventRouter<? super E, E, ?> router) { return DocumentBasedBoolean.create( router, router.getDocument().getDocumentElement(), NOTIFICATION_TAG, PENDING_NOTIFICATION_ATTR); }
/** * Exposes a document as a map of per-wavelet seen-version/seen-hash pairs. * * @param router router for the seen-state document * @return wavelet seen version and hash signature. */ private static <E> ObservableBasicMap<WaveletId, HashedVersion> createWaveletSeenVersion( DocumentEventRouter<? super E, E, ?> router) { return DocumentBasedMonotonicMap.create(router, router.getDocument().getDocumentElement(), WaveletIdSerializer.INSTANCE, HashedVersionSerializer.INSTANCE, SEEN_VERSION_TAG, ID_ATTR, SIGNATURE_ATTR); }
/** * Exposes a document as an integer set, suitable for holding folder state. * * @param router router for the folders document * @return folder state. */ private static <E> ObservableBasicSet<Integer> createFolders( DocumentEventRouter<? super E, E, ?> router) { return DocumentBasedBasicSet.create(router, router.getDocument().getDocumentElement(), Serializer.INTEGER, FOLDER_TAG, ID_ATTR); }
/** * Exposes a document as a boolean, suitable for holding muted state. * * @param router router for the muted document * @return muted state. */ private static <E> ObservableBasicValue<Boolean> createMuted( DocumentEventRouter<? super E, E, ?> router) { return DocumentBasedBoolean.create(router, router.getDocument().getDocumentElement(), MUTED_TAG, MUTED_ATTR); }
/** * Exposes a document as a map from wavelet ids to version numbers. * * @param router router for the archiving document * @return archiving state. */ private static <E> ObservableMonotonicMap<WaveletId, Integer> createWaveletArchiveState( DocumentEventRouter<? super E, E, ?> router) { return DocumentBasedMonotonicMap.create(router, router.getDocument().getDocumentElement(), WaveletIdSerializer.INSTANCE, Serializer.INTEGER, ARCHIVE_TAG, ID_ATTR, VERSION_ATTR); }
/** * Exposes a document as a collection of per-wavelet thread-state objects. * * @param router router for the thread-state document * @return wavelet thread state collection. */ private static <E> WaveletThreadStateCollection<E> createWaveletCollapsedState( DocumentEventRouter<? super E, E, ?> router, Listener listener) { return WaveletThreadStateCollection.create(router, router.getDocument().getDocumentElement(), listener); }
/** * Exposes a document as a map of per-wavelet notified-versions. * * @param router router for the notified-state document * @return wavelet notified version. */ private static <E> ObservableBasicMap<WaveletId, Integer> createWaveletNotifiedVersion( DocumentEventRouter<? super E, E, ?> router) { return DocumentBasedMonotonicMap.create(router, router.getDocument().getDocumentElement(), WaveletIdSerializer.INSTANCE, Serializer.INTEGER, NOTIFIED_VERSION_TAG, ID_ATTR, VERSION_ATTR); }
/** * Private constructor. Use the factory method ({@link #create}) instead. * * @param document the document to wrap */ // VisibleForTesting AttachmentDocumentWrapper(ObservableMutableDocument<N, E, T> document) { internalDocument = document; dataMap = DocumentBasedBasicMap.create(DefaultDocumentEventRouter.create(document), document.getDocumentElement(), new KeyNameSerializer(), Serializer.STRING, "node", "key", "value"); }
private void load() { ObservableMutableDocument<? super E, E, ?> doc = getDocument(); E child = DocHelper.getFirstChildElement(doc, doc.getDocumentElement()); while (child != null) { onElementAdded(child); child = DocHelper.getNextSiblingElement(doc, child); } }
private void createEntry(WaveletId waveletId) { String waveletIdStr = WaveletBasedConversation.idFor(waveletId); ObservableMutableDocument<? super E, E, ?> doc = getDocument(); E container = doc.createChildElement(doc.getDocumentElement(), WaveletBasedSupplement.CONVERSATION_TAG, new AttributesImpl(WaveletBasedSupplement.ID_ATTR, waveletIdStr)); }
private void createEntry(String gadgetId) { getDocument().createChildElement(getDocument().getDocumentElement(), WaveletBasedSupplement.GADGET_TAG, new AttributesImpl(WaveletBasedSupplement.ID_ATTR, gadgetId)); }
private void load() { ObservableMutableDocument<? super E, E, ?> doc = getDocument(); E child = DocHelper.getFirstChildElement(doc, doc.getDocumentElement()); while (child != null) { onElementAdded(child); child = DocHelper.getNextSiblingElement(doc, child); } }
@Override public <N, E extends N, T extends N> void exec(ObservableMutableDocument<N, E, T> doc) { E container = doc.getDocumentElement(); // Insert entries Attributes attrs = state != null ? new AttributesImpl(VALUE_ATTR, state.toString()) : Attributes.EMPTY_MAP; doc.createChildElement(container, ENTRY_TAG, attrs); } });
@Override public <N, E extends N, T extends N> void exec(ObservableMutableDocument<N, E, T> doc) { E container = doc.getDocumentElement(); // Insert entries Attributes attrs = state != null ? new AttributesImpl(VALUE_ATTR, state.toString()) : Attributes.EMPTY_MAP; doc.createChildElement(container, ENTRY_TAG, attrs); } });
@Override public <N, E extends N, T extends N> void exec(ObservableMutableDocument<N, E, T> doc) { target = DocumentBasedBoolean.create(DefaultDocumentEventRouter.create(doc), doc.getDocumentElement(), ENTRY_TAG, VALUE_ATTR); } });
@Override public <N, E extends N, T extends N> void exec(ObservableMutableDocument<N, E, T> doc) { target = DocumentBasedBoolean.create(DefaultDocumentEventRouter.create(doc), doc.getDocumentElement(), ENTRY_TAG, VALUE_ATTR); } });
private void createEntry(WaveletId waveletId) { String waveletIdStr = WaveletBasedConversation.idFor(waveletId); E container = getDocument().createChildElement(getDocument().getDocumentElement(), WaveletBasedSupplement.WAVELET_TAG, new AttributesImpl(WaveletBasedSupplement.ID_ATTR, waveletIdStr)); }
private void load() { E child = DocHelper.getFirstChildElement(getDocument(), getDocument().getDocumentElement()); while (child != null) { onElementAdded(child); child = DocHelper.getNextSiblingElement(getDocument(), child); } }