@Override @Nullable public Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException { List<Editor> children = newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeDeleted(name, before); if (child != null) { children.add(child); } } return compose(children); }
@Nullable public static Editor compose(@NotNull Collection<? extends Editor> editors) { checkNotNull(editors); switch (editors.size()) { case 0: return null; case 1: return editors.iterator().next(); default: return new CompositeEditor(editors); } }
@Override @CheckForNull public Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException { List<Editor> children = newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeDeleted(name, before); if (child != null) { children.add(child); } } return compose(children); }
@CheckForNull public static Editor compose(@Nonnull Collection<? extends Editor> editors) { checkNotNull(editors); switch (editors.size()) { case 0: return null; case 1: return editors.iterator().next(); default: return new CompositeEditor(editors); } }
@Override public Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException { List<Editor> list = Lists.newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeDeleted(name, before); if (child != null) { list.add(child); } } return compose(list); }
@Override public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) { if (!builder.hasChildNode(JCR_SYSTEM)) { return null; } NodeBuilder system = builder.child(JCR_SYSTEM); if (!system.hasChildNode(JCR_VERSIONSTORAGE)) { return null; } NodeBuilder versionStorage = system.child(JCR_VERSIONSTORAGE); return new VisibleEditor(new CompositeEditor( new VersionEditor(versionStorage, builder, info), new SubtreeEditor( new VersionStorageEditor(versionStorage, builder), JCR_SYSTEM, JCR_VERSIONSTORAGE))); }
@Override public Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException { List<Editor> list = Lists.newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeDeleted(name, before); if (child != null) { list.add(child); } } return compose(list); }
@Override public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) { if (!builder.hasChildNode(JCR_SYSTEM)) { return null; } NodeBuilder system = builder.child(JCR_SYSTEM); if (!system.hasChildNode(JCR_VERSIONSTORAGE)) { return null; } NodeBuilder versionStorage = system.child(JCR_VERSIONSTORAGE); return new VisibleEditor(new CompositeEditor( new VersionEditor(versionStorage, builder, info), new SubtreeEditor( new VersionStorageEditor(versionStorage, builder), JCR_SYSTEM, JCR_VERSIONSTORAGE))); }
@Override public Editor childNodeAdded(String name, NodeState after) throws CommitFailedException { List<Editor> list = Lists.newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeAdded(name, after); if (child != null) { list.add(child); } } return compose(list); }
@Override public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) { if (!builder.hasChildNode(JCR_SYSTEM)) { return null; } NodeBuilder system = builder.child(JCR_SYSTEM); if (!system.hasChildNode(JCR_VERSIONSTORAGE)) { return null; } NodeBuilder versionStorage = system.child(JCR_VERSIONSTORAGE); return new VisibleEditor(new CompositeEditor( new VersionEditor(versionStorage, builder, info), new SubtreeEditor( new VersionStorageEditor(versionStorage, builder), JCR_SYSTEM, JCR_VERSIONSTORAGE))); }
@Override public Editor childNodeAdded(String name, NodeState after) throws CommitFailedException { List<Editor> list = Lists.newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeAdded(name, after); if (child != null) { list.add(child); } } return compose(list); }
@Override public Editor childNodeChanged( String name, NodeState before, NodeState after) throws CommitFailedException { List<Editor> list = Lists.newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeChanged(name, before, after); if (child != null) { list.add(child); } } return compose(list); }
@Override public Editor getIndexEditor( @NotNull String type, @NotNull NodeBuilder builder, @NotNull NodeState root, @NotNull IndexUpdateCallback callback) throws CommitFailedException { List<Editor> indexes = Lists.newArrayList(); for (IndexEditorProvider provider : providers) { Editor e = provider.getIndexEditor(type, builder, root, callback); if (e != null) { indexes.add(e); } } return CompositeEditor.compose(indexes); } }
@Override @Nullable public Editor childNodeDeleted(String name, NodeState before) throws CommitFailedException { List<Editor> children = newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeDeleted(name, before); if (child != null) { children.add(child); } } return compose(children); }
@Override @CheckForNull public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) throws CommitFailedException { List<Editor> list = Lists.newArrayListWithCapacity(providers.size()); for (EditorProvider provider : providers) { Editor editor = provider.getRootEditor(before, after, builder, info); if (editor != null) { list.add(editor); } } return CompositeEditor.compose(list); }
@Override @Nullable public Editor getRootEditor( NodeState before, NodeState after, NodeBuilder builder, CommitInfo info) throws CommitFailedException { List<Editor> list = Lists.newArrayListWithCapacity(providers.size()); for (EditorProvider provider : providers) { Editor editor = provider.getRootEditor(before, after, builder, info); if (editor != null) { list.add(editor); } } return CompositeEditor.compose(list); }
@Override public Editor childNodeChanged( String name, NodeState before, NodeState after) throws CommitFailedException { List<Editor> list = Lists.newArrayListWithCapacity(editors.size()); for (Editor editor : editors) { Editor child = editor.childNodeChanged(name, before, after); if (child != null) { list.add(child); } } return compose(list); }
@Override public Editor getIndexEditor( @NotNull String type, @NotNull NodeBuilder builder, @NotNull NodeState root, @NotNull IndexUpdateCallback callback) throws CommitFailedException { List<Editor> indexes = Lists.newArrayList(); for (IndexEditorProvider provider : providers) { Editor e = provider.getIndexEditor(type, builder, root, callback); if (e != null) { indexes.add(e); } } return CompositeEditor.compose(indexes); } }
@Override public Editor getIndexEditor( @Nonnull String type, @Nonnull NodeBuilder builder, @Nonnull NodeState root, @Nonnull IndexUpdateCallback callback) throws CommitFailedException { List<Editor> indexes = Lists.newArrayList(); for (IndexEditorProvider provider : providers) { Editor e = provider.getIndexEditor(type, builder, root, callback); if (e != null) { indexes.add(e); } } return CompositeEditor.compose(indexes); } }
@Override @NotNull public Editor childNodeAdded(String name, NodeState after) throws CommitFailedException { List<Editor> children = newArrayListWithCapacity(1 + editors.size()); children.add(new IndexUpdate(this, name)); for (Editor editor : editors) { Editor child = editor.childNodeAdded(name, after); if (child != null) { children.add(child); } } return compose(children); }