Class ItemSynchronizer<LocalItem,​RemoteItem,​ItemId>


  • public abstract class ItemSynchronizer<LocalItem,​RemoteItem,​ItemId>
    extends java.lang.Object
    Since:
    9.0
    Author:
    Maxim.Manuylov Date: 21.11.2014
    • Constructor Detail

      • ItemSynchronizer

        public ItemSynchronizer()
    • Method Detail

      • getLocalItemId

        @Nullable
        protected abstract ItemId getLocalItemId​(@NotNull
                                                 LocalItem item)
      • getRemoteItemId

        @Nullable
        protected abstract ItemId getRemoteItemId​(@NotNull
                                                  RemoteItem item)
      • createItem

        @Nullable
        protected abstract LocalItem createItem​(@NotNull
                                                RemoteItem remoteItem,
                                                @NotNull
                                                ItemId itemId)
      • deleteItem

        protected abstract void deleteItem​(@NotNull
                                           LocalItem localItem,
                                           @NotNull
                                           ItemId itemId)
      • canCreateItems

        protected boolean canCreateItems()
      • canUpdateItems

        protected boolean canUpdateItems()
      • canDeleteItems

        protected boolean canDeleteItems()
      • canDeleteAllItems

        protected boolean canDeleteAllItems()
      • logRefusedToCreateItem

        protected void logRefusedToCreateItem​(@NotNull
                                              RemoteItem remoteItem,
                                              @NotNull
                                              ItemId itemId)
      • logRefusedToUpdateItem

        protected void logRefusedToUpdateItem​(@NotNull
                                              LocalItem localItem,
                                              @NotNull
                                              RemoteItem remoteItem,
                                              @NotNull
                                              ItemId itemId)
      • logRefusedToDeleteItem

        protected void logRefusedToDeleteItem​(@NotNull
                                              LocalItem localItem,
                                              @NotNull
                                              ItemId itemId)
      • logRefusedToDeleteAllItems

        protected void logRefusedToDeleteAllItems()
      • logWarn

        protected void logWarn​(@NotNull
                               java.lang.String message)
      • buildLocalItemIndex

        @NotNull
        protected java.util.Map<ItemId,​LocalItem> buildLocalItemIndex​(@NotNull
                                                                            java.util.Collection<LocalItem> localItems)
      • buildRemoteItemIndex

        @NotNull
        protected java.util.Map<ItemId,​RemoteItem> buildRemoteItemIndex​(@NotNull
                                                                              java.util.Collection<RemoteItem> remoteItems)
      • buildItemIndex

        @NotNull
        protected <Item,​ItemId> java.util.Map<ItemId,​Item> buildItemIndex​(@NotNull
                                                                                      java.util.Collection<Item> items,
                                                                                      @NotNull
                                                                                      Converter<ItemId,​Item> itemIdProvider)