http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/apache/ignite/portables/PortableRawReader.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/portables/PortableRawReader.java 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableRawReader.java
new file mode 100644
index 0000000..a4fe957
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableRawReader.java
@@ -0,0 +1,214 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.portables;
+
+import org.jetbrains.annotations.*;
+
+import java.sql.*;
+import java.util.*;
+import java.util.Date;
+
+/**
+ * Raw reader for portable objects. Raw reader does not use field name hash 
codes, therefore,
+ * making the format even more compact. However, if the raw reader is used,
+ * dynamic structure changes to the portable objects are not supported.
+ */
+public interface PortableRawReader {
+    /**
+     * @return Byte value.
+     * @throws PortableException In case of error.
+     */
+    public byte readByte() throws PortableException;
+
+    /**
+     * @return Short value.
+     * @throws PortableException In case of error.
+     */
+    public short readShort() throws PortableException;
+
+    /**
+     * @return Integer value.
+     * @throws PortableException In case of error.
+     */
+    public int readInt() throws PortableException;
+
+    /**
+     * @return Long value.
+     * @throws PortableException In case of error.
+     */
+    public long readLong() throws PortableException;
+
+    /**
+     * @return Float value.
+     * @throws PortableException In case of error.
+     */
+    public float readFloat() throws PortableException;
+
+    /**
+     * @return Double value.
+     * @throws PortableException In case of error.
+     */
+    public double readDouble() throws PortableException;
+
+    /**
+     * @return Char value.
+     * @throws PortableException In case of error.
+     */
+    public char readChar() throws PortableException;
+
+    /**
+     * @return Boolean value.
+     * @throws PortableException In case of error.
+     */
+    public boolean readBoolean() throws PortableException;
+
+    /**
+     * @return String value.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public String readString() throws PortableException;
+
+    /**
+     * @return UUID.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public UUID readUuid() throws PortableException;
+
+    /**
+     * @return Date.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Date readDate() throws PortableException;
+
+    /**
+     * @return Timestamp.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Timestamp readTimestamp() throws PortableException;
+
+    /**
+     * @return Object.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Object readObject() throws PortableException;
+
+    /**
+     * @return Byte array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public byte[] readByteArray() throws PortableException;
+
+    /**
+     * @return Short array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public short[] readShortArray() throws PortableException;
+
+    /**
+     * @return Integer array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public int[] readIntArray() throws PortableException;
+
+    /**
+     * @return Long array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public long[] readLongArray() throws PortableException;
+
+    /**
+     * @return Float array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public float[] readFloatArray() throws PortableException;
+
+    /**
+     * @return Byte array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public double[] readDoubleArray() throws PortableException;
+
+    /**
+     * @return Char array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public char[] readCharArray() throws PortableException;
+
+    /**
+     * @return Boolean array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public boolean[] readBooleanArray() throws PortableException;
+
+    /**
+     * @return String array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public String[] readStringArray() throws PortableException;
+
+    /**
+     * @return UUID array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public UUID[] readUuidArray() throws PortableException;
+
+    /**
+     * @return Date array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Date[] readDateArray() throws PortableException;
+
+    /**
+     * @return Object array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Object[] readObjectArray() throws PortableException;
+
+    /**
+     * @return Collection.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T> Collection<T> readCollection() throws 
PortableException;
+
+    /**
+     * @param colCls Collection class.
+     * @return Collection.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T> Collection<T> readCollection(Class<? extends 
Collection<T>> colCls)
+        throws PortableException;
+
+    /**
+     * @return Map.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <K, V> Map<K, V> readMap() throws PortableException;
+
+    /**
+     * @param mapCls Map class.
+     * @return Map.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <K, V> Map<K, V> readMap(Class<? extends Map<K, V>> 
mapCls) throws PortableException;
+
+    /**
+     * @param enumCls Enum class.
+     * @return Value.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T extends Enum<?>> T readEnum(Class<T> enumCls) throws 
PortableException;
+
+    /**
+     * @param enumCls Enum class.
+     * @return Value.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T extends Enum<?>> T[] readEnumArray(Class<T> enumCls) 
throws PortableException;
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/apache/ignite/portables/PortableRawWriter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/portables/PortableRawWriter.java 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableRawWriter.java
new file mode 100644
index 0000000..f3c884b
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableRawWriter.java
@@ -0,0 +1,197 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.portables;
+
+import org.jetbrains.annotations.*;
+
+import java.sql.*;
+import java.util.*;
+import java.util.Date;
+
+/**
+ * Raw writer for portable object. Raw writer does not write field name hash 
codes, therefore,
+ * making the format even more compact. However, if the raw writer is used,
+ * dynamic structure changes to the portable objects are not supported.
+ */
+public interface PortableRawWriter {
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeByte(byte val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeShort(short val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeInt(int val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeLong(long val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeFloat(float val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeDouble(double val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeChar(char val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeBoolean(boolean val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeString(@Nullable String val) throws PortableException;
+
+    /**
+     * @param val UUID to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeUuid(@Nullable UUID val) throws PortableException;
+
+    /**
+     * @param val Date to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeDate(@Nullable Date val) throws PortableException;
+
+    /**
+     * @param val Timestamp to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeTimestamp(@Nullable Timestamp val) throws 
PortableException;
+
+    /**
+     * @param obj Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeObject(@Nullable Object obj) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeByteArray(@Nullable byte[] val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeShortArray(@Nullable short[] val) throws 
PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeIntArray(@Nullable int[] val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeLongArray(@Nullable long[] val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeFloatArray(@Nullable float[] val) throws 
PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeDoubleArray(@Nullable double[] val) throws 
PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeCharArray(@Nullable char[] val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeBooleanArray(@Nullable boolean[] val) throws 
PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeStringArray(@Nullable String[] val) throws 
PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeUuidArray(@Nullable UUID[] val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeDateArray(@Nullable Date[] val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeObjectArray(@Nullable Object[] val) throws 
PortableException;
+
+    /**
+     * @param col Collection to write.
+     * @throws PortableException In case of error.
+     */
+    public <T> void writeCollection(@Nullable Collection<T> col) throws 
PortableException;
+
+    /**
+     * @param map Map to write.
+     * @throws PortableException In case of error.
+     */
+    public <K, V> void writeMap(@Nullable Map<K, V> map) throws 
PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public <T extends Enum<?>> void writeEnum(T val) throws PortableException;
+
+    /**
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public <T extends Enum<?>> void writeEnumArray(T[] val) throws 
PortableException;
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/apache/ignite/portables/PortableReader.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/portables/PortableReader.java 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableReader.java
new file mode 100644
index 0000000..5cef5a3
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/portables/PortableReader.java
@@ -0,0 +1,263 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.portables;
+
+import org.jetbrains.annotations.*;
+
+import java.sql.*;
+import java.util.*;
+import java.util.Date;
+
+/**
+ * Reader for portable objects used in {@link PortableMarshalAware} 
implementations.
+ * Useful for the cases when user wants a fine-grained control over 
serialization.
+ * <p>
+ * Note that GridGain never writes full strings for field or type names. 
Instead,
+ * for performance reasons, GridGain writes integer hash codes for type and 
field names.
+ * It has been tested that hash code conflicts for the type names or the field 
names
+ * within the same type are virtually non-existent and, to gain performance, 
it is safe
+ * to work with hash codes. For the cases when hash codes for different types 
or fields
+ * actually do collide, GridGain provides {@link PortableIdMapper} which
+ * allows to override the automatically generated hash code IDs for the type 
and field names.
+ */
+public interface PortableReader {
+    /**
+     * @param fieldName Field name.
+     * @return Byte value.
+     * @throws PortableException In case of error.
+     */
+    public byte readByte(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Short value.
+     * @throws PortableException In case of error.
+     */
+    public short readShort(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Integer value.
+     * @throws PortableException In case of error.
+     */
+    public int readInt(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Long value.
+     * @throws PortableException In case of error.
+     */
+    public long readLong(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @throws PortableException In case of error.
+     * @return Float value.
+     */
+    public float readFloat(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Double value.
+     * @throws PortableException In case of error.
+     */
+    public double readDouble(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Char value.
+     * @throws PortableException In case of error.
+     */
+    public char readChar(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Boolean value.
+     * @throws PortableException In case of error.
+     */
+    public boolean readBoolean(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return String value.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public String readString(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return UUID.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public UUID readUuid(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Date.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Date readDate(String fieldName) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Timestamp.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Timestamp readTimestamp(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Object.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T> T readObject(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Byte array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public byte[] readByteArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Short array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public short[] readShortArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Integer array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public int[] readIntArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Long array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public long[] readLongArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Float array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public float[] readFloatArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Byte array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public double[] readDoubleArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Char array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public char[] readCharArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Boolean array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public boolean[] readBooleanArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return String array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public String[] readStringArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return UUID array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public UUID[] readUuidArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Date array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Date[] readDateArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Object array.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public Object[] readObjectArray(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Collection.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T> Collection<T> readCollection(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param colCls Collection class.
+     * @return Collection.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T> Collection<T> readCollection(String fieldName, 
Class<? extends Collection<T>> colCls)
+        throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @return Map.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <K, V> Map<K, V> readMap(String fieldName) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param mapCls Map class.
+     * @return Map.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <K, V> Map<K, V> readMap(String fieldName, Class<? 
extends Map<K, V>> mapCls)
+        throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param enumCls Enum class.
+     * @return Value.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T extends Enum<?>> T readEnum(String fieldName, Class<T> 
enumCls) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param enumCls Enum class.
+     * @return Value.
+     * @throws PortableException In case of error.
+     */
+    @Nullable public <T extends Enum<?>> T[] readEnumArray(String fieldName, 
Class<T> enumCls)
+        throws PortableException;
+
+    /**
+     * Gets raw reader. Raw reader does not use field name hash codes, 
therefore,
+     * making the format even more compact. However, if the raw reader is used,
+     * dynamic structure changes to the portable objects are not supported.
+     *
+     * @return Raw reader.
+     */
+    public PortableRawReader rawReader();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/apache/ignite/portables/PortableSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/portables/PortableSerializer.java
 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableSerializer.java
new file mode 100644
index 0000000..8ebe14e
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableSerializer.java
@@ -0,0 +1,39 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.portables;
+
+/**
+ * Interface that allows to implement custom serialization logic for portable 
objects.
+ * Can be used instead of {@link PortableMarshalAware} in case if the class
+ * cannot be changed directly.
+ * <p>
+ * Portable serializer can be configured for all portable objects via
+ * {@link PortableConfiguration#getSerializer()} method, or for a specific
+ * portable type via {@link PortableTypeConfiguration#getSerializer()} method.
+ */
+public interface PortableSerializer {
+    /**
+     * Writes fields to provided writer.
+     *
+     * @param obj Empty object.
+     * @param writer Portable object writer.
+     * @throws PortableException In case of error.
+     */
+    public void writePortable(Object obj, PortableWriter writer) throws 
PortableException;
+
+    /**
+     * Reads fields from provided reader.
+     *
+     * @param obj Empty object
+     * @param reader Portable object reader.
+     * @throws PortableException In case of error.
+     */
+    public void readPortable(Object obj, PortableReader reader) throws 
PortableException;
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/apache/ignite/portables/PortableTypeConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/portables/PortableTypeConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableTypeConfiguration.java
new file mode 100644
index 0000000..e1e33e1
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableTypeConfiguration.java
@@ -0,0 +1,187 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.portables;
+
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.sql.*;
+
+/**
+ * Defines configuration properties for a specific portable type. Providing 
per-type
+ * configuration is optional, as it is generally enough to provide global
+ * portable configuration in {@link PortableConfiguration} instance. However,
+ * this class allows you to change configuration properties for a specific
+ * portable type without affecting configuration for other portable types.
+ * <p>
+ * Per-type portable configuration can be specified in
+ * {@link PortableConfiguration#getTypeConfigurations()} method.
+ */
+public class PortableTypeConfiguration {
+    /** Class name. */
+    private String clsName;
+
+    /** ID mapper. */
+    private PortableIdMapper idMapper;
+
+    /** Serializer. */
+    private PortableSerializer serializer;
+
+    /** Use timestamp flag. */
+    private Boolean useTs;
+
+    /** Meta data enabled flag. */
+    private Boolean metaDataEnabled;
+
+    /** Keep deserialized flag. */
+    private Boolean keepDeserialized;
+
+    /** Affinity key field name. */
+    private String affKeyFieldName;
+
+    /**
+     */
+    public PortableTypeConfiguration() {
+        // No-op.
+    }
+
+    /**
+     * @param clsName Class name.
+     */
+    public PortableTypeConfiguration(String clsName) {
+        this.clsName = clsName;
+    }
+
+    /**
+     * Gets type name.
+     *
+     * @return Type name.
+     */
+    public String getClassName() {
+        return clsName;
+    }
+
+    /**
+     * Sets type name.
+     *
+     * @param clsName Type name.
+     */
+    public void setClassName(String clsName) {
+        this.clsName = clsName;
+    }
+
+    /**
+     * Gets ID mapper.
+     *
+     * @return ID mapper.
+     */
+    public PortableIdMapper getIdMapper() {
+        return idMapper;
+    }
+
+    /**
+     * Sets ID mapper.
+     *
+     * @param idMapper ID mapper.
+     */
+    public void setIdMapper(PortableIdMapper idMapper) {
+        this.idMapper = idMapper;
+    }
+
+    /**
+     * Gets serializer.
+     *
+     * @return Serializer.
+     */
+    public PortableSerializer getSerializer() {
+        return serializer;
+    }
+
+    /**
+     * Sets serializer.
+     *
+     * @param serializer Serializer.
+     */
+    public void setSerializer(PortableSerializer serializer) {
+        this.serializer = serializer;
+    }
+
+    /**
+     * If {@code true} then date values converted to {@link Timestamp} during 
unmarshalling.
+     *
+     * @return Flag indicating whether date values converted to {@link 
Timestamp} during unmarshalling.
+     */
+    public Boolean isUseTimestamp() {
+        return useTs;
+    }
+
+    /**
+     * @param useTs Flag indicating whether date values converted to {@link 
Timestamp} during unmarshalling.
+     */
+    public void setUseTimestamp(Boolean useTs) {
+        this.useTs = useTs;
+    }
+
+    /**
+     * Defines whether meta data is collected for this type. If provided, this 
value will override
+     * {@link PortableConfiguration#isMetaDataEnabled()} property.
+     *
+     * @return Whether meta data is collected.
+     */
+    public Boolean isMetaDataEnabled() {
+        return metaDataEnabled;
+    }
+
+    /**
+     * @param metaDataEnabled Whether meta data is collected.
+     */
+    public void setMetaDataEnabled(Boolean metaDataEnabled) {
+        this.metaDataEnabled = metaDataEnabled;
+    }
+
+    /**
+     * Defines whether {@link PortableObject} should cache deserialized 
instance. If provided,
+     * this value will override {@link 
PortableConfiguration#isKeepDeserialized()} property.
+     *
+     * @return Whether deserialized value is kept.
+     */
+    public Boolean isKeepDeserialized() {
+        return keepDeserialized;
+    }
+
+    /**
+     * @param keepDeserialized Whether deserialized value is kept.
+     */
+    public void setKeepDeserialized(Boolean keepDeserialized) {
+        this.keepDeserialized = keepDeserialized;
+    }
+
+    /**
+     * Gets affinity key field name.
+     *
+     * @return Affinity key field name.
+     */
+    public String getAffinityKeyFieldName() {
+        return affKeyFieldName;
+    }
+
+    /**
+     * Sets affinity key field name.
+     *
+     * @param affKeyFieldName Affinity key field name.
+     */
+    public void setAffinityKeyFieldName(String affKeyFieldName) {
+        this.affKeyFieldName = affKeyFieldName;
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(PortableTypeConfiguration.class, this, 
super.toString());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/apache/ignite/portables/PortableWriter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/portables/PortableWriter.java 
b/modules/core/src/main/java/org/apache/ignite/portables/PortableWriter.java
new file mode 100644
index 0000000..d29ef3d
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/portables/PortableWriter.java
@@ -0,0 +1,242 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.portables;
+
+import org.jetbrains.annotations.*;
+
+import java.sql.*;
+import java.util.*;
+import java.util.Date;
+
+/**
+ * Writer for portable object used in {@link PortableMarshalAware} 
implementations.
+ * Useful for the cases when user wants a fine-grained control over 
serialization.
+ * <p>
+ * Note that GridGain never writes full strings for field or type names. 
Instead,
+ * for performance reasons, GridGain writes integer hash codes for type and 
field names.
+ * It has been tested that hash code conflicts for the type names or the field 
names
+ * within the same type are virtually non-existent and, to gain performance, 
it is safe
+ * to work with hash codes. For the cases when hash codes for different types 
or fields
+ * actually do collide, GridGain provides {@link PortableIdMapper} which
+ * allows to override the automatically generated hash code IDs for the type 
and field names.
+ */
+public interface PortableWriter {
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeByte(String fieldName, byte val) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeShort(String fieldName, short val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeInt(String fieldName, int val) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeLong(String fieldName, long val) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeFloat(String fieldName, float val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeDouble(String fieldName, double val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeChar(String fieldName, char val) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeBoolean(String fieldName, boolean val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeString(String fieldName, @Nullable String val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val UUID to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeUuid(String fieldName, @Nullable UUID val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Date to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeDate(String fieldName, @Nullable Date val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Timestamp to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeTimestamp(String fieldName, @Nullable Timestamp val) 
throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param obj Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeObject(String fieldName, @Nullable Object obj) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeByteArray(String fieldName, @Nullable byte[] val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeShortArray(String fieldName, @Nullable short[] val) 
throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeIntArray(String fieldName, @Nullable int[] val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeLongArray(String fieldName, @Nullable long[] val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeFloatArray(String fieldName, @Nullable float[] val) 
throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeDoubleArray(String fieldName, @Nullable double[] val) 
throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeCharArray(String fieldName, @Nullable char[] val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeBooleanArray(String fieldName, @Nullable boolean[] val) 
throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeStringArray(String fieldName, @Nullable String[] val) 
throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeUuidArray(String fieldName, @Nullable UUID[] val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeDateArray(String fieldName, @Nullable Date[] val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public void writeObjectArray(String fieldName, @Nullable Object[] val) 
throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param col Collection to write.
+     * @throws PortableException In case of error.
+     */
+    public <T> void writeCollection(String fieldName, @Nullable Collection<T> 
col) throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param map Map to write.
+     * @throws PortableException In case of error.
+     */
+    public <K, V> void writeMap(String fieldName, @Nullable Map<K, V> map) 
throws PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public <T extends Enum<?>> void writeEnum(String fieldName, T val) throws 
PortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws PortableException In case of error.
+     */
+    public <T extends Enum<?>> void writeEnumArray(String fieldName, T[] val) 
throws PortableException;
+
+    /**
+     * Gets raw writer. Raw writer does not write field name hash codes, 
therefore,
+     * making the format even more compact. However, if the raw writer is used,
+     * dynamic structure changes to the portable objects are not supported.
+     *
+     * @return Raw writer.
+     */
+    public PortableRawWriter rawWriter();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java 
b/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java
index 263ed17..b56e888 100644
--- a/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java
+++ b/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java
@@ -35,7 +35,7 @@ public enum GridClientCacheFlag {
      * Disable deserialization of portable objects on get operations.
      * If set and portable marshaller is used, {@link 
GridClientData#get(Object)}
      * and {@link GridClientData#getAll(Collection)} methods will return
-     * instances of {@link org.apache.ignite.portables.GridPortableObject} 
class instead of user objects.
+     * instances of {@link org.apache.ignite.portables.PortableObject} class 
instead of user objects.
      * Use this flag if you don't have corresponding class on your client of
      * if you want to get access to some individual fields, but do not want to
      * fully deserialize the object.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
index 79da6ad..2875721 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
@@ -1788,7 +1788,7 @@ public class GridCacheConfiguration {
 
     /**
      * Flag indicating whether GridGain should store portable keys and values
-     * as instances of {@link org.apache.ignite.portables.GridPortableObject}.
+     * as instances of {@link org.apache.ignite.portables.PortableObject}.
      *
      * @return Portable enabled flag.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
index 3b402a0..b3cdf0a 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
@@ -278,7 +278,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * so keys and values will be returned from cache API methods without 
changes. Therefore,
      * signature of the projection can contain only following types:
      * <ul>
-     *     <li>{@link org.apache.ignite.portables.GridPortableObject} for 
portable classes</li>
+     *     <li>{@link org.apache.ignite.portables.PortableObject} for portable 
classes</li>
      *     <li>All primitives (byte, int, ...) and there boxed versions (Byte, 
Integer, ...)</li>
      *     <li>Arrays of primitives (byte[], int[], ...)</li>
      *     <li>{@link String} and array of {@link String}s</li>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
index 2bdbb7a..ba1be4f 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
@@ -57,7 +57,7 @@ import java.util.Date;
  * </pre>
  * <h1 class="header">Working With Portable Objects</h1>
  * When portables are enabled for cache by setting {@link 
GridCacheConfiguration#isPortableEnabled()} to
- * {@code true}), all portable keys and values are converted to instances of 
{@link org.apache.ignite.portables.GridPortableObject}.
+ * {@code true}), all portable keys and values are converted to instances of 
{@link org.apache.ignite.portables.PortableObject}.
  * Therefore, all cache store methods will take parameters in portable format. 
To avoid class
  * cast exceptions, store must have signature compatible with portables. E.g., 
if you use {@link Integer}
  * as a key and {@code Value} class as a value (which will be converted to 
portable format), cache store
@@ -71,7 +71,7 @@ import java.util.Date;
  *     ...
  * }
  * </pre>
- * Note that only portable classes are converted to {@link 
org.apache.ignite.portables.GridPortableObject} format. Following
+ * Note that only portable classes are converted to {@link 
org.apache.ignite.portables.PortableObject} format. Following
  * types are stored in cache without changes and therefore should not affect 
cache store signature:
  * <ul>
  *     <li>All primitives (byte, int, ...) and there boxed versions (Byte, 
Integer, ...)</li>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
index fcc83ac..524b528 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
@@ -73,16 +73,16 @@ public class GridDotNetConfiguration implements 
PortableMarshalAware {
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
-        GridPortableRawWriter rawWriter = writer.rawWriter();
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
+        PortableRawWriter rawWriter = writer.rawWriter();
 
         rawWriter.writeObject(portableCfg);
         rawWriter.writeCollection(assemblies);
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
-        GridPortableRawReader rawReader = reader.rawReader();
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
+        PortableRawReader rawReader = reader.rawReader();
 
         portableCfg = (GridDotNetPortableConfiguration)rawReader.readObject();
         assemblies = (List<String>)rawReader.<String>readCollection();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
index cbe2348..b012220 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
@@ -167,8 +167,8 @@ public class GridDotNetPortableConfiguration implements 
PortableMarshalAware {
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
-        GridPortableRawWriter rawWriter = writer.rawWriter();
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
+        PortableRawWriter rawWriter = writer.rawWriter();
 
         rawWriter.writeCollection(typesCfg);
 
@@ -186,8 +186,8 @@ public class GridDotNetPortableConfiguration implements 
PortableMarshalAware {
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
-        GridPortableRawReader rawReader = reader.rawReader();
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
+        PortableRawReader rawReader = reader.rawReader();
 
         typesCfg = rawReader.readCollection();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
index a984966..3dd475f 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
@@ -175,8 +175,8 @@ public class GridDotNetPortableTypeConfiguration implements 
PortableMarshalAware
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
-        GridPortableRawWriter rawWriter = writer.rawWriter();
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
+        PortableRawWriter rawWriter = writer.rawWriter();
 
         rawWriter.writeString(assemblyName);
 
@@ -196,8 +196,8 @@ public class GridDotNetPortableTypeConfiguration implements 
PortableMarshalAware
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
-        GridPortableRawReader rawReader = reader.rawReader();
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
+        PortableRawReader rawReader = reader.rawReader();
 
         assemblyName = rawReader.readString();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java 
b/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java
index 5bdf615..8e217a3 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java
@@ -84,7 +84,7 @@ public class GridPortablesImpl implements IgnitePortables {
     }
 
     /** {@inheritDoc} */
-    @Override public PortableBuilder builder(GridPortableObject portableObj) {
+    @Override public PortableBuilder builder(PortableObject portableObj) {
         guard();
 
         try {
@@ -96,7 +96,7 @@ public class GridPortablesImpl implements IgnitePortables {
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public GridPortableMetadata metadata(Class<?> cls) 
throws PortableException {
+    @Nullable @Override public PortableMetadata metadata(Class<?> cls) throws 
PortableException {
         guard();
 
         try {
@@ -108,7 +108,7 @@ public class GridPortablesImpl implements IgnitePortables {
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public GridPortableMetadata metadata(String typeName) 
throws PortableException {
+    @Nullable @Override public PortableMetadata metadata(String typeName) 
throws PortableException {
         guard();
 
         try {
@@ -120,7 +120,7 @@ public class GridPortablesImpl implements IgnitePortables {
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public GridPortableMetadata metadata(int typeId) 
throws PortableException {
+    @Nullable @Override public PortableMetadata metadata(int typeId) throws 
PortableException {
         guard();
 
         try {
@@ -132,7 +132,7 @@ public class GridPortablesImpl implements IgnitePortables {
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridPortableMetadata> metadata() throws 
PortableException {
+    @Override public Collection<PortableMetadata> metadata() throws 
PortableException {
         guard();
 
         try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
index 02104ee..ef92518 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
@@ -326,8 +326,8 @@ public class GridIndexingManager extends 
GridManagerAdapter<GridIndexingSpi> {
             }
 
             if (id == null) {
-                if (val instanceof GridPortableObject) {
-                    GridPortableObject portable = (GridPortableObject)val;
+                if (val instanceof PortableObject) {
+                    PortableObject portable = (PortableObject)val;
 
                     int typeId = portable.typeId();
 
@@ -361,8 +361,8 @@ public class GridIndexingManager extends 
GridManagerAdapter<GridIndexingSpi> {
                         d.keyClass(keyCls);
                         d.valueClass(valCls);
 
-                        if (key instanceof GridPortableObject) {
-                            GridPortableObject portableKey = 
(GridPortableObject)key;
+                        if (key instanceof PortableObject) {
+                            PortableObject portableKey = (PortableObject)key;
 
                             String typeName = 
portableName(portableKey.typeId());
 
@@ -382,8 +382,8 @@ public class GridIndexingManager extends 
GridManagerAdapter<GridIndexingSpi> {
                                 processClassMeta(true, d.keyCls, keyMeta, d);
                         }
 
-                        if (val instanceof GridPortableObject) {
-                            GridPortableObject portableVal = 
(GridPortableObject)val;
+                        if (val instanceof PortableObject) {
+                            PortableObject portableVal = (PortableObject)val;
 
                             String typeName = 
portableName(portableVal.typeId());
 
@@ -1341,12 +1341,12 @@ public class GridIndexingManager extends 
GridManagerAdapter<GridIndexingSpi> {
             if (obj == null)
                 return null;
 
-            if (!(obj instanceof GridPortableObject))
+            if (!(obj instanceof PortableObject))
                 throw new GridSpiException("Non-portable object received as a 
result of property extraction " +
                     "[parent=" + parent + ", propName=" + propName + ", obj=" 
+ obj + ']');
 
             try {
-                return ((GridPortableObject)obj).field(propName);
+                return ((PortableObject)obj).field(propName);
             }
             catch (PortableException e) {
                 throw new GridSpiException(e);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index d10beaa..7f88e83 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -408,7 +408,7 @@ public abstract class GridCacheAdapter<K, V> extends 
GridMetadataAwareAdapter im
         Class<? super K1> keyType,
         Class<? super V1> valType
     ) {
-        if (GridPortableObject.class.isAssignableFrom(keyType) || 
GridPortableObject.class.isAssignableFrom(valType))
+        if (PortableObject.class.isAssignableFrom(keyType) || 
PortableObject.class.isAssignableFrom(valType))
             throw new IllegalStateException("Failed to create cache projection 
for portable objects. " +
                 "Use keepPortable() method instead.");
 
@@ -645,8 +645,8 @@ public abstract class GridCacheAdapter<K, V> extends 
GridMetadataAwareAdapter im
                 if (peek != null) {
                     V v = peek.get();
 
-                    if (ctx.portableEnabled() && !ctx.keepPortable() && v 
instanceof GridPortableObject)
-                        v = ((GridPortableObject)v).deserialize();
+                    if (ctx.portableEnabled() && !ctx.keepPortable() && v 
instanceof PortableObject)
+                        v = ((PortableObject)v).deserialize();
 
                     return F.t(ctx.cloneOnFlag(v));
                 }
@@ -660,8 +660,8 @@ public abstract class GridCacheAdapter<K, V> extends 
GridMetadataAwareAdapter im
                 if (peek != null) {
                     V v = peek.get();
 
-                    if (ctx.portableEnabled() && !ctx.keepPortable() && v 
instanceof GridPortableObject)
-                        v = ((GridPortableObject)v).deserialize();
+                    if (ctx.portableEnabled() && !ctx.keepPortable() && v 
instanceof PortableObject)
+                        v = ((PortableObject)v).deserialize();
 
                     return F.t(ctx.cloneOnFlag(v));
                 }
@@ -1809,8 +1809,8 @@ public abstract class GridCacheAdapter<K, V> extends 
GridMetadataAwareAdapter im
                             else {
                                 val = ctx.cloneOnFlag(val);
 
-                                if (ctx.portableEnabled() && 
deserializePortable && val instanceof GridPortableObject)
-                                    val = 
((GridPortableObject)val).deserialize();
+                                if (ctx.portableEnabled() && 
deserializePortable && val instanceof PortableObject)
+                                    val = ((PortableObject)val).deserialize();
 
                                 map.put(key, val);
 
@@ -3480,8 +3480,8 @@ public abstract class GridCacheAdapter<K, V> extends 
GridMetadataAwareAdapter im
 
         V val = unswapped.value();
 
-        if (ctx.portableEnabled() && deserializePortable && val instanceof 
GridPortableObject)
-            return (V)((GridPortableObject)val).deserialize();
+        if (ctx.portableEnabled() && deserializePortable && val instanceof 
PortableObject)
+            return (V)((PortableObject)val).deserialize();
         else
             return ctx.cloneOnFlag(val);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
index d893403..e62b86d 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
@@ -1578,7 +1578,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
         if (obj == null)
             return null;
 
-        if (obj instanceof GridPortableObject || obj instanceof 
GridCacheInternal)
+        if (obj instanceof PortableObject || obj instanceof GridCacheInternal)
             return obj;
 
         GridPortableProcessor proc = kernalContext().portable();
@@ -1680,16 +1680,16 @@ public class GridCacheContext<K, V> implements 
Externalizable {
 
             boolean unwrapped = false;
 
-            if (key instanceof GridPortableObject) {
-                key = ((GridPortableObject)key).deserialize();
+            if (key instanceof PortableObject) {
+                key = ((PortableObject)key).deserialize();
 
                 unwrapped = true;
             }
 
             Object val = entry.getValue();
 
-            if (val instanceof GridPortableObject) {
-                val = ((GridPortableObject)val).deserialize();
+            if (val instanceof PortableObject) {
+                val = ((PortableObject)val).deserialize();
 
                 unwrapped = true;
             }
@@ -1699,8 +1699,8 @@ public class GridCacheContext<K, V> implements 
Externalizable {
         else {
             if (o instanceof Collection)
                 return unwrapPortablesIfNeeded((Collection<Object>)o, false);
-            else if (o instanceof GridPortableObject)
-                return ((GridPortableObject)o).deserialize();
+            else if (o instanceof PortableObject)
+                return ((PortableObject)o).deserialize();
         }
 
         return o;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
index 86dc530..b69d389 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
@@ -78,11 +78,11 @@ public class GridCacheDefaultAffinityKeyMapper implements 
GridCacheAffinityKeyMa
     @Override public Object affinityKey(Object key) {
         GridArgumentCheck.notNull(key, "key");
 
-        if (key instanceof GridPortableObject) {
-            GridPortableObject po = (GridPortableObject)key;
+        if (key instanceof PortableObject) {
+            PortableObject po = (PortableObject)key;
 
             try {
-                GridPortableMetadata meta = po.metaData();
+                PortableMetadata meta = po.metaData();
 
                 if (meta != null) {
                     String affKeyFieldName = meta.affinityKeyFieldName();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
index f9b89f2..e2fd5a6 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
@@ -390,8 +390,8 @@ public class GridCacheProjectionImpl<K, V> implements 
GridCacheProjectionEx<K, V
     ) {
         A.notNull(keyType, "keyType", valType, "valType");
 
-        if (!keepPortable && 
(GridPortableObject.class.isAssignableFrom(keyType) ||
-            GridPortableObject.class.isAssignableFrom(valType)))
+        if (!keepPortable && (PortableObject.class.isAssignableFrom(keyType) ||
+            PortableObject.class.isAssignableFrom(valType)))
             throw new IllegalStateException("Failed to create cache projection 
for portable objects. " +
                 "Use keepPortable() method instead.");
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index 9e4ff88..26b85cb 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -1051,8 +1051,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> 
extends GridCacheTxAdapter<K
                         if (val != null) {
                             V val0 = val;
 
-                            if (cacheCtx.portableEnabled() && 
deserializePortable && val instanceof GridPortableObject)
-                                val0 = ((GridPortableObject)val).deserialize();
+                            if (cacheCtx.portableEnabled() && 
deserializePortable && val instanceof PortableObject)
+                                val0 = ((PortableObject)val).deserialize();
 
                             map.put(key, val0);
                         }
@@ -1090,8 +1090,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> 
extends GridCacheTxAdapter<K
 
                                     V val0 = val;
 
-                                    if (cacheCtx.portableEnabled() && 
deserializePortable && val instanceof GridPortableObject)
-                                        val0 = 
((GridPortableObject)val).deserialize();
+                                    if (cacheCtx.portableEnabled() && 
deserializePortable && val instanceof PortableObject)
+                                        val0 = 
((PortableObject)val).deserialize();
 
                                     map.put(key, val0);
                                 }
@@ -1156,8 +1156,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> 
extends GridCacheTxAdapter<K
                             if (val != null) {
                                 V val0 = val;
 
-                                if (cacheCtx.portableEnabled() && 
deserializePortable && val instanceof GridPortableObject)
-                                    val0 = 
((GridPortableObject)val).deserialize();
+                                if (cacheCtx.portableEnabled() && 
deserializePortable && val instanceof PortableObject)
+                                    val0 = ((PortableObject)val).deserialize();
 
                                 map.put(key, val0);
                             }
@@ -1511,8 +1511,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> 
extends GridCacheTxAdapter<K
                                         }
 
                                         if (cacheCtx.portableEnabled() && 
deserializePortable &&
-                                            val instanceof GridPortableObject)
-                                            val = 
((GridPortableObject)val).deserialize();
+                                            val instanceof PortableObject)
+                                            val = 
((PortableObject)val).deserialize();
 
                                         retMap.put(key, val);
                                     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
index 3060093..6544f3e 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
@@ -416,8 +416,8 @@ public class GridPartitionedGetFuture<K, V> extends 
GridCompoundIdentityFuture<M
                                     colocated.removeIfObsolete(key);
                             }
                             else {
-                                if (cctx.portableEnabled() && 
deserializePortable && v instanceof GridPortableObject)
-                                    v = ((GridPortableObject)v).deserialize();
+                                if (cctx.portableEnabled() && 
deserializePortable && v instanceof PortableObject)
+                                    v = ((PortableObject)v).deserialize();
 
                                 locVals.put(key, v);
 
@@ -499,8 +499,8 @@ public class GridPartitionedGetFuture<K, V> extends 
GridCompoundIdentityFuture<M
 
                     V val = info.value();
 
-                    if (cctx.portableEnabled() && deserializePortable && val 
instanceof GridPortableObject)
-                        val = ((GridPortableObject)val).deserialize();
+                    if (cctx.portableEnabled() && deserializePortable && val 
instanceof PortableObject)
+                        val = ((PortableObject)val).deserialize();
 
                     map.put(info.key(), val);
                 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 0b2d3a7..96d8308 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -743,8 +743,8 @@ public class GridDhtAtomicCache<K, V> extends 
GridDhtCacheAdapter<K, V> {
                                 success = false;
                             }
                             else {
-                                if (ctx.portableEnabled() && 
deserializePortable && v instanceof GridPortableObject)
-                                    v = ((GridPortableObject)v).deserialize();
+                                if (ctx.portableEnabled() && 
deserializePortable && v instanceof PortableObject)
+                                    v = ((PortableObject)v).deserialize();
 
                                 locVals.put(key, v);
                             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index 3899ca6..cd737a8 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@ -261,8 +261,8 @@ public class GridDhtColocatedCache<K, V> extends 
GridDhtTransactionalCacheAdapte
                                 success = false;
                             }
                             else {
-                                if (ctx.portableEnabled() && 
deserializePortable && v instanceof GridPortableObject)
-                                    v = ((GridPortableObject)v).deserialize();
+                                if (ctx.portableEnabled() && 
deserializePortable && v instanceof PortableObject)
+                                    v = ((PortableObject)v).deserialize();
 
                                 locVals.put(key, v);
                             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
index a62b37b..bc4d077 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
@@ -457,8 +457,8 @@ public final class GridNearGetFuture<K, V> extends 
GridCompoundIdentityFuture<Ma
                 }
 
                 if (v != null && !reload) {
-                    if (cctx.portableEnabled() && deserializePortable && v 
instanceof GridPortableObject)
-                        v = ((GridPortableObject)v).deserialize();
+                    if (cctx.portableEnabled() && deserializePortable && v 
instanceof PortableObject)
+                        v = ((PortableObject)v).deserialize();
 
                     add(new GridFinishedFuture<>(cctx.kernalContext(), 
Collections.singletonMap(key, v)));
                 }
@@ -587,8 +587,8 @@ public final class GridNearGetFuture<K, V> extends 
GridCompoundIdentityFuture<Ma
 
                     V val = info.value();
 
-                    if (cctx.portableEnabled() && deserializePortable && val 
instanceof GridPortableObject)
-                        val = ((GridPortableObject)val).deserialize();
+                    if (cctx.portableEnabled() && deserializePortable && val 
instanceof PortableObject)
+                        val = ((PortableObject)val).deserialize();
 
                     map.put(info.key(), val);
                 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
index 51cfe01..3c7f5ab 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
@@ -101,14 +101,14 @@ public interface GridPortableProcessor extends 
GridProcessor {
      * @param portableObj Portable object to edit.
      * @return Portable builder.
      */
-    public PortableBuilder builder(GridPortableObject portableObj);
+    public PortableBuilder builder(PortableObject portableObj);
 
     /**
      * @param typeId Type ID.
      * @param newMeta New meta data.
      * @throws org.apache.ignite.portables.PortableException In case of error.
      */
-    public void addMeta(int typeId, final GridPortableMetadata newMeta) throws 
PortableException;
+    public void addMeta(int typeId, final PortableMetadata newMeta) throws 
PortableException;
 
     /**
      * @param typeId Type ID.
@@ -125,18 +125,18 @@ public interface GridPortableProcessor extends 
GridProcessor {
      * @return Meta data.
      * @throws org.apache.ignite.portables.PortableException In case of error.
      */
-    @Nullable public GridPortableMetadata metadata(int typeId) throws 
PortableException;
+    @Nullable public PortableMetadata metadata(int typeId) throws 
PortableException;
 
     /**
      * @param typeIds Type ID.
      * @return Meta data.
      * @throws org.apache.ignite.portables.PortableException In case of error.
      */
-    public Map<Integer, GridPortableMetadata> metadata(Collection<Integer> 
typeIds) throws PortableException;
+    public Map<Integer, PortableMetadata> metadata(Collection<Integer> 
typeIds) throws PortableException;
 
     /**
      * @return Metadata for all types.
      * @throws org.apache.ignite.portables.PortableException In case of error.
      */
-    public Collection<GridPortableMetadata> metadata() throws 
PortableException;
+    public Collection<PortableMetadata> metadata() throws PortableException;
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
index 0f2f951..afe4cb9 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
@@ -86,12 +86,12 @@ public class GridOsPortableProcessor extends 
GridProcessorAdapter implements Gri
     }
 
     /** {@inheritDoc} */
-    @Override public PortableBuilder builder(GridPortableObject portableObj) {
+    @Override public PortableBuilder builder(PortableObject portableObj) {
         return null;
     }
 
     /** {@inheritDoc} */
-    @Override public void addMeta(int typeId, GridPortableMetadata newMeta) 
throws PortableException {
+    @Override public void addMeta(int typeId, PortableMetadata newMeta) throws 
PortableException {
         // No-op.
     }
 
@@ -102,17 +102,17 @@ public class GridOsPortableProcessor extends 
GridProcessorAdapter implements Gri
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public GridPortableMetadata metadata(int typeId) {
+    @Nullable @Override public PortableMetadata metadata(int typeId) {
         return null;
     }
 
     /** {@inheritDoc} */
-    @Override public Map<Integer, GridPortableMetadata> 
metadata(Collection<Integer> typeIds) {
+    @Override public Map<Integer, PortableMetadata> 
metadata(Collection<Integer> typeIds) {
         return null;
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridPortableMetadata> metadata() throws 
PortableException {
+    @Override public Collection<PortableMetadata> metadata() throws 
PortableException {
         return Collections.emptyList();
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
index 35316dc..8e790e9 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
@@ -88,15 +88,15 @@ public abstract class GridClientAbstractMessage implements 
GridClientMessage, Ex
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
-        GridPortableRawWriter raw = writer.rawWriter();
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
+        PortableRawWriter raw = writer.rawWriter();
 
         raw.writeByteArray(sesTok);
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
-        GridPortableRawReader raw = reader.rawReader();
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
+        PortableRawReader raw = reader.rawReader();
 
         sesTok = raw.readByteArray();
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
index d388b53..a84ade8 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
@@ -53,19 +53,19 @@ public class GridClientAuthenticationRequest extends 
GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
         super.writePortable(writer);
 
-        GridPortableRawWriter raw = writer.rawWriter();
+        PortableRawWriter raw = writer.rawWriter();
 
         raw.writeObject(cred);
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
         super.readPortable(reader);
 
-        GridPortableRawReader raw = reader.rawReader();
+        PortableRawReader raw = reader.rawReader();
 
         cred = raw.readObject();
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
index e05a92c..b3fe36e 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
@@ -316,10 +316,10 @@ public class GridClientCacheQueryRequest extends 
GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
         super.readPortable(reader);
 
-        GridPortableRawReader rawReader = reader.rawReader();
+        PortableRawReader rawReader = reader.rawReader();
 
         qryId = rawReader.readLong();
         op = GridQueryOperation.fromOrdinal(rawReader.readInt());
@@ -338,10 +338,10 @@ public class GridClientCacheQueryRequest extends 
GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
         super.writePortable(writer);
 
-        GridPortableRawWriter rawWriter = writer.rawWriter();
+        PortableRawWriter rawWriter = writer.rawWriter();
 
         rawWriter.writeLong(qryId);
         rawWriter.writeInt(op.ordinal());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
index c2c2e83..c357d25 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
@@ -221,10 +221,10 @@ public class GridClientCacheRequest extends 
GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
         super.writePortable(writer);
 
-        GridPortableRawWriterEx raw = 
(GridPortableRawWriterEx)writer.rawWriter();
+        PortableRawWriterEx raw = (PortableRawWriterEx)writer.rawWriter();
 
         raw.writeInt(op.ordinal());
         raw.writeString(cacheName);
@@ -244,10 +244,10 @@ public class GridClientCacheRequest extends 
GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
         super.readPortable(reader);
 
-        GridPortableRawReaderEx raw = 
(GridPortableRawReaderEx)reader.rawReader();
+        PortableRawReaderEx raw = (PortableRawReaderEx)reader.rawReader();
 
         op = GridCacheOperation.fromOrdinal(raw.readInt());
         cacheName = raw.readString();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
index 6fd6da0..09cb800 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
@@ -32,19 +32,19 @@ public class GridClientGetMetaDataRequest extends 
GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
         super.writePortable(writer);
 
-        GridPortableRawWriter raw = writer.rawWriter();
+        PortableRawWriter raw = writer.rawWriter();
 
         raw.writeCollection(typeIds);
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
         super.readPortable(reader);
 
-        GridPortableRawReader raw = reader.rawReader();
+        PortableRawReader raw = reader.rawReader();
 
         typeIds = raw.readCollection();
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1515c5aa/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
index 01de166..467aa14 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
@@ -73,10 +73,10 @@ public class GridClientLogRequest extends 
GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
-    @Override public void writePortable(GridPortableWriter writer) throws 
PortableException {
+    @Override public void writePortable(PortableWriter writer) throws 
PortableException {
         super.writePortable(writer);
 
-        GridPortableRawWriter raw = writer.rawWriter();
+        PortableRawWriter raw = writer.rawWriter();
 
         raw.writeString(path);
         raw.writeInt(from);
@@ -84,10 +84,10 @@ public class GridClientLogRequest extends 
GridClientAbstractMessage {
     }
 
     /** {@inheritDoc} */
-    @Override public void readPortable(GridPortableReader reader) throws 
PortableException {
+    @Override public void readPortable(PortableReader reader) throws 
PortableException {
         super.readPortable(reader);
 
-        GridPortableRawReader raw = reader.rawReader();
+        PortableRawReader raw = reader.rawReader();
 
         path = raw.readString();
         from = raw.readInt();

Reply via email to