# sprint-2 move GridCache to internal

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/b3d5eb60
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/b3d5eb60
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/b3d5eb60

Branch: refs/heads/ignite-368
Commit: b3d5eb607ee3bca2a3c0c53255c3675801011592
Parents: 0ab0a5a
Author: sboikov <sboi...@gridgain.com>
Authored: Mon Mar 16 10:46:53 2015 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Mon Mar 16 10:46:55 2015 +0300

----------------------------------------------------------------------
 .../rest/AbstractRestProcessorSelfTest.java     |   2 +-
 .../src/main/java/org/apache/ignite/Ignite.java |   2 +-
 .../java/org/apache/ignite/IgniteCache.java     |  38 ++--
 .../ignite/cache/CacheEntryProcessor.java       |  28 +++
 .../org/apache/ignite/cache/CacheImmutable.java |  45 ++++
 .../java/org/apache/ignite/cache/GridCache.java | 221 ------------------
 .../ignite/cache/IgniteEntryProcessor.java      |  28 ---
 .../apache/ignite/cache/IgniteImmutable.java    |  45 ----
 .../cache/store/CacheLoadOnlyStoreAdapter.java  |   6 +-
 .../configuration/CacheConfiguration.java       |   6 +-
 .../org/apache/ignite/internal/IgniteEx.java    |   3 +-
 .../apache/ignite/internal/IgniteKernal.java    |   1 -
 .../internal/processors/cache/GridCache.java    | 222 +++++++++++++++++++
 .../processors/cache/IgniteCacheProxy.java      |   4 +-
 .../cache/query/GridCacheQueryManager.java      |   1 -
 .../jdbc/GridCacheQueryJdbcMetadataTask.java    |   2 +-
 .../query/jdbc/GridCacheQueryJdbcTask.java      |   2 +-
 .../cacheobject/IgniteCacheObjectProcessor.java |   3 +-
 .../IgniteCacheObjectProcessorImpl.java         |   2 +-
 .../datastreamer/DataStreamerCacheUpdaters.java |  12 +-
 .../datastructures/DataStructuresProcessor.java |   1 -
 .../datastructures/GridCacheSetImpl.java        |   1 -
 .../processors/task/GridTaskProcessor.java      |   2 +-
 .../visor/cache/VisorCacheMetadataTask.java     |   1 +
 .../internal/visor/cache/VisorCacheMetrics.java |   1 +
 .../cache/VisorCacheMetricsCollectorTask.java   |   1 +
 .../visor/cache/VisorCachePreloadTask.java      |   1 +
 .../visor/cache/VisorCacheResetMetricsTask.java |   1 +
 .../visor/cache/VisorCacheSwapBackupsTask.java  |   1 +
 .../visor/node/VisorNodeDataCollectorJob.java   |   1 +
 .../org/apache/ignite/lang/IgnitePredicate.java |   4 +-
 .../ignite/startup/BasicWarmupClosure.java      |   1 +
 .../StreamerCacheAffinityEventRouter.java       |   2 +-
 .../TransactionSynchronization.java             |   2 +-
 .../ignite/igfs/IgfsFragmentizerSelfTest.java   |   1 +
 .../cache/GridCacheAbstractFullApiSelfTest.java |   8 +-
 .../cache/GridCacheClearLocalySelfTest.java     |  19 +-
 ...CacheFullTextQueryMultithreadedSelfTest.java |   1 -
 .../GridCacheOnCopyFlagAbstractSelfTest.java    |   4 +-
 .../GridCacheReturnValueTransferSelfTest.java   |   2 +-
 .../GridCacheNodeFailureAbstractTest.java       |   1 +
 ...GridCachePreloadRestartAbstractSelfTest.java |   1 +
 .../IgniteTxTimeoutAbstractTest.java            |   2 +-
 .../dht/GridCacheDhtPreloadSelfTest.java        |   1 +
 .../near/GridCacheNearEvictionSelfTest.java     |   1 +
 .../near/GridCacheNearMultiNodeSelfTest.java    |   1 +
 ...GridCachePartitionedFilteredPutSelfTest.java |   1 +
 ...achePartitionedPreloadLifecycleSelfTest.java |   1 +
 ...hePartitionedQueryMultiThreadedSelfTest.java |   1 +
 .../GridCacheReplicatedInvalidateSelfTest.java  |   2 +-
 ...CacheReplicatedPreloadLifecycleSelfTest.java |   1 +
 .../GridCacheSwapScanQueryAbstractSelfTest.java |   1 +
 ...dCacheAbstractReduceFieldsQuerySelfTest.java |   1 -
 .../processors/igfs/IgfsAbstractSelfTest.java   |   1 +
 .../igfs/IgfsDualAbstractSelfTest.java          |   1 +
 .../processors/igfs/IgfsProcessorSelfTest.java  |   1 +
 .../processors/igfs/IgfsStreamsSelfTest.java    |   1 +
 .../query/h2/GridH2IndexingGeoSelfTest.java     |   1 -
 .../igfs/HadoopIgfsDualAbstractSelfTest.java    |   1 +
 .../HadoopDefaultMapReducePlannerSelfTest.java  |   1 -
 .../HibernateAccessStrategyAdapter.java         |   1 -
 .../hibernate/HibernateCollectionRegion.java    |   2 +-
 .../cache/hibernate/HibernateEntityRegion.java  |   2 +-
 .../hibernate/HibernateGeneralDataRegion.java   |   2 +-
 .../hibernate/HibernateNaturalIdRegion.java     |   2 +-
 .../HibernateNonStrictAccessStrategy.java       |   2 +-
 .../hibernate/HibernateQueryResultsRegion.java  |   2 +-
 .../HibernateReadOnlyAccessStrategy.java        |   2 +-
 .../HibernateReadWriteAccessStrategy.java       |  34 +--
 .../ignite/cache/hibernate/HibernateRegion.java |   2 +-
 .../cache/hibernate/HibernateRegionFactory.java |   6 +-
 .../hibernate/HibernateTimestampsRegion.java    |   2 +-
 .../HibernateTransactionalAccessStrategy.java   |   4 +-
 .../HibernateTransactionalDataRegion.java       |   2 +-
 .../HibernateL2CacheConfigurationSelfTest.java  |   2 +-
 .../hibernate/HibernateL2CacheSelfTest.java     |   4 +-
 .../query/h2/sql/GridQueryParsingTest.java      |   1 +
 .../ignite/cache/spring/SpringCacheManager.java |   2 +-
 78 files changed, 419 insertions(+), 405 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
index 36e2b67..8e545f1 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
@@ -18,8 +18,8 @@
 package org.apache.ignite.internal.processors.rest;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/Ignite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/Ignite.java 
b/modules/core/src/main/java/org/apache/ignite/Ignite.java
index 3cbf503..2ae1bc8 100644
--- a/modules/core/src/main/java/org/apache/ignite/Ignite.java
+++ b/modules/core/src/main/java/org/apache/ignite/Ignite.java
@@ -41,7 +41,7 @@ import java.util.concurrent.*;
  * <p>
  * In addition to {@link ClusterGroup} functionality, from here you can get 
the following:
  * <ul>
- * <li>{@link org.apache.ignite.cache.GridCache} - functionality for in-memory 
distributed cache.</li>
+ * <li>{@link IgniteCache} - functionality for in-memory distributed 
cache.</li>
  * <li>{@link IgniteDataStreamer} - functionality for loading data large 
amounts of data into cache.</li>
  * <li>{@link IgniteFileSystem} - functionality for distributed 
Hadoop-compliant in-memory file system and map-reduce.</li>
  * <li>{@link IgniteStreamer} - functionality for streaming events workflow 
with queries and indexes into rolling windows.</li>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java 
b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
index 042d811..6b2f24c 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -435,7 +435,7 @@ public interface IgniteCache<K, V> extends 
javax.cache.Cache<K, V>, IgniteAsyncS
     @Override public <T> T invoke(K key, EntryProcessor<K, V, T> 
entryProcessor, Object... arguments);
 
     /**
-     * Invokes an {@link IgniteEntryProcessor} against the {@link Entry} 
specified by
+     * Invokes an {@link CacheEntryProcessor} against the {@link Entry} 
specified by
      * the provided key. If an {@link Entry} does not exist for the specified 
key,
      * an attempt is made to load it (if a loader is configured) or a surrogate
      * {@link Entry}, consisting of the key with a null value is used instead.
@@ -443,25 +443,25 @@ public interface IgniteCache<K, V> extends 
javax.cache.Cache<K, V>, IgniteAsyncS
      * <p>
      *
      * @param key            the key to the entry
-     * @param entryProcessor the {@link IgniteEntryProcessor} to invoke
+     * @param entryProcessor the {@link CacheEntryProcessor} to invoke
      * @param arguments      additional arguments to pass to the
-     *                       {@link IgniteEntryProcessor}
+     *                       {@link CacheEntryProcessor}
      * @return the result of the processing, if any, defined by the
-     *         {@link IgniteEntryProcessor} implementation
-     * @throws NullPointerException    if key or {@link IgniteEntryProcessor} 
is null
+     *         {@link CacheEntryProcessor} implementation
+     * @throws NullPointerException    if key or {@link CacheEntryProcessor} 
is null
      * @throws IllegalStateException   if the cache is {@link #isClosed()}
      * @throws ClassCastException    if the implementation is configured to 
perform
      *                               runtime-type-checking, and the key or 
value
      *                               types are incompatible with those that 
have been
      *                               configured for the {@link Cache}
      * @throws EntryProcessorException if an exception is thrown by the {@link
-     *                                 IgniteEntryProcessor}, a Caching 
Implementation
+     *                                 CacheEntryProcessor}, a Caching 
Implementation
      *                                 must wrap any {@link Exception} thrown
      *                                 wrapped in an {@link 
EntryProcessorException}.
-     * @see IgniteEntryProcessor
+     * @see CacheEntryProcessor
      */
     @IgniteAsyncSupported
-    public <T> T invoke(K key, IgniteEntryProcessor<K, V, T> entryProcessor, 
Object... arguments);
+    public <T> T invoke(K key, CacheEntryProcessor<K, V, T> entryProcessor, 
Object... arguments);
 
     /** {@inheritDoc} */
     @IgniteAsyncSupported
@@ -469,7 +469,7 @@ public interface IgniteCache<K, V> extends 
javax.cache.Cache<K, V>, IgniteAsyncS
         EntryProcessor<K, V, T> entryProcessor, Object... args);
 
     /**
-     * Invokes an {@link IgniteEntryProcessor} against the set of {@link 
Entry}s
+     * Invokes an {@link CacheEntryProcessor} against the set of {@link Entry}s
      * specified by the set of keys.
      * <p>
      * If an {@link Entry} does not exist for the specified key, an attempt is 
made
@@ -479,34 +479,34 @@ public interface IgniteCache<K, V> extends 
javax.cache.Cache<K, V>, IgniteAsyncS
      * The order that the entries for the keys are processed is undefined.
      * Implementations may choose to process the entries in any order, 
including
      * concurrently.  Furthermore there is no guarantee implementations will
-     * use the same {@link IgniteEntryProcessor} instance to process each 
entry, as
+     * use the same {@link CacheEntryProcessor} instance to process each 
entry, as
      * the case may be in a non-local cache topology.
      * <p>
-     * The result of executing the {@link IgniteEntryProcessor} is returned as 
a
+     * The result of executing the {@link CacheEntryProcessor} is returned as a
      * {@link Map} of {@link EntryProcessorResult}s, one result per key.  
Should the
-     * {@link IgniteEntryProcessor} or Caching implementation throw an 
exception, the
+     * {@link CacheEntryProcessor} or Caching implementation throw an 
exception, the
      * exception is wrapped and re-thrown when a call to
      * {@link javax.cache.processor.EntryProcessorResult#get()} is made.
      *
      * @param keys           the set of keys for entries to process
-     * @param entryProcessor the {@link IgniteEntryProcessor} to invoke
+     * @param entryProcessor the {@link CacheEntryProcessor} to invoke
      * @param args      additional arguments to pass to the
-     *                       {@link IgniteEntryProcessor}
+     *                       {@link CacheEntryProcessor}
      * @return the map of {@link EntryProcessorResult}s of the processing per 
key,
-     * if any, defined by the {@link IgniteEntryProcessor} implementation.  No 
mappings
-     * will be returned for {@link IgniteEntryProcessor}s that return a
+     * if any, defined by the {@link CacheEntryProcessor} implementation.  No 
mappings
+     * will be returned for {@link CacheEntryProcessor}s that return a
      * <code>null</code> value for a key.
-     * @throws NullPointerException    if keys or {@link IgniteEntryProcessor} 
are null
+     * @throws NullPointerException    if keys or {@link CacheEntryProcessor} 
are null
      * @throws IllegalStateException   if the cache is {@link #isClosed()}
      * @throws ClassCastException    if the implementation is configured to 
perform
      *                               runtime-type-checking, and the key or 
value
      *                               types are incompatible with those that 
have been
      *                               configured for the {@link Cache}
-     * @see IgniteEntryProcessor
+     * @see CacheEntryProcessor
      */
     @IgniteAsyncSupported
     public <T> Map<K, EntryProcessorResult<T>> invokeAll(Set<? extends K> keys,
-        IgniteEntryProcessor<K, V, T> entryProcessor, Object... args);
+        CacheEntryProcessor<K, V, T> entryProcessor, Object... args);
 
     /**
      * This cache node to re-balance its partitions. This method is usually 
used when

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/cache/CacheEntryProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/CacheEntryProcessor.java 
b/modules/core/src/main/java/org/apache/ignite/cache/CacheEntryProcessor.java
new file mode 100644
index 0000000..5969586
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/CacheEntryProcessor.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.cache;
+
+import javax.cache.processor.*;
+import java.io.*;
+
+/**
+ * This processor adds {@link Serializable} interface to {@link 
EntryProcessor} object.
+ */
+public interface CacheEntryProcessor<K, V, T> extends EntryProcessor<K, V, T>, 
Serializable {
+    // No-op.
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/cache/CacheImmutable.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/CacheImmutable.java 
b/modules/core/src/main/java/org/apache/ignite/cache/CacheImmutable.java
new file mode 100644
index 0000000..42bfaa0
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheImmutable.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.cache;
+
+import org.apache.ignite.configuration.*;
+
+import java.lang.annotation.*;
+
+/**
+ * If cache configuration flag {@link CacheConfiguration#isCopyOnRead()} is set
+ * then for each operation implying return value copy of the value stored in 
cache is created.
+ * Also if this flag is set copies are created for values passed to {@link 
CacheInterceptor} and
+ * to {@link CacheEntryProcessor}.
+ * <p>
+ * Copies are not created for types marked with {@link CacheImmutable} 
annotation and for known
+ * immutable types:
+ * <ul>
+ *     <li>Boxed primitives ({@link Integer}, {@link Long}, ...)</li>
+ *     <li>{@link String}</li>
+ *     <li>{@link java.util.UUID}</li>
+ *     <li>{@link java.math.BigDecimal}</li>
+ *     <li>{@link org.apache.ignite.lang.IgniteUuid}</li>
+ * </ul>
+ */
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface CacheImmutable {
+    // No-op.
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java 
b/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java
deleted file mode 100644
index 71debac..0000000
--- a/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.affinity.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.mxbean.*;
-import org.apache.ignite.transactions.*;
-import org.jetbrains.annotations.*;
-
-import javax.cache.*;
-import java.util.*;
-
-/**
- * Main entry point for all <b>Data Grid APIs.</b> You can get a named cache 
by calling {@link org.apache.ignite.Ignite#cache(String)}
- * method.
- * <h1 class="header">Functionality</h1>
- * This API extends {@link CacheProjection} API which contains vast majority 
of cache functionality
- * and documentation. In addition to {@link CacheProjection} functionality 
this API provides:
- * <ul>
- * <li>
- *  Various {@code 'loadCache(..)'} methods to load cache either synchronously 
or asynchronously.
- *  These methods don't specify any keys to load, and leave it to the 
underlying storage to load cache
- *  data based on the optionally passed in arguments.
- * </li>
- * <li>
- *     Method {@link #affinity()} provides {@link 
org.apache.ignite.cache.affinity.CacheAffinityFunction} service for information 
on
- *     data partitioning and mapping keys to grid nodes responsible for 
caching those keys.
- * </li>
- * <li>
- *  Methods like {@code 'tx{Un}Synchronize(..)'} witch allow to get 
notifications for transaction state changes.
- *  This feature is very useful when integrating cache transactions with some 
other in-house transactions.
- * </li>
- * <li>Method {@link #metrics()} to provide metrics for the whole cache.</li>
- * <li>Method {@link #configuration()} to provide cache configuration 
bean.</li>
- * </ul>
- *
- * @param <K> Cache key type.
- * @param <V> Cache value type.
- */
-public interface GridCache<K, V> extends CacheProjection<K, V> {
-    /**
-     * Gets configuration bean for this cache.
-     *
-     * @return Configuration bean for this cache.
-     */
-    public CacheConfiguration configuration();
-
-    /**
-     * Registers transactions synchronizations for all transactions started by 
this cache.
-     * Use it whenever you need to get notifications on transaction lifecycle 
and possibly change
-     * its course. It is also particularly useful when integrating cache 
transactions
-     * with some other in-house transactions.
-     *
-     * @param syncs Transaction synchronizations to register.
-     */
-    public void txSynchronize(@Nullable TransactionSynchronization syncs);
-
-    /**
-     * Removes transaction synchronizations.
-     *
-     * @param syncs Transactions synchronizations to remove.
-     * @see #txSynchronize(TransactionSynchronization)
-     */
-    public void txUnsynchronize(@Nullable TransactionSynchronization syncs);
-
-    /**
-     * Gets registered transaction synchronizations.
-     *
-     * @return Registered transaction synchronizations.
-     * @see #txSynchronize(TransactionSynchronization)
-     */
-    public Collection<TransactionSynchronization> txSynchronizations();
-
-    /**
-     * Gets affinity service to provide information about data partitioning
-     * and distribution.
-     *
-     * @return Cache data affinity service.
-     */
-    public CacheAffinity<K> affinity();
-
-    /**
-     * Gets metrics (statistics) for this cache.
-     *
-     * @return Cache metrics.
-     */
-    public CacheMetrics metrics();
-
-    /**
-     * Gets metrics (statistics) for this cache.
-     *
-     * @return Cache metrics.
-     */
-    public CacheMetricsMXBean mxBean();
-
-    /**
-     * Gets size (in bytes) of all entries swapped to disk.
-     *
-     * @return Size (in bytes) of all entries swapped to disk.
-     * @throws IgniteCheckedException In case of error.
-     */
-    public long overflowSize() throws IgniteCheckedException;
-
-    /**
-     * Gets number of cache entries stored in off-heap memory.
-     *
-     * @return Number of cache entries stored in off-heap memory.
-     */
-    public long offHeapEntriesCount();
-
-    /**
-     * Gets memory size allocated in off-heap.
-     *
-     * @return Allocated memory size.
-     */
-    public long offHeapAllocatedSize();
-
-    /**
-     * Gets size in bytes for swap space.
-     *
-     * @return Size in bytes.
-     * @throws IgniteCheckedException If failed.
-     */
-    public long swapSize() throws IgniteCheckedException;
-
-    /**
-     * Gets number of swap entries (keys).
-     *
-     * @return Number of entries stored in swap.
-     * @throws IgniteCheckedException If failed.
-     */
-    public long swapKeys() throws IgniteCheckedException;
-
-    /**
-     * Gets iterator over keys and values belonging to this cache swap space 
on local node. This
-     * iterator is thread-safe, which means that cache (and therefore its swap 
space)
-     * may be modified concurrently with iteration over swap.
-     * <p>
-     * Returned iterator supports {@code remove} operation which delegates to
-     * {@link #removex(Object, org.apache.ignite.lang.IgnitePredicate[])} 
method.
-     * <h2 class="header">Cache Flags</h2>
-     * This method is not available if any of the following flags are set on 
projection:
-     * {@link org.apache.ignite.internal.processors.cache.CacheFlag#SKIP_SWAP}.
-     *
-     * @return Iterator over keys.
-     * @throws IgniteCheckedException If failed.
-     * @see #promote(Object)
-     */
-    public Iterator<Map.Entry<K, V>> swapIterator() throws 
IgniteCheckedException;
-
-    /**
-     * Gets iterator over keys and values belonging to this cache off-heap 
memory on local node. This
-     * iterator is thread-safe, which means that cache (and therefore its 
off-heap memory)
-     * may be modified concurrently with iteration over off-heap. To achieve 
better performance
-     * the keys and values deserialized on demand, whenever accessed.
-     * <p>
-     * Returned iterator supports {@code remove} operation which delegates to
-     * {@link #removex(Object, org.apache.ignite.lang.IgnitePredicate[])} 
method.
-     *
-     * @return Iterator over keys.
-     * @throws IgniteCheckedException If failed.
-     */
-    public Iterator<Map.Entry<K, V>> offHeapIterator() throws 
IgniteCheckedException;
-
-    /**
-     * Gets a random entry out of cache. In the worst cache scenario this 
method
-     * has complexity of <pre>O(S * N/64)</pre> where {@code N} is the size of 
internal hash
-     * table and {@code S} is the number of hash table buckets to sample, 
which is {@code 5}
-     * by default. However, if the table is pretty dense, with density factor 
of {@code N/64},
-     * which is true for near fully populated caches, this method will 
generally perform significantly
-     * faster with complexity of O(S) where {@code S = 5}.
-     * <p>
-     * Note that this method is not available on {@link CacheProjection} API 
since it is
-     * impossible (or very hard) to deterministically return a number value 
when pre-filtering
-     * and post-filtering is involved (e.g. projection level predicate 
filters).
-     *
-     * @return Random entry, or {@code null} if cache is empty.
-     */
-    @Nullable public Cache.Entry<K, V> randomEntry();
-
-    /**
-     * Forces this cache node to re-balance its partitions. This method is 
usually used when
-     * {@link CacheConfiguration#getRebalanceDelay()} configuration parameter 
has non-zero value.
-     * When many nodes are started or stopped almost concurrently, it is more 
efficient to delay
-     * rebalancing until the node topology is stable to make sure that no 
redundant re-partitioning
-     * happens.
-     * <p>
-     * In case of{@link CacheMode#PARTITIONED} caches, for better efficiency 
user should
-     * usually make sure that new nodes get placed on the same place of 
consistent hash ring as
-     * the left nodes, and that nodes are restarted before
-     * {@link CacheConfiguration#getRebalanceDelay() rebalanceDelay} expires. 
To place nodes
-     * on the same place in consistent hash ring, use
-     * {@link 
org.apache.ignite.cache.affinity.rendezvous.CacheRendezvousAffinityFunction#setHashIdResolver(CacheAffinityNodeHashResolver)}
 to make sure that
-     * a node maps to the same hash ID if re-started.
-     * <p>
-     * See {@link 
org.apache.ignite.configuration.CacheConfiguration#getRebalanceDelay()} for 
more information on how to configure
-     * rebalance re-partition delay.
-     * <p>
-     * @return Future that will be completed when rebalancing is finished.
-     */
-    public IgniteInternalFuture<?> forceRepartition();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/cache/IgniteEntryProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/IgniteEntryProcessor.java 
b/modules/core/src/main/java/org/apache/ignite/cache/IgniteEntryProcessor.java
deleted file mode 100644
index 727433b..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/IgniteEntryProcessor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.cache;
-
-import javax.cache.processor.*;
-import java.io.*;
-
-/**
- * This processor adds {@link Serializable} interface to {@link 
EntryProcessor} object.
- */
-public interface IgniteEntryProcessor<K, V, T> extends EntryProcessor<K, V, 
T>, Serializable {
-    // No-op.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/cache/IgniteImmutable.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/IgniteImmutable.java 
b/modules/core/src/main/java/org/apache/ignite/cache/IgniteImmutable.java
deleted file mode 100644
index 4a389c0..0000000
--- a/modules/core/src/main/java/org/apache/ignite/cache/IgniteImmutable.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.cache;
-
-import org.apache.ignite.configuration.*;
-
-import java.lang.annotation.*;
-
-/**
- * If cache configuration flag {@link CacheConfiguration#isCopyOnRead()} is set
- * then for each operation implying return value copy of the value stored in 
cache is created.
- * Also if this flag is set copies are created for values passed to {@link 
CacheInterceptor} and
- * to {@link org.apache.ignite.cache.IgniteEntryProcessor}.
- * <p>
- * Copies are not created for types marked with {@link IgniteImmutable} 
annotation and for known
- * immutable types:
- * <ul>
- *     <li>Boxed primitives ({@link Integer}, {@link Long}, ...)</li>
- *     <li>{@link String}</li>
- *     <li>{@link java.util.UUID}</li>
- *     <li>{@link java.math.BigDecimal}</li>
- *     <li>{@link org.apache.ignite.lang.IgniteUuid}</li>
- * </ul>
- */
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-public @interface IgniteImmutable {
-    // No-op.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/cache/store/CacheLoadOnlyStoreAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheLoadOnlyStoreAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheLoadOnlyStoreAdapter.java
index b4bcd6c..2fb70a6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheLoadOnlyStoreAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheLoadOnlyStoreAdapter.java
@@ -100,7 +100,7 @@ public abstract class CacheLoadOnlyStoreAdapter<K, V, I> 
implements CacheStore<K
      * Note that returned iterator doesn't have to be thread-safe. Thus it 
could
      * operate on raw streams, DB connections, etc. without additional 
synchronization.
      *
-     * @param args Arguments passes into {@link 
org.apache.ignite.cache.GridCache#loadCache(IgniteBiPredicate, long, 
Object...)} method.
+     * @param args Arguments passes into {@link 
org.apache.ignite.internal.processors.cache.GridCache#loadCache(IgniteBiPredicate,
 long, Object...)} method.
      * @return Iterator over input records.
      * @throws CacheLoaderException If iterator can't be created with the 
given arguments.
      */
@@ -113,7 +113,7 @@ public abstract class CacheLoadOnlyStoreAdapter<K, V, I> 
implements CacheStore<K
      * If {@code null} is returned then this record will be just skipped.
      *
      * @param rec A raw data record.
-     * @param args Arguments passed into {@link 
org.apache.ignite.cache.GridCache#loadCache(IgniteBiPredicate, long, 
Object...)} method.
+     * @param args Arguments passed into {@link 
org.apache.ignite.internal.processors.cache.GridCache#loadCache(IgniteBiPredicate,
 long, Object...)} method.
      * @return Cache entry to be saved in cache or {@code null} if no entry 
could be produced from this record.
      */
     @Nullable protected abstract IgniteBiTuple<K, V> parse(I rec, @Nullable 
Object... args);
@@ -275,7 +275,7 @@ public abstract class CacheLoadOnlyStoreAdapter<K, V, I> 
implements CacheStore<K
         /**
          * @param c Closure for loaded entries.
          * @param buf Set of input records to process.
-         * @param args Arguments passed into {@link 
org.apache.ignite.cache.GridCache#loadCache(IgniteBiPredicate, long, 
Object...)} method.
+         * @param args Arguments passed into {@link 
org.apache.ignite.internal.processors.cache.GridCache#loadCache(IgniteBiPredicate,
 long, Object...)} method.
          */
         Worker(IgniteBiInClosure<K, V> c, Collection<I> buf, Object[] args) {
             this.c = c;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
index 7bb32c6..24ab2c5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
@@ -1604,12 +1604,12 @@ public class CacheConfiguration<K, V> extends 
MutableConfiguration<K, V> {
     /**
      * Gets flag indicating whether copy of of the value stored in cache 
should be created
      * for cache operation implying return value. Also if this flag is set 
copies are created for values
-     * passed to {@link CacheInterceptor} and to {@link 
org.apache.ignite.cache.IgniteEntryProcessor}.
+     * passed to {@link CacheInterceptor} and to {@link CacheEntryProcessor}.
      * <p>
-     * Copies are not created for immutable types, see {@link IgniteImmutable}.
+     * Copies are not created for immutable types, see {@link CacheImmutable}.
      *
      * @return Copy on get flag.
-     * @see IgniteImmutable
+     * @see CacheImmutable
      */
     public boolean isCopyOnRead() {
         return cpOnRead;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
index 3ede8d5..d69ca6e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.internal.cluster.*;
 import org.apache.ignite.internal.processors.cache.*;
@@ -54,7 +53,7 @@ public interface IgniteEx extends Ignite {
 
     /**
      * Gets default cache instance if one is configured or <tt>null</tt> 
otherwise returning even non-public caches.
-     * The {@link org.apache.ignite.cache.GridCache#name()} method on default 
instance returns <tt>null</tt>.
+     * The {@link 
org.apache.ignite.internal.processors.cache.GridCache#name()} method on default 
instance returns <tt>null</tt>.
      *
      * @param <K> Key type.
      * @param <V> Value type.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 5e08298..22b37bd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.affinity.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCache.java
new file mode 100644
index 0000000..7dbc05a
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCache.java
@@ -0,0 +1,222 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
+import org.apache.ignite.cache.affinity.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
+import org.apache.ignite.mxbean.*;
+import org.apache.ignite.transactions.*;
+import org.jetbrains.annotations.*;
+
+import javax.cache.*;
+import java.util.*;
+
+/**
+ * Main entry point for all <b>Data Grid APIs.</b> You can get a named cache 
by calling {@link org.apache.ignite.Ignite#cache(String)}
+ * method.
+ * <h1 class="header">Functionality</h1>
+ * This API extends {@link CacheProjection} API which contains vast majority 
of cache functionality
+ * and documentation. In addition to {@link CacheProjection} functionality 
this API provides:
+ * <ul>
+ * <li>
+ *  Various {@code 'loadCache(..)'} methods to load cache either synchronously 
or asynchronously.
+ *  These methods don't specify any keys to load, and leave it to the 
underlying storage to load cache
+ *  data based on the optionally passed in arguments.
+ * </li>
+ * <li>
+ *     Method {@link #affinity()} provides {@link 
org.apache.ignite.cache.affinity.CacheAffinityFunction} service for information 
on
+ *     data partitioning and mapping keys to grid nodes responsible for 
caching those keys.
+ * </li>
+ * <li>
+ *  Methods like {@code 'tx{Un}Synchronize(..)'} witch allow to get 
notifications for transaction state changes.
+ *  This feature is very useful when integrating cache transactions with some 
other in-house transactions.
+ * </li>
+ * <li>Method {@link #metrics()} to provide metrics for the whole cache.</li>
+ * <li>Method {@link #configuration()} to provide cache configuration 
bean.</li>
+ * </ul>
+ *
+ * @param <K> Cache key type.
+ * @param <V> Cache value type.
+ */
+public interface GridCache<K, V> extends CacheProjection<K, V> {
+    /**
+     * Gets configuration bean for this cache.
+     *
+     * @return Configuration bean for this cache.
+     */
+    public CacheConfiguration configuration();
+
+    /**
+     * Registers transactions synchronizations for all transactions started by 
this cache.
+     * Use it whenever you need to get notifications on transaction lifecycle 
and possibly change
+     * its course. It is also particularly useful when integrating cache 
transactions
+     * with some other in-house transactions.
+     *
+     * @param syncs Transaction synchronizations to register.
+     */
+    public void txSynchronize(@Nullable TransactionSynchronization syncs);
+
+    /**
+     * Removes transaction synchronizations.
+     *
+     * @param syncs Transactions synchronizations to remove.
+     * @see #txSynchronize(TransactionSynchronization)
+     */
+    public void txUnsynchronize(@Nullable TransactionSynchronization syncs);
+
+    /**
+     * Gets registered transaction synchronizations.
+     *
+     * @return Registered transaction synchronizations.
+     * @see #txSynchronize(TransactionSynchronization)
+     */
+    public Collection<TransactionSynchronization> txSynchronizations();
+
+    /**
+     * Gets affinity service to provide information about data partitioning
+     * and distribution.
+     *
+     * @return Cache data affinity service.
+     */
+    public CacheAffinity<K> affinity();
+
+    /**
+     * Gets metrics (statistics) for this cache.
+     *
+     * @return Cache metrics.
+     */
+    public CacheMetrics metrics();
+
+    /**
+     * Gets metrics (statistics) for this cache.
+     *
+     * @return Cache metrics.
+     */
+    public CacheMetricsMXBean mxBean();
+
+    /**
+     * Gets size (in bytes) of all entries swapped to disk.
+     *
+     * @return Size (in bytes) of all entries swapped to disk.
+     * @throws IgniteCheckedException In case of error.
+     */
+    public long overflowSize() throws IgniteCheckedException;
+
+    /**
+     * Gets number of cache entries stored in off-heap memory.
+     *
+     * @return Number of cache entries stored in off-heap memory.
+     */
+    public long offHeapEntriesCount();
+
+    /**
+     * Gets memory size allocated in off-heap.
+     *
+     * @return Allocated memory size.
+     */
+    public long offHeapAllocatedSize();
+
+    /**
+     * Gets size in bytes for swap space.
+     *
+     * @return Size in bytes.
+     * @throws IgniteCheckedException If failed.
+     */
+    public long swapSize() throws IgniteCheckedException;
+
+    /**
+     * Gets number of swap entries (keys).
+     *
+     * @return Number of entries stored in swap.
+     * @throws IgniteCheckedException If failed.
+     */
+    public long swapKeys() throws IgniteCheckedException;
+
+    /**
+     * Gets iterator over keys and values belonging to this cache swap space 
on local node. This
+     * iterator is thread-safe, which means that cache (and therefore its swap 
space)
+     * may be modified concurrently with iteration over swap.
+     * <p>
+     * Returned iterator supports {@code remove} operation which delegates to
+     * {@link #removex(Object, org.apache.ignite.lang.IgnitePredicate[])} 
method.
+     * <h2 class="header">Cache Flags</h2>
+     * This method is not available if any of the following flags are set on 
projection:
+     * {@link org.apache.ignite.internal.processors.cache.CacheFlag#SKIP_SWAP}.
+     *
+     * @return Iterator over keys.
+     * @throws IgniteCheckedException If failed.
+     * @see #promote(Object)
+     */
+    public Iterator<Map.Entry<K, V>> swapIterator() throws 
IgniteCheckedException;
+
+    /**
+     * Gets iterator over keys and values belonging to this cache off-heap 
memory on local node. This
+     * iterator is thread-safe, which means that cache (and therefore its 
off-heap memory)
+     * may be modified concurrently with iteration over off-heap. To achieve 
better performance
+     * the keys and values deserialized on demand, whenever accessed.
+     * <p>
+     * Returned iterator supports {@code remove} operation which delegates to
+     * {@link #removex(Object, org.apache.ignite.lang.IgnitePredicate[])} 
method.
+     *
+     * @return Iterator over keys.
+     * @throws IgniteCheckedException If failed.
+     */
+    public Iterator<Map.Entry<K, V>> offHeapIterator() throws 
IgniteCheckedException;
+
+    /**
+     * Gets a random entry out of cache. In the worst cache scenario this 
method
+     * has complexity of <pre>O(S * N/64)</pre> where {@code N} is the size of 
internal hash
+     * table and {@code S} is the number of hash table buckets to sample, 
which is {@code 5}
+     * by default. However, if the table is pretty dense, with density factor 
of {@code N/64},
+     * which is true for near fully populated caches, this method will 
generally perform significantly
+     * faster with complexity of O(S) where {@code S = 5}.
+     * <p>
+     * Note that this method is not available on {@link CacheProjection} API 
since it is
+     * impossible (or very hard) to deterministically return a number value 
when pre-filtering
+     * and post-filtering is involved (e.g. projection level predicate 
filters).
+     *
+     * @return Random entry, or {@code null} if cache is empty.
+     */
+    @Nullable public Cache.Entry<K, V> randomEntry();
+
+    /**
+     * Forces this cache node to re-balance its partitions. This method is 
usually used when
+     * {@link CacheConfiguration#getRebalanceDelay()} configuration parameter 
has non-zero value.
+     * When many nodes are started or stopped almost concurrently, it is more 
efficient to delay
+     * rebalancing until the node topology is stable to make sure that no 
redundant re-partitioning
+     * happens.
+     * <p>
+     * In case of{@link CacheMode#PARTITIONED} caches, for better efficiency 
user should
+     * usually make sure that new nodes get placed on the same place of 
consistent hash ring as
+     * the left nodes, and that nodes are restarted before
+     * {@link CacheConfiguration#getRebalanceDelay() rebalanceDelay} expires. 
To place nodes
+     * on the same place in consistent hash ring, use
+     * {@link 
org.apache.ignite.cache.affinity.rendezvous.CacheRendezvousAffinityFunction#setHashIdResolver(CacheAffinityNodeHashResolver)}
 to make sure that
+     * a node maps to the same hash ID if re-started.
+     * <p>
+     * See {@link 
org.apache.ignite.configuration.CacheConfiguration#getRebalanceDelay()} for 
more information on how to configure
+     * rebalance re-partition delay.
+     * <p>
+     * @return Future that will be completed when rebalancing is finished.
+     */
+    public IgniteInternalFuture<?> forceRepartition();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
index d966ae1..b1b24d5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
@@ -1160,7 +1160,7 @@ public class IgniteCacheProxy<K, V> extends 
AsyncSupportAdapter<IgniteCache<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public <T> T invoke(K key, IgniteEntryProcessor<K, V, T> 
entryProcessor, Object... args)
+    @Override public <T> T invoke(K key, CacheEntryProcessor<K, V, T> 
entryProcessor, Object... args)
         throws EntryProcessorException {
         try {
             GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
@@ -1224,7 +1224,7 @@ public class IgniteCacheProxy<K, V> extends 
AsyncSupportAdapter<IgniteCache<K, V
 
     /** {@inheritDoc} */
     @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(Set<? 
extends K> keys,
-        IgniteEntryProcessor<K, V, T> entryProcessor,
+        CacheEntryProcessor<K, V, T> entryProcessor,
         Object... args) {
         try {
             GridCacheProjectionImpl<K, V> prev = gate.enter(prj);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
index da75742..f7ec1e1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.cache.query;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.query.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcMetadataTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcMetadataTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcMetadataTask.java
index 43dc81f..014192b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcMetadataTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcMetadataTask.java
@@ -18,10 +18,10 @@
 package org.apache.ignite.internal.processors.cache.query.jdbc;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.cache.query.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcTask.java
index 02fe066..02cd295 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcTask.java
@@ -18,10 +18,10 @@
 package org.apache.ignite.internal.processors.cache.query.jdbc;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.cache.query.*;
 import org.apache.ignite.internal.processors.query.*;
 import org.apache.ignite.internal.util.lang.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
index ce2c579..002b28e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.cacheobject;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.internal.processors.*;
 import org.apache.ignite.internal.processors.cache.*;
@@ -148,7 +147,7 @@ public interface IgniteCacheObjectProcessor extends 
GridProcessor {
     /**
      * @param obj Value.
      * @return {@code True} if object is of known immutable type of it is 
marked
-     *          with {@link IgniteImmutable} annotation.
+     *          with {@link org.apache.ignite.cache.CacheImmutable} annotation.
      */
     public boolean immutable(Object obj);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
index 1966a21..fb89500 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
@@ -297,7 +297,7 @@ public class IgniteCacheObjectProcessorImpl extends 
GridProcessorAdapter impleme
         if (immutable != null)
             return immutable;
 
-        immutable = IgniteUtils.hasAnnotation(cls, IgniteImmutable.class);
+        immutable = IgniteUtils.hasAnnotation(cls, CacheImmutable.class);
 
         reflectionCache.putIfAbsent(cls, immutable);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerCacheUpdaters.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerCacheUpdaters.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerCacheUpdaters.java
index 6ed8516..0f8ca6a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerCacheUpdaters.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerCacheUpdaters.java
@@ -38,8 +38,8 @@ public class DataStreamerCacheUpdaters {
     private static final IgniteDataStreamer.Updater BATCHED_SORTED = new 
BatchedSorted();
 
     /**
-     * Updates cache using independent {@link 
org.apache.ignite.cache.GridCache#put(Object, Object, 
org.apache.ignite.lang.IgnitePredicate[])} and
-     * {@link org.apache.ignite.cache.GridCache#remove(Object, 
org.apache.ignite.lang.IgnitePredicate[])} operations. Thus it is safe from 
deadlocks but performance
+     * Updates cache using independent {@link 
org.apache.ignite.internal.processors.cache.GridCache#put(Object, Object, 
org.apache.ignite.lang.IgnitePredicate[])} and
+     * {@link 
org.apache.ignite.internal.processors.cache.GridCache#remove(Object, 
org.apache.ignite.lang.IgnitePredicate[])} operations. Thus it is safe from 
deadlocks but performance
      * is not the best.
      *
      * @return Single updater.
@@ -49,8 +49,8 @@ public class DataStreamerCacheUpdaters {
     }
 
     /**
-     * Updates cache using batched methods {@link 
org.apache.ignite.cache.GridCache#putAll(Map, 
org.apache.ignite.lang.IgnitePredicate[])} and
-     * {@link org.apache.ignite.cache.GridCache#removeAll(Collection, 
org.apache.ignite.lang.IgnitePredicate[])}. Can cause deadlocks if the same 
keys are getting
+     * Updates cache using batched methods {@link 
org.apache.ignite.internal.processors.cache.GridCache#putAll(Map, 
org.apache.ignite.lang.IgnitePredicate[])} and
+     * {@link 
org.apache.ignite.internal.processors.cache.GridCache#removeAll(Collection, 
org.apache.ignite.lang.IgnitePredicate[])}. Can cause deadlocks if the same 
keys are getting
      * updated concurrently. Performance is generally better than in {@link 
#individual()}.
      *
      * @return Batched updater.
@@ -60,8 +60,8 @@ public class DataStreamerCacheUpdaters {
     }
 
     /**
-     * Updates cache using batched methods {@link 
org.apache.ignite.cache.GridCache#putAll(Map, 
org.apache.ignite.lang.IgnitePredicate[])} and
-     * {@link org.apache.ignite.cache.GridCache#removeAll(Collection, 
org.apache.ignite.lang.IgnitePredicate[])}. Keys are sorted in natural order 
and if all updates
+     * Updates cache using batched methods {@link 
org.apache.ignite.internal.processors.cache.GridCache#putAll(Map, 
org.apache.ignite.lang.IgnitePredicate[])} and
+     * {@link 
org.apache.ignite.internal.processors.cache.GridCache#removeAll(Collection, 
org.apache.ignite.lang.IgnitePredicate[])}. Keys are sorted in natural order 
and if all updates
      * use the same rule deadlock can not happen. Performance is generally 
better than in {@link #individual()}.
      *
      * @return Batched sorted updater.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
index d5641df..b55bafa 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.datastructures;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
 import org.apache.ignite.internal.cluster.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheSetImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheSetImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheSetImpl.java
index 72b8dd6..0e59985 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheSetImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheSetImpl.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.datastructures;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.affinity.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.internal.processors.cache.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
index 66ce261..a686d37 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.task;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.events.*;
@@ -28,6 +27,7 @@ import org.apache.ignite.internal.managers.communication.*;
 import org.apache.ignite.internal.managers.deployment.*;
 import org.apache.ignite.internal.managers.eventstorage.*;
 import org.apache.ignite.internal.processors.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.lang.*;
 import org.apache.ignite.internal.util.typedef.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
index cf19734..708a9d3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.visor.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.cache.query.*;
 import org.apache.ignite.internal.processors.task.*;
 import org.apache.ignite.internal.util.typedef.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java
index be44520..77db2f4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.visor.cache;
 
 import org.apache.ignite.cache.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 
 import java.io.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
index 2062727..060d1e5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.visor.cache;
 
 import org.apache.ignite.cache.*;
 import org.apache.ignite.compute.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.task.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java
index 86b31b0..85e3342 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.visor.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.task.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.internal.visor.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
index 11423a3..b665855 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.visor.cache;
 
 import org.apache.ignite.cache.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.task.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.internal.visor.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java
index c2d8d55..2e8cea5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java
@@ -21,6 +21,7 @@ import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.affinity.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.task.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.internal.visor.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
index b86ea5a..022d9ac 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
@@ -21,6 +21,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.igfs.*;
 import org.apache.ignite.internal.util.ipc.*;
 import org.apache.ignite.internal.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/lang/IgnitePredicate.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/lang/IgnitePredicate.java 
b/modules/core/src/main/java/org/apache/ignite/lang/IgnitePredicate.java
index abf14f4..8572885 100644
--- a/modules/core/src/main/java/org/apache/ignite/lang/IgnitePredicate.java
+++ b/modules/core/src/main/java/org/apache/ignite/lang/IgnitePredicate.java
@@ -21,9 +21,7 @@ import java.io.*;
 
 /**
  * Defines a predicate which accepts a parameter and returns {@code true} or 
{@code false}. In
- * Ignite, predicates are generally used for filtering nodes within grid 
projections, or for
- * providing atomic filters when performing cache operation, like in
- * {@link org.apache.ignite.cache.GridCache#put(Object, Object, 
IgnitePredicate[])} method.
+ * Ignite, predicates are generally used for filtering nodes within grid 
projections.
  *
  * @param <E> Type of predicate parameter.
  */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java 
b/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java
index bce5379..ecfe7c8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java
@@ -21,6 +21,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.lang.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/streamer/router/StreamerCacheAffinityEventRouter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/streamer/router/StreamerCacheAffinityEventRouter.java
 
b/modules/core/src/main/java/org/apache/ignite/streamer/router/StreamerCacheAffinityEventRouter.java
index 8cb3996..ddc8059 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/streamer/router/StreamerCacheAffinityEventRouter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/streamer/router/StreamerCacheAffinityEventRouter.java
@@ -18,9 +18,9 @@
 package org.apache.ignite.streamer.router;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.resources.*;
 import org.apache.ignite.streamer.*;
 import org.jetbrains.annotations.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/main/java/org/apache/ignite/transactions/TransactionSynchronization.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/transactions/TransactionSynchronization.java
 
b/modules/core/src/main/java/org/apache/ignite/transactions/TransactionSynchronization.java
index 6e88876..01d24d5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/transactions/TransactionSynchronization.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/transactions/TransactionSynchronization.java
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.*;
 /**
  * Synchronization callback for transaction. You can subscribe to receive 
transaction
  * state change callbacks by registering transaction synchronization via
- * {@link 
org.apache.ignite.cache.GridCache#txSynchronize(TransactionSynchronization)} 
method.
+ * {@link 
org.apache.ignite.internal.processors.cache.GridCache#txSynchronize(TransactionSynchronization)}
 method.
  */
 public interface TransactionSynchronization {
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerSelfTest.java
index b51db0c..2112712 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerSelfTest.java
@@ -20,6 +20,7 @@ package org.apache.ignite.igfs;
 import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.igfs.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 8def3a3..5adcd4a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -71,8 +71,8 @@ public abstract class GridCacheAbstractFullApiSelfTest 
extends GridCacheAbstract
     };
 
     /** Increment processor for invoke operations with IgniteEntryProcessor. */
-    public static final IgniteEntryProcessor<String, Integer, String> 
INCR_IGNITE_PROCESSOR =
-        new IgniteEntryProcessor<String, Integer, String>() {
+    public static final CacheEntryProcessor<String, Integer, String> 
INCR_IGNITE_PROCESSOR =
+        new CacheEntryProcessor<String, Integer, String>() {
             @Override public String process(MutableEntry<String, Integer> e, 
Object... args) {
                 return INCR_PROCESSOR.process(e, args);
             }
@@ -92,8 +92,8 @@ public abstract class GridCacheAbstractFullApiSelfTest 
extends GridCacheAbstract
     };
 
     /** Increment processor for invoke operations with IgniteEntryProcessor. */
-    public static final IgniteEntryProcessor<String, Integer, String> 
RMV_IGNITE_PROCESSOR =
-        new IgniteEntryProcessor<String, Integer, String>() {
+    public static final CacheEntryProcessor<String, Integer, String> 
RMV_IGNITE_PROCESSOR =
+        new CacheEntryProcessor<String, Integer, String>() {
             @Override public String process(MutableEntry<String, Integer> e, 
Object... args) {
                 return RMV_PROCESSOR.process(e, args);
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
index 33b564d..9aaf2db 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -36,7 +35,7 @@ import static 
org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
 import static org.apache.ignite.internal.processors.cache.GridCacheAdapter.*;
 
 /**
- * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} operations in 
multinode environment with nodes having caches with different names.
+ * Test {@link GridCache#clearLocally()} operations in multinode environment 
with nodes having caches with different names.
  */
 public class GridCacheClearLocalySelfTest extends GridCommonAbstractTest {
     /** Local cache. */
@@ -149,7 +148,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} on LOCAL 
cache with no split.
+     * Test {@link GridCache#clearLocally()} on LOCAL cache with no split.
      *
      * @throws Exception If failed.
      */
@@ -158,7 +157,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} on LOCAL 
cache with split.
+     * Test {@link GridCache#clearLocally()} on LOCAL cache with split.
      *
      * @throws Exception If failed.
      */
@@ -167,7 +166,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} on 
PARTITIONED cache with no split.
+     * Test {@link GridCache#clearLocally()} on PARTITIONED cache with no 
split.
      *
      * @throws Exception If failed.
      */
@@ -176,7 +175,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} on 
PARTITIONED cache with split.
+     * Test {@link GridCache#clearLocally()} on PARTITIONED cache with split.
      *
      * @throws Exception If failed.
      */
@@ -185,7 +184,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} on 
co-located cache with no split.
+     * Test {@link GridCache#clearLocally()} on co-located cache with no split.
      *
      * @throws Exception If failed.
      */
@@ -194,7 +193,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} on 
co-located cache with split.
+     * Test {@link GridCache#clearLocally()} on co-located cache with split.
      *
      * @throws Exception If failed.
      */
@@ -203,7 +202,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} on 
REPLICATED cache with no split.
+     * Test {@link GridCache#clearLocally()} on REPLICATED cache with no split.
      *
      * @throws Exception If failed.
      */
@@ -212,7 +211,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Test {@link org.apache.ignite.cache.GridCache#clearLocally()} on 
REPLICATED cache with split.
+     * Test {@link GridCache#clearLocally()} on REPLICATED cache with split.
      *
      * @throws Exception If failed.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
index 2d7c3dd..69eb04d 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal.processors.cache;
 
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.query.annotations.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOnCopyFlagAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOnCopyFlagAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOnCopyFlagAbstractSelfTest.java
index ea846dd..3d34cd7 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOnCopyFlagAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOnCopyFlagAbstractSelfTest.java
@@ -652,7 +652,7 @@ public abstract class GridCacheOnCopyFlagAbstractSelfTest 
extends GridCacheAbstr
     /**
      *
      */
-    @IgniteImmutable
+    @CacheImmutable
     public static class TestImmutableKey extends TestKey {
         /**
          *
@@ -673,7 +673,7 @@ public abstract class GridCacheOnCopyFlagAbstractSelfTest 
extends GridCacheAbstr
     /**
      *
      */
-    @IgniteImmutable
+    @CacheImmutable
     public static class TestImmutableValue {
         /** */
         public int val;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheReturnValueTransferSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheReturnValueTransferSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheReturnValueTransferSelfTest.java
index c4fa1f5..22bd5fd 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheReturnValueTransferSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheReturnValueTransferSelfTest.java
@@ -185,7 +185,7 @@ public class GridCacheReturnValueTransferSelfTest extends 
GridCommonAbstractTest
     /**
      *
      */
-    @IgniteImmutable
+    @CacheImmutable
     private static class TestObject implements Externalizable {
         /**
          *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
index 1ed4657..a0119ed 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
@@ -22,6 +22,7 @@ import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.transactions.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePreloadRestartAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePreloadRestartAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePreloadRestartAbstractSelfTest.java
index 64d3e1f..cda65d5 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePreloadRestartAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePreloadRestartAbstractSelfTest.java
@@ -22,6 +22,7 @@ import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.affinity.*;
 import org.apache.ignite.cache.affinity.rendezvous.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
index 0e9bb64..0e139cb 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.processors.cache.distributed;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.testframework.junits.common.*;
 import org.apache.ignite.transactions.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b3d5eb60/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
index c5a8442..2e4d42b 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
@@ -24,6 +24,7 @@ import org.apache.ignite.cache.affinity.rendezvous.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
+import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;

Reply via email to